欢迎来到天天文库
浏览记录
ID:47539318
大小:574.02 KB
页数:11页
时间:2020-01-14
《matlab系统辨识》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.(SystemIdentificationTool)系统辨识工具箱早听说matlab博大精深,神通广大了,于是乎我确定肯定有更简单、直观、强大的工具来完成这小儿科把戏。查资料琢磨之后,我做了个小实验,在simulink里验证了该种方法。该方法的大原则是:在确定了系统的输入输出数据(两个列向量N×1形式,如果是1×N,会提示出错!)之后,设计好一定的辨识原则(比如说是2阶?3阶?,传递函数是零极点形式,还是带阻尼形式,等等),然后就交给强大的matlab,得到辨识结果。Stepbystep,plz!Step1、建立模型获取系统输入输出数据图1图1系统的输入是阶跃信号,
2、用Scope1监视,并输出到workspace(这步不会的自己百度哦),采样周期是0.1s,得到输入变量u(101×1的矩阵);本人在系统的阶跃响应上叠加了一白噪声,当然也可以不加噪声,加了噪声就是期望更真实的模拟实际情况,白噪声参数设置见图2word范文.图2同样在Scope2监视,也将结果输出到workspace,得到响应数据y(同样也是101×1的矩阵)Step2、进入辨识工具箱&设置辨识规则直接在commandwindow输入ident,回车,进入辨识工具箱图3图3word范文.点击import下拉菜单,选时域数据timedomaindata,见图4图4在下图
3、5红色圈区域输入之前得到的系统输入和输出数据,u和y图5word范文.在下图6绿色圈内输入数据的一些信息,因为之前模型中,阶跃起点我是放在0s处的,这里也设置0,如果前面模型仿真是1s,这里应该也是1s;采样时间是0.1s,根据实际情况设置统一哦图6设置完之后,点击import此时界面变成图7word范文.图7如果在下图8勾选红框这个选项,就会出现我们刚才设定输入输出数据的曲线,如图9所示,其他勾选项是频域的分析和显示,暂不用它。图8word范文.图9看看与我们实际设置的输入输出是否符合,如果符合,那么我们离成功就不远咯,如果发现异常,那再好好检查一遍,直到确保数据导
4、入没有问题!下面两段红色斜杠之间的内容,对于本实验,可以直接跳过,看一下对后续复杂模型的处理有好处哦,也算全面熟悉一下工具。///////////////////////////////////////////////////////////到这接着选preprocess也就是对数据进行预处理了,下拉菜单中有很多种处理方法和手段,有这个心思的人可以挨个试一下功能。图10word范文.图10预处理的对象是workingdata中的数据,每进行一种预处理在左边就会有新的数据生成,这时只要将新的数据移动到workingdata的那个方框,就可以将workingdata换成你
5、所想处理的数据了,可以这样多次进行处理,得到你最终想用来辨识的数据和用于验证的数据(不需要的数据可以拖到那个trash里面删除,就是回收站了,也可以从回收站中找回的)接下来就是辨识了,首先把辨识用的数据拖到workingdata那个方框,再把验证的数据拖到validationdata那个方框,这个validationdata就是最原始数据稍作处理得到的一个更接近理论模型的对象数据,在这实验里,本人用的就是默认数据,也就是不做任何preprocess处理。//////////////////////////////////////////////////////////
6、/word范文.点下拉菜单estimate,选你想要的模型,在弹出的对话框中设定参数,图11图11这里边的模型种类比较多,有线性的、非线性的、状态空间的、经典传递函数形式的等等,我们所选的就是图中红色方框processmodels,单击。弹出如下界面图12!word范文.是否有零点、有延迟、有积分?根据勾选,传函自动调整极点个数及其他传递函数图12在本实验中,我们做如下设置,见图13红框标出部分。图13word范文.然后点击最下方Estimate,就有模型生成了。图14图14先勾选上图绿色框选项,看到了什么?给出了拟合率,bestfits98.72有木有??传递函数具
7、体的数值,双击上图红色框,见图15?图15word范文.在右边的数据栏中;也就是modelviews中了,下面有很多可以选择,每选一个就可以生成一幅对应的图,是由用于验证的数据生成的。把模型拖到toworkspace那个方框,再去看workspace,多的那个变量就是你所辨识出的模型了注意:在某个模型或某组数据上点一下,线变细了就不会在图中显示出来了!!!!!!!!最后再一次提出,上述分析并不一定完全正确,可能有些概念并不清晰可靠,当然还有很多功能并没有被发掘,可以确定的是解决这个问题的两个大方向没有问题,若想做到精益求精,还需要再仔细研究斟酌哦!w
此文档下载收益归作者所有