实验题目:梯度校正最小二乘法-Rea_第1页
实验题目:梯度校正最小二乘法-Rea_第2页
实验题目:梯度校正最小二乘法-Rea_第3页
实验题目:梯度校正最小二乘法-Rea_第4页
实验题目:梯度校正最小二乘法-Rea_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.1、 实验题目:梯度校正最小二乘法2、 实验工具:MATLAB三、实验目的:通过MATLAB仿真实现梯度校正最小二乘法的验证。工作间清零四、实验框图:给出系统输入输出观测数据并画出图形给被识别参数g和h赋初始值按照下面公式计算出权矩阵R(k)按照如下公式计算脉冲响应估计值g计算模型输出值ym及系统输出与模型输出之间的误差Ey显示脉冲响应估计值、模型输出值、系统输出与模型输出之间的误差画出被识别参数g的各次估计值画出系统输出与模型输出之间的误差画出脉冲响应曲线 停机五、实验思想: 递推算法的基本机构为:新的参数估计值等于老的参数估计之加上增益矩阵与信息的乘积。梯度校正参数识别方法具有相同的结构

2、,但基本原理却完全不同与最小二乘法参数识别。它的基本思想是沿着准则函数的负梯度方向,逐渐修正模型参数的估计值,直至准则函数达到最小值。六、实验程序及结果:辨别个数为3时的程序:clearu=-1,-1,-1,-1,1,1,1,-1,1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1;y=0,-2,-6,-7,-7,-3,5,7,3,-1,5,3,-5,-3,1,-1,1,-5,-7,-7;%画出u和y的图形figure(1),subplot(2,1,1),stem(u),subplot(2,1,2),stem(y),hold onk=1:20;plot(k,y)%给出初始值h1=-1

3、,0,0;h2=-1,-1,0;g=0,0,0;I=1,0,0;0,1/2,0;0,0,1/4;h=h1,h2,zeros(3,16);%计算样本数据h(k)for k=3:18h(:,k)=u(k),u(k-1),u(k-2);end%计算权矩阵R(k)和g的估计值for k=1:18a=h(1,k)2+(h(2,k)2)/2+(h(3,k)2)/4;a1=1/a;R=a1*I;g(:,k+1)=g(:,k)+R*h(:,k)*(y(k+1)-h(:,k)*g(:,k);end%绘图g1=g(1,:);g2=g(2,:);g3=g(3,:);figure(2);k=1:19;subplot(

4、121);plot(k,g1,r,k,g2,g,k,g3,b),grid on%计算模型输出ym及系统输出与模型输出之间的误差Eyfor k=1:18 ym(k)=h(:,k)*g(:,k);Ey(k)=y(k+1)-ym(k);endk=1:18;subplot(122);plot(k,Ey),grid ong,ym,Ey %显示脉冲响应估计值、模型输出及系统输出与模型行输出之间的误差figure(3);x=0:1:3;y=0,g(1,18),g(2,18),g(3,18);xi=linspace(0,3);yi=interp1(x,y,xi,cubic);plot(x,y,o,xi,yi,

5、m),grid on %画出脉冲响应估计值及其三次插值曲线辨别个数为3时的结果g = Columns 1 through 8 0 2.0000 4.6667 5.2381 5.2381 1.5374 2.1438 2.2393 0 0 1.3333 1.6190 1.6190 3.4694 3.7726 3.8204 0 0 0 0.1429 0.1429 1.0680 0.9164 0.9403 Columns 9 through 16 1.9658 1.9559 2.0063 1.9918 1.9980 1.9953 1.9995 1.9995 3.9571 3.9621 3.9873 3

6、.9946 3.9977 3.9990 3.9969 3.9969 1.0087 1.0062 0.9936 0.9972 0.9957 0.9963 0.9974 0.9974 Columns 17 through 19 1.9995 2.0001 2.0032 3.9969 3.9972 3.9988 0.9974 0.9972 0.9980ym = Columns 1 through 8 0 -2.0000 -6.0000 -7.0000 3.4762 3.9388 6.8328 2.5213 Columns 9 through 16 -0.9826 4.9118 2.9746 -4.9

7、891 -2.9953 1.0073 -1.0000 1.0000 Columns 17 through 18 -4.9990 -6.9945Ey = Columns 1 through 8 -2.0000 -4.0000 -1.0000 0 -6.4762 1.0612 0.1672 0.4787 Columns 9 through 16 -0.0174 0.0882 0.0254 -0.0109 -0.0047 -0.0073 -0.0000 0 Columns 17 through 18 -0.0010 -0.0055 图一辨别个数为5时的程序: clearu=-1,-1,-1,-1,1

8、,1,1,-1,1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1;y=0,-2,-6,-7,-7,-3,5,7,3,-1,5,3,-5,-3,1,-1,1,-5,-7,-7;%画出u和y的图形figure(1),subplot(2,1,1),stem(u),subplot(2,1,2),stem(y),hold onk=1:20;plot(k,y)%给出初始值h1=-1,0,0,0,0;h2=-1,-1,0,0,0;h3=-1,-1,-1,0,0;h4=-1,-1,-1,-1,0;g=0,0,0,0,0;I=1,0,0,0,0;0,1/2,0,0,0;0,0,1/4,0,0;1,0

9、,0,1/6,0;1,0,0,0,1/8;h=h1,h2,h3,h4,zeros(5,16);%计算样本数据h(k)for k=5:18h(:,k)=u(k),u(k-1),u(k-2),u(k-3),u(k-4);end%计算权矩阵R(k)和g的估计值for k=1:18a=h(1,k)2+(h(2,k)2)/2+(h(3,k)2)/4+(h(4,k)2)/6+(h(5,k)2)/8;a1=1/a;R=a1*I;g(:,k+1)=g(:,k)+R*h(:,k)*(y(k+1)-h(:,k)*g(:,k);end%绘图g1=g(1,:);g2=g(2,:);g3=g(3,:);g4=g(4,:

10、);g5=g(5,:);figure(2);k=1:19;subplot(121);plot(k,g1,r,k,g2,g,k,g3,b,k,g4,y,k,g5,b),grid on%计算模型输出ym及系统输出与模型输出之间的误差Eyfor k=1:18 ym(k)=h(:,k)*g(:,k);Ey(k)=y(k+1)-ym(k);endk=1:18;subplot(122);plot(k,Ey),grid ong,ym,Ey %显示脉冲响应估计值、模型输出及系统输出与模型行输出之间的误差figure(3);x=0:1:5;y=0,g(1,18),g(2,18),g(3,18),g(4,18),

11、g(5,18);xi=linspace(0,5);yi=interp1(x,y,xi,cubic);plot(x,y,o,xi,yi,m),grid on %画出脉冲响应估计值及其五次插值曲辨别个数为3时的结果g = Columns 1 through 8 0 2.0000 4.6667 5.2381 2.5052 1.8988 4.6786 9.4430 0 0 1.3333 1.6190 0.2526 0.5558 1.9457 4.3279 0 0 0 0.1429 -0.5404 -0.3888 -1.0837 0.1074 0 2.0000 4.6667 5.2381 2.0497

12、1.5443 3.8609 7.8312 0 2.0000 4.6667 5.2381 2.5052 1.9746 4.4070 8.5758 Columns 9 through 16 5.1562 0.8088 -0.3720 2.3408 0.7425 2.9532 2.7864 4.7719 6.4713 8.6450 8.0546 6.6982 5.8991 4.7937 4.8771 3.8844 1.1791 0.0922 0.3874 -0.2908 0.1088 -0.4439 -0.4856 0.0108 4.2588 -0.8130 -2.1907 0.9742 -0.35

13、76 2.2215 2.0269 3.6815 3.7531 -1.1377 -2.4661 -0.0924 -1.8904 0.5965 0.4506 2.1879 Columns 17 through 19 4.5736 2.0525 3.2521 3.9835 2.7230 3.3227 -0.0387 0.5915 0.8914 3.5162 0.5749 1.5745 1.9649 -0.2411 1.1084ym = Columns 1 through 8 0 -2.0000 -6.0000 -12.2381 -1.7619 -0.6756 -2.7272 -5.7523 Colu

14、mns 9 through 16 7.8758 7.4109 8.5386 -8.2631 -7.5134 0.6595 -5.0538 0.5952 Columns 17 through 18 -10.1473 -4.5510Ey = Columns 1 through 8 -2.0000 -4.0000 -1.0000 5.2381 -1.2381 5.6756 9.7272 8.7523 Columns 9 through 16 -8.8758 -2.4109 -5.5386 3.2631 4.5134 0.3405 4.0538 0.4048 Columns 17 through 18

15、 5.1473 -2.4490 图二七、实结果分析:图一递推到第10步时,被识别参数基本上达到了稳定状态,即此时系统的输出与模型的输出误差也基本达到稳定状态,即由于被识别参数的个数较少,递推校正算法的熟练性较好,也就是说,输入输出的观测数据量已足够。但是从图一的figure3中可以看出,由于被识别你别参数的个数较少,他一不足以充分显示全部的系统脉冲响应。 为了能够充分显示系统的脉冲响应,可以把被识参数的个数增加到5个。图二给出了被识别参数的个数为5时的识别结果。图二基本显示出了系统的全部脉冲响应过程。但是在图二的辨识中,还是利用了上面给出的20对输入输出数据。通过图一与图二的比较可以看出,在观

16、测数据两一定的情况下,随着被辨别参数的个数的增加,梯度校正辨别算法的收敛性变差,这是由于观测数据不足,递推步数有限造成的。所以,随着被辨别参数的个数的增加,若要保持梯度校正辨别算法的收敛效果,需要同步增加观测数据。8、 实验心得:张旭: 通过这次实验,我学会了很多受益匪浅,这次实验在我们组员的共同努力我们的实验完成得很顺利,一方面对MATLAB有了进一步的认识,一方面学习了梯度校正最小二乘辨识参数的方法。耿莉: 通过这次试验,我再一次和我的partners合作完成了这次实验,在实验中在matlab平台上完成了我们这次试验,在实验中我我们了解了梯度校正参数识别方法,从确定性问题的梯度校正参数的辨

17、识到脉冲响应梯度校正辨识再到随机性问题的梯度校正参数的辩证,我们这次课题的主要针对脉冲响应梯度辨识的MATLAB仿真。从确定性梯度校正辨识公式的推到到权矩阵的选择到最终线性时不变系统脉冲相应的辨识,我在这次实验中不但学会了在团队中如何发挥自己的作用,完成实验,也对MATLAB工具有了深刻的认识。 谭方: 在经历过找工作的坎坷后,沉静下来的心开始进入学习状态,希望可以有一门自己的本事,尤其是作为硬件类学生会一样硬件类开发工具将会有多大的优势,在经历过protel的打击后我在这次试验中认真对MATLAB认真系统的学习,一边自己学习,一边跟我的搭档们合作,完成了本次实验,也学会了很多东西,更希望它之后可以有助于我的将来。 王余刚: 看到大家的心得体会,我感觉他们都说到了我的心里面,感觉是那么的实在,一方面我也处于找工作的苦恼中,明白真本事在工作的竞争力量,一方面在跟大家一起做实验中,也体会了团队的力量,并不是一个人可以替代的,大家可以解决很多问

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论