系统参数辨识+matlab+实现

系统参数辨识+matlab+实现

ID:47044956

大小:109.00 KB

页数:7页

时间:2019-07-07

系统参数辨识+matlab+实现_第1页
系统参数辨识+matlab+实现_第2页
系统参数辨识+matlab+实现_第3页
系统参数辨识+matlab+实现_第4页
系统参数辨识+matlab+实现_第5页
资源描述:

《系统参数辨识+matlab+实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.设某物理量Y与X满足关系式Y=aX2+bX+c,实验获得一批数据如下表,试辨识模型参数a,b和c。(50分)X1.012.033.024.0156.027.038.049.0310Y9.64.11.30.40.050.10.71.83.89.0报告要求:要有问题描述、参数估计原理、程序流程图、程序清单,最后给出结果及分析。(1)问题描述:由题意知,这是一个已知模型为Y=aX2+bX+c,给出了10组实验输入输出数据,要求对模型参数a,b,c进行辨识。这里对该模型参数辨识采用递推最小二乘法。(2)参数估计原

2、理对该模型参数辨识采用递推最小二乘法,即RLS(recurisiveleastsquare),它是一种能够对模型参数进行在线实时估计的辨识方法。其基本思想可以概括为:新的估计值=旧的估计值+修正项下面将批处理最小二乘法改写为递推形式即递推最小二乘参数估计的计算方法。批处理最小二乘估计为,设k时刻的批处理最小二乘估计为:令K时刻的最小二乘估计可以表示为==;式中,因为要推导出P(k)和K(k)的递推方程,因此这里介绍一下矩阵求逆引理:设A、(A+BC)和(I+)均为非奇异方阵,则通过运用矩阵求逆引理,把复杂的矩

3、阵求逆转化为标量求倒数,大大减小了计算量。与间的递推关系。最终得到递推最小二乘参数递推估计公式如下:(3)程序流程图(如右图1所示)递推最小二乘法(RLS)步骤如下:已知:、和d。Step1:设置初值和P(0),输入初始数据;Step2:采样当前输出y(k)、和输入u(k)Step3:利用上面式计算、和;Step4:kk+1,返回step2,继续循环。图1程序流程图(4)Matlab仿真程序、输出参数估计值、参数估计变化轨迹图像、结果分析仿真程序如下:X=[1.012.033.024.0156.027.038

4、.049.0310];Y=[9.64.11.30.40.050.10.71.83.89.0];%实验输入数据、实验输出数据symsabc%定义待辨识参数theta=[a;b;c];%theta包含待辨识参数a,b,ctheta1=zeros(3,1);%对象参数初始化P=10^6*eye(3)%构造初始P阵fork=1:10%仿真步长范围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);1]

5、K=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%输出参数估计值plot([1:10],theta2)%输出参数逐步递推估计的轨迹图像xlabel('k'

6、);%设置横坐标为步长kylabel('参数估计a,b,c');%纵坐标为估计参数a,b,clegend('a','b','c');%标示相应曲线对应的参数axis([110-1020]);%设置坐标轴范围P=100000000010000000001000000输出参数估计值、参数估计变化轨迹图像:theta1=0.4575-5.073413.3711图2参数估计逐步变化轨迹图像结果分析:通过matlab仿真可知,由递推最小二乘法辨识到的参数为:a=0.4575;b=-5.0734;c=13.3711所以Y

7、=0.4575-5.0734X+13.3711。通过输入输出的数据验算,模型参数a,b,c的递推最小二乘估计在误差允许的范围内基本符合要求。从上面参数估计逐步变化轨迹图像看出,参数a,b,c的递推估计曲线变化比较明显,曲线也不够平滑,这可能是由于题目只给出了10组实验输入输出数据,数据长度不算大,导致了参数估计的误差增大和估计精度不够高。2怎样入门MATLAB经过多年的发展MATLAB的功能相当强大,积聚了当今世界上各行各业的顶级人士的精华。要学好、用好MATLAB不是短期所能为的。当然,要快速掌握它还是比较

8、轻松的。大致可以分为一下几个阶段。2.1MATLAB基本操作这个阶段的目的在于掌握M文件和M函数的编写,掌握MATLAB的语法规则。对任何一门程序的掌握都是通过掌握该程序的语法来完成的。语句的表达对于任何语言都是一样的,如:x+y,x^2,sqrt(x)等等,所以重点是掌握语言三种结构的描述方法:顺序结构、分支结构和循环结构。只要知道了程序是怎么顺序执行的(有没有标号、结束时用分号还是不用还是逗号)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。