预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(完整word版)系统全参数辨识matlab实现--实用标准文案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)参数估计原理对该模型参数辨识采用递推最小二乘法,即RLS(recurisiveleastsquare),它是一种能够对模型参数进行在线实时估计的辨识方法。其基本思想可以概括为:新的估计值ˆ(k)=旧的估计值ˆ(k1)+修正项下面将批处理最小二乘法改写为递推形式即递推最小二乘参数估计的计算方法。ˆ批处理最小二乘估计ˆ为(T)1TY,设k时刻的批处理最小二乘估计为:ˆ(T)1TY令P(k)(T)1[P1(k1)(k)T(k1)]1kkkkkkK时刻的最小二乘估计可以表示为ˆ(k)P(k)TY=P(k)[TY(k)y(k)]kkk1k1ˆTˆ=(k1)K(k)[y(k)(k)(k1)];式中K(k)P(k)(k),因为要推导出P(k)和K(k)的递推方程,因此这里介绍一下矩阵求逆引理:设A、(A+BC)和(I+CA1B)均为非奇异方阵,则(ABC)1A1A1B(ICA1B)1CA1通过运用矩精彩文档(完整word版)系统全参数辨识matlab实现--(完整word版)系统全参数辨识matlab实现--实用标准文案开始阵求逆引理,把复杂的矩阵求逆转化为标量求倒数,大大减小了初始化计算量。P与P间的递推关系。最终得到递推最小二乘参N1N输入输出数据数递推估计公式如下:采样、处理ˆ(k)ˆ(k1)K(k)[y(k)T(k)ˆ(k1)]由式递推公式计算K(k)、P(k)、ˆ(k)P(k)[IK(k)T(k)]P(k1)P(k1)(k)kk+1K(k)1T(k)P(k1)(k)(3)程序流程图(如右图1所示)递推最小二乘法(RLS)步骤如下:已知:n、n和d。abStep1:设置初值ˆ(0)和P(0),输入初始数据;Step2:采样当前输出y(k)、和输入u(k)Step3:利用上面式计算K(k)、ˆ(k)和P(k);Step4:kk+1,返回step2,继续循环。图1程序流程图(4)Matlab仿真程序、输出参数估计值、参数估计变化轨迹图像、结果分析仿真程序如下:X=[1.012.033.024.0156.027.038.049.0310];Y=[9.64.11.30.40.050.10.71.83.89.0];%实验输入数据、实验输出数据精彩文档(完整word版)系统全参数辨识matlab实现--(完整word版)系统全参数辨识matlab实现--实用标准文案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]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');%设置横坐标为步长kylabel('参数估计a,b,c');%纵坐标为估计参数a,b,c精彩文档(完整word版)系统全参数辨识matlab实现--(完整word版)系统全参数辨识matlab实现--实用标准文案legend('a','b','c');%标示相应曲线对应的参数axis([110-1020]);%设置坐标轴范围P=100000000010000000