《(完整word版)系统全参数辨识 matlab 实现.pdf》由会员分享,可在线阅读,更多相关《(完整word版)系统全参数辨识 matlab 实现.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实用标准文案4.设某物理量 Y 与 X 满足关系式 Y=aX2+bX+c,实验获得一批数据如下表,试辨识模型参数 a,b 和 c。(50 分)X1.012.033.024.01Y9.64.11.30.450.056.020.17.030.78.041.89.033.8109.0报告要求:要有问题描述、参数估计原理、程序流程图、程序清单,最后给出结果及分析。(1)(1)问题描述:问题描述:由题意知,这是一个已知模型为 Y=aX2+bX+c,给出了 10 组实验输入输出数据,要求对模型参数 a,b,c 进行辨识。这里对该模型参数辨识采用递推最小二乘法。(2)(2)参数估计原理参数估计原理对该模型参
2、数辨识采用递推最小二乘法,即 RLS(recurisive least square),它是一种能够对模型参数进行在线实时估计的辨识方法。(k)=旧的估计值(k 1)+修正项其基本思想可以概括为:新的估计值下面将批处理最小二乘法改写为递推形式即递推最小二乘参数估计的计算方法。(为为批处理最小二乘估计T)1TY,设 k 时刻的批处理最小二乘估计为:(T)1TY令令P(k)(T)1P1(k 1)(k)T(k 1)1kkkkkkK 时刻的最小二乘估计可以表示为(k)P(k)TY=P(k)TY(k)y(k)k1k1kk=(k(k 1);式中K(k)P(k)(k),因为要1)K(k)y(k)T(k)1推
3、导出 P(k)和 K(k)的递推方程,因此这里介绍一下 矩阵求逆引理矩阵求逆引理:设 A、(A+BC)和(I+CA B)均为非奇异方阵,则(A BC)1 A1 A1B(I CA1B)1CA1通过运用矩精彩文档(完整word版)系统全参数辨识 matlab 实现-第1页(完整word版)系统全参数辨识 matlab 实现-第1页实用标准文案开始初始化输入输出数据采样、处理由式递推公式计算(k)K(k)、P(k)、k k+1阵求逆引理,把复杂的矩阵求逆转化为标量求倒数,大大减小了计算量。PN1与PN间的递推关系。最终得到递推最小二乘参数递推估计公式递推估计公式如下:T(k)(k 1)K(k)y(k
4、)(k)(k 1)TP(k)I K(k)(k)P(k 1)K(k)P(k 1)(k)1T(k)P(k 1)(k)(3)3)程序流程图程序流程图(如右图 1 所示)递推最小二乘法(RLS)步骤如下:已知:na、nb和 d。(0)和 P(0),输入初始数据;Step 1:设置初值Step2:采样当前输出 y(k)、和输入 u(k)(k)和P(k);Step3:利用上面式计算K(k)、Step4:kk+1,返回step2,继续循环。图 1 程程序流程序流程图图(4)MatlabMatlab 仿真程序、输出参数估计值、仿真程序、输出参数估计值、参数估计变化轨迹图像、结果分析参数估计变化轨迹图像、结果分
5、析仿真程序如下:仿真程序如下:X=1.01 2.03 3.02 4.01 5 6.02 7.03 8.04 9.03 10;Y=9.6 4.1 1.3 0.4 0.05 0.10.71.83.89.0;%实验输入数据、实验输出数据精彩文档(完整word版)系统全参数辨识 matlab 实现-第2页(完整word版)系统全参数辨识 matlab 实现-第2页实用标准文案syms a b c%定义待辨识参数theta=a;b;c;%theta 包含待辨识参数 a,b,ctheta1=zeros(3,1);%对象参数初始化P=106*eye(3)%构造初始 P 阵for k=1:10%仿真步长范围
6、1 到 10phi=X(k)*X(k);X(k);1;%y=aX*X+bX+c=phi*theta%theta=a;b;c;phi=X(k)*X(k);X(k);1K=P*phi/(1+phi*P*phi);%递推最小二乘法 K 阵的递推公式theta=theta1+K*(Y(k)-phi*theta1);%theta 的递推公式P=(eye(3)-K*phi)*P;%递推最小二乘法 P 阵的递推公式theta1=theta;%theta 的最终估计向量theta2(:,k)=theta;%theta 估计向量矩阵化,目的是为了%下面的plot仿真图像输出endtheta1%输出参数估计值pl
7、ot(1:10,theta2)%输出参数逐步递推估计的轨迹图像xlabel(k);%设置横坐标为步长 kylabel(参数估计 a,b,c);%纵坐标为估计参数 a,b,c精彩文档(完整word版)系统全参数辨识 matlab 实现-第3页(完整word版)系统全参数辨识 matlab 实现-第3页实用标准文案legend(a,b,c);%标示相应曲线对应的参数axis(1 10-10 20);%设置坐标轴范围P=100000000010000000001000000输出参数估计值、参数估计变化轨迹图像:输出参数估计值、参数估计变化轨迹图像:theta1=0.4575-5.073413.371
8、120abc15c参数估计a,b,c105a0-5b-1012345k678910图图 2 2参数估计逐步变化轨迹图像参数估计逐步变化轨迹图像精彩文档(完整word版)系统全参数辨识 matlab 实现-第4页(完整word版)系统全参数辨识 matlab 实现-第4页实用标准文案结果分析结果分析:通过 matlab 仿真可知,由递推最小二乘法辨识到的参数为:a=0.4575;b=-5.0734;c=13.3711所以 Y=0.4575X2-5.0734X+13.3711。通过输入输出的数据验算,模型参数 a,b,c 的递推最小二乘估计在误差允许的范围内基本符合要求。从上面参数估计逐步变化轨迹
9、图像看出,参数 a,b,c 的递推估计曲线变化比较明显,曲线也不够平滑,这可能是由于题目只给出了 10 组实验输入输出数据,数据长度不算大,导致了参数估计的误差增大和估计精度不够高。2 怎样入门 MATLAB经过多年的发展 MATLAB 的功能相当强大,积聚了当今世界上各行各业的顶级人士的精华。要学好、用好MATLAB不是短期所能为的。当然,要快速掌握它还是比较轻松的。大致可以分为一下几个阶段。2.1 MATLAB 基本操作这个阶段的目的在于掌握M 文件和 M 函数的编写,掌握 MATLAB的语法规则。对任何一门程序的掌握都是通过掌握该程序的语法来完成的。语句的表达对于任何语言都是一样的,如:
10、x+y,x2,sqrt(x)等等,所以重点是掌握语言三种结构的描述方法:顺序结构、分支结构和循环结构。只要知道了程序是怎么顺序执行的(有没有标号、结束时用分号还是不用还是逗号)、分支结构中的 if 语句和 switch 语句和循环结构中的 for 语句和 while 语句是怎么执行的,知道子程序的结构,那么你就基本掌握该语言了,至于类呀什么的,用到的时候再学。在该阶段对于学习 MATLAB 比较好的书大致有1 张平.MATLAB 基础应用简明教程M.北京:航空航天大学,2001.TP213MA/Z2782 林雪松等.MATLAB7.0 应用集锦M.北京:机械工业出版社,2005.9.TP213
11、MA/L5343 姚俊等.simulink 建模与仿真M.西安:西安电子科技大学,2002.8.TP213MA/Y237精彩文档(完整word版)系统全参数辨识 matlab 实现-第5页(完整word版)系统全参数辨识 matlab 实现-第5页实用标准文案2.2 提高阶段当学了一种语言后,重在应用,不用很快就会生疏的。这时,可以看看别人是怎么应用 MATLAB来解决实际问题的,同时也学到了分析问题、解决问题的能力,以后用得到的。可以看的书大致有1 胡守信等.基于 MATLAB 的数学实验M.北京:科学出版社,2004.TP213MA/H499主要侧重于基本介绍。2 刘福来等译.用 Mapl
12、e和 MATLAB解决科学计算问题M.高等教育出版社/施普林格出版社,1999.5.TP213MA/G144相对于对常微分方程描述较详细。3 曾建军.MATLAB语言与数学建模M.合肥:安徽大学出版社,2005.6.TP213MA/Z173涉及的面多一些,在看完前两本后,可适当加强。2.3 精通 MATLABMATLAB 包含的学科领域很广,包括的工具箱很多,对电气学科可能比较有用的工具箱大致有:神经网络工具箱、小波分析工具箱、模糊工具箱、控制工具箱、遗传算法、支持相量机工具箱、随机微分方程工具箱等等。大致可以看以下的书籍1 陈永春.MATLABM语言高级编程M.北京:清华大学出版社,2003
13、.TP213MA/C354-2可只看 GUI 界面设计部分,是设计GUI 入门好书。2 邱晓林.基于 MATLAB 的动态模型与系统仿真工具Simulink3.0/4.xM.西安:西安交通大学出版社,2003.10.TP391.9/Q376该书有 Simulink 各个模块的使用说明,是学Simulink 时的重要参考书。3 黄永安,马路.MATLAB7.0/Simulink6.0 建模仿真开发与高级工程应用M.北京:清华大学出版社,2005.12.TP391.9/H686S 函数是使用 Simulink 的最高境界,只需看本书对应的一章即可,只十几页。精彩文档(完整word版)系统全参数辨识
14、 matlab 实现-第6页(完整word版)系统全参数辨识 matlab 实现-第6页实用标准文案2.4 参考书籍以下这些书籍是使用过程中的参考书,不必吃透,之后用到时翻翻,可能会提高程序代码的效率,编写出很多实用简洁的算法程序。把它们当英语字典一样用就可以了。精通 MATLAB7或精通 MATLAB6等等MATLAB函数库查询辞典3 MATLAB 的一些使用算法参考书籍以下这些书籍中有当今很流行、很热门的算法的原始代码,程序都不长,很容易掌握,并为自己所用。1 刘金琨.先进 PID 控制与 MATLAB 仿真M.北京:电子工业出版社,2003.1.TP273/L587.2该书是使用程序设计
15、控制算法最好的书籍(个人认为),并且该书还包括了各种实用、流行且很热的算法,比如:遗传算法、模糊、神经网络算法的基础原始程序,是学习这些算法编程的最佳选择。2 刘金琨.滑模变结构控制与 MATLAB仿真北京清华大学出版社,2005.10.TP273/L587.2-2主要涉及各种滑模控制,S 函数与 Simulink 仿真,各种神经网络控制。3 薛定宇.控制系统计算机辅助设计 MATLAB语言与应用(2 版)M.北京:清华大学出版社,2005.7.TP273/X516a该书被一直被认为是控制理论仿真最好的书籍,设计的东东有神经网络PID 的 S 函数仿真、遗传算法、最小二乘在线辨识等等。4 雷英
16、杰.MATLAB遗传算法工具箱及应用M.西安:西安电子科技大学,2005.4.TP18/L259该书是英国谢菲尔德大学版遗传算法工具箱的中文版使用说明,该工具箱是使用最广泛的遗传算法工具箱,并有很多测试实例。可以很快嵌套到自己的项目中。5 张晓华.系统建模与仿真M.北京:清华大学出版社,2006.12.N945.12/Z285该书教你如何从最初的物理模型出发,抽象出数学模型,并最总用 Simulink 仿真,实例表述清晰各个案例都可以自己重现出来。学完该书后,任何建模仿真的问题都不会称为问题。6 宋来忠等.数学建模与实验M.北京:科学出版社,2005.O141.4/S736精彩文档(完整word版)系统全参数辨识 matlab 实现-第7页(完整word版)系统全参数辨识 matlab 实现-第7页实用标准文案这是一本数模的基础书,但是很多例子很实用,还是列在这里供参考。包括:假设检验、层次分析、整数规划等等,讲得很浅显、通俗,但很实用。精彩文档(完整word版)系统全参数辨识 matlab 实现-第8页(完整word版)系统全参数辨识 matlab 实现-第8页