系统辨识实验报告

上传人:m**** 文档编号:504834692 上传时间:2022-09-07 格式:DOC 页数:24 大小:138KB
返回 下载 相关 举报
系统辨识实验报告_第1页
第1页 / 共24页
系统辨识实验报告_第2页
第2页 / 共24页
系统辨识实验报告_第3页
第3页 / 共24页
系统辨识实验报告_第4页
第4页 / 共24页
系统辨识实验报告_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《系统辨识实验报告》由会员分享,可在线阅读,更多相关《系统辨识实验报告(24页珍藏版)》请在金锄头文库上搜索。

1、-自动化09-3 宋佳瑛 09051304系统辨识实验报告实验一:系统辨识的经典方法实验目的:掌握系统的数学模型与系统的输入,输出信号之间的关系,掌握经典辨识的实验测试方法和数据处理方法。熟悉matlab/Simulink 环境。实验内容:1.用系统阶跃响应法测试给定系统的数学模型。在系统没有噪声干扰的条件下通过测试系统的阶跃响应获得系统的一阶加纯滞后或二阶加纯滞后模型,对模型进行验证。2.在被辨识的系统加入噪声干扰,重复上述1的实验过程。1. 没有噪声搭建对象测试对象流程图实验结果为:2、加入噪声干扰搭建对象实验结果:加入噪声干扰之后水箱输出不平稳,有波动。实验二:相关分析法搭建对象:处理程

2、序:for i=1:15 m(i,:)=UY(32-i:46-i,1);endy=UY(31:45,2);gg=ones(15)+eye(15);g=1/(25*16*2)*gg*m*y;plot(g);hold on;stem(g);实验结果:相关分析法最小二乘法建模:二、三次实验本次实验要完成的内容:1参照inde*2,设计对象,从workspace空间获取数据,取二阶,三阶对象实现最小二乘法的一次完成算法和最小二乘法的递推算法(LS and RLS);2对设计好的对象,在时间为200-300之间,设计一个阶跃扰动,用最小二乘法和带遗忘因子的最小二乘法实现,对这两种算法的特点进行说明;实验

3、内容结果与程序代码:利用LS和RLS得到的二阶,三阶参数算法阶次A1A2A3B0B1B2B3LS二阶-0.78420.1373-0.00360.56680.3157RLS二阶-0.78240.1373-0.00360.56680.3157LS三阶-0.4381-0.12280.0407-0.00780.56520.51060.1160RLS三阶-0.4381-0.12280.0407-0.00780.56520.51060.1160以下给出RLS中的参数估计过程曲线和误差曲线程序清单:LS(二阶):M=UY(:,1);z=UY(:,2);H=zeros(199,5);for i=1:199H(

4、i,1)=-z(i+1);H(i,2)=-z(i);H(i,3)=M(i+2);H(i,4)=M(i+1);H(i,5)=M(i);endEstimate=inv(H*H)*H*(z(3:201)RLS(二阶):clcM=UY(:,1);z=UY(:,2);P=100*eye(5); %估计方差Pstore=zeros(5,200);Pstore(:,1)=P(1,1),P(2,2),P(3,3),P(4,4),P(5,5);Theta=zeros(5,200); %参数的估计值,存放中间过程估值Theta(:,1)=0;0;0;0;0;K=10;10;10;10;10;10;10;for i

5、=3:201h=-z(i-1);-z(i-2);M(i);M(i-1);M(i-2);K=P*h*inv(h*P*h+1);Theta(:,i-1)=Theta(:,i-2)+K*(z(i)-h*Theta(:,i-2);P=(eye(5)-K*h)*P;Pstore(:,i-1)=P(1,1),P(2,2),P(3,3),P(4,4),P(5,5);endi=1:200;figure(1)plot(i,Theta(1,:),i,Theta(2,:),i,Theta(3,:),i,Theta(4,:),i,Theta(5,:)title(待估参数过渡过程)figure(2)plot(i,Pst

6、ore(1,:),i,Pstore(2,:),i,Pstore(3,:),i,Pstore(4,:),i,Pstore(5,:)title(估计方差变化过程)同理可以写出三阶的LS以及RLS算法,此处略去。2.在t=250出加入一个阶跃扰动,令扰动值为0.05利用RLS和带遗忘因子的RLS计算结果如下表。算法遗忘因子A1A2A3B0B1B2B3RLS1-0.4791-0.09170.0349-0.00680.56590.48820.1033RLS0.98-0.5498-0.03900.0270-0.00690.56280.45150.0777RLS的参数变化过程曲线和误差曲线如下:带0.98遗

7、忘因子的参数过度曲线和误差曲线根据上面两种方法所得到的误差曲线和参数过渡过程曲线,我们可以看出来利用最小二乘法得到的参数最终趋于稳定,为利用带遗忘因子的最小二乘算法,曲线参数最终还是有小幅度震荡。由此可以看出两种算法的一些特点与区别。最小二乘法:递推算法没获得一次新的观测数据就修正一次参数估计值,随着时间的推移,便能获得满意的辨识结果。带遗忘因子的最小二乘法。其本质还是最小二乘法,只不过加强新的数据提供的信息量,逐渐削弱老的数据,防止数据饱和。2. 参照inde*3,设计符合GLS和ELS的对象模型,改写参照程序,实现相应的算法。GLS 与ELS的实现参照inde*3,设计符合GLS和ELS的

8、对象模型,改写参照程序,实现相应的算法。利用GLS算法求出参数如下:a1a2b1b2-0.74110.08110.23640.1040即y(k)=0.7411y(k1)-0.0811y(k-2)+0.2364u(k-1)+0.1040u(k-2);利用ELS求解,得到如下的结果参数a1a2b1b2d1d2ELS-0.74240.08190.23460.103900绘制出ELS算法下参数的变化曲线以及误差曲线如下:实验程序:GLS%广义最小二乘法辨识%clcn=2;N=799;% y=y1;% u=u1;y=UY(:,2);u=UY(:,1);% y=y3;% u=u3;Y=y(n+1:n+N)

9、;phi1=-y(n:n+N-1);phi2=-y(n-1:n+N-2);phi3=u(n:n+N-1);phi4=u(n-1:n+N-2);phi=phi1 phi2 phi3 phi4;theta=inv(phi*phi)*phi*Y %以上为最小二乘计算Theta估计值%f0=10;10;while 1e(n+1:n+N,1)=y(n+1:n+N)-phi*theta;omega(:,1)=-e(n:n+N-1);omega(:,2)=-e(n-1:n+N-2);f=inv(omega*omega)*omega*e(n+1:n+N,1);if (f-f0)*(f-f0)0.0001 br

10、eakendf0=f; %以上为最小二乘计算f估计值%for i=n+1:n+Nyy(i,1)=y(i),y(i-1),y(i-2)*1,f(1),f(2);uu(i,1)=u(i),u(i-1),u(i-2)*1,f(1),f(2);endyy(1,1)=y(1,1);uu(2,1)=u(2,1);%以上为数据滤波%phi(:,1)=-yy(n:n+N-1);phi(:,2)=-yy(n-1:n+N-2);phi(:,3)=uu(n:n+N-1);phi(:,4)=uu(n-1:n+N-2);theta=inv(phi*phi)*phi*yy(n+1:n+N);endfthetaELS%增广

11、最小二乘的递推算法%=产生均值为0,方差为1 的高斯白噪声=v(1)=0;v(2)=0;z=UY(:,2);M=UY(:,1);%递推求解P=100*eye(6); %估计方差Pstore=zeros(6,800);Pstore(:,1)=P(1,1),P(2,2),P(3,3),P(4,4),P(5,5),P(6,6);Theta=zeros(6,401); %参数的估计值,存放中间过程估值Theta(:,1)=3;3;3;3;3;3;K=10;10;10;10;10;10;for i=3:801h=-z(i-1);-z(i-2);M(i-1);M(i-2);v(i-1);v(i-2);K=

12、P*h*inv(h*P*h+1);Theta(:,i-1)=Theta(:,i-2)+K*(z(i)-h*Theta(:,i-2);v(i)=z(i)-h*Theta(:,i-2);P=(eye(6)-K*h)*P;Pstore(:,i-1)=P(1,1),P(2,2),P(3,3),P(4,4),P(5,5),P(6,6);end%=disp(参数a1、a2、b1、b2、d1、d2 估计结果:)Theta(:,800)i=1:800;figure(1)plot(i,Theta(1,:),i,Theta(2,:),i,Theta(3,:),i,Theta(4,:),i,Theta(5,:),i

13、,Theta(6,:)title(待估参数过渡过程)figure(2)plot(i,Pstore(1,:),i,Pstore(2,:),i,Pstore(3,:),i,Pstore(4,:),i,Pstore(5,:),i,Pstore(6,:)title(估计方差变化过程)大作业程序第一题*=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.1 0.7 1.7 3.8 9.1;ma,na=size(*);sum*=0;sumy=0;sum*y=0;sum*2=0;sum*2y=0;sum*3=0;sum*4=0;for k=1:na sum*=sum*+*(k); sumy=sumy+y(k) sum*y=sum*y+*(k)*y(k); sum*2=sum*2+*(k)*(k); sum*2y=sum*2y+*(k)*(k)*y(k); sum*3=sum*3+*(k)3; sum*4=sum*4+*(k)4;endA=na,sum*,sum*2;sum*,sum*2,sum*3;sum*2,sum*3,sum*4;B=sumy;sum*y;sum*2y;C=AB;第二题aa=5;NNPP=7;ts=2;R

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号