用matlab实现最小二乘递推算法辨识系统参数.doc
-
资源ID:28451738
资源大小:444.50KB
全文页数:10页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
用matlab实现最小二乘递推算法辨识系统参数.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date用matlab实现最小二乘递推算法辨识系统参数用matlab实现最小二乘递推算法辨识系统参数自动化专业综合设计报告设计题目:最小二乘递推算法辨识系统参数 所在实验室: 自动化系统仿真实验室 指导教师: 学生姓名 班级 计082-2 班 学号 撰写时间: 2012-3-1 成绩评定: 一设计目的1、学会用Matlab实现最小二乘法辨识系统参数。2、进一步熟悉Matlab的界面及基本操作;3、了解并掌握Matlab中一些函数的作用与使用;二设计要求最小二乘递推算法辨识系统参数,利用matlab编程实现,设初始参数为零。z(k)-1.5*z(k-1)+0.7*z(k-2)=1*u(k-1)+0.5*u(k-2)+v(k); 选择如下形式的辨识模型:z(k)+a1*z(k-1)+a2*z(k-2)=b1*u(k-1)+b2*u(k-2)+v(k);三实验程序m= 3;N=100;uk=rand(1,N);for i=1:Nuk(i)=uk(i)*(-1)(i-1);endyk=zeros(1,N); for k=3:N yk(k)=1.5*yk(k-1)-0.7*yk(k-2)+uk(k-1)+0.5*uk(k-2); end%j=100;kn=0;%y=yk(m:j)'%psi=yk(m-1:j-1);yk(m-2:j-2);uk(m-1:j-1);uk(m-2:j-2)'%pn=inv(psi'*psi);%theta=(inv(psi'*psi)*psi'*y);theta=0;0;0;0;pn=106*eye(4);for t=3:Nps=(yk(t-1);yk(t-2);uk(t-1);uk(t-2);pn=pn-pn*ps*ps'*pn*(inv(1+ps'*pn*ps);theta=theta+pn*ps*(yk(t)-ps'*theta);thet=theta'a1=thet(1);a2=thet(2);b1=thet(3);b2=thet(4); a1t(t)=a1;a2t(t)=a2;b1t(t)=b1;b2t(t)=b2;endt=1:N;plot(t,a1t(t),t,a2t(t),t,b1t(t),t,b2t(t);text(20,1.47,'a1');text(20,-0.67,'a2');text(20,0.97,'b1');text(20,0.47,'b2');四设计实验结果及分析实验结果图:仿真结果表明,大约递推到第十步时,参数辨识的结果基本到稳态状态,即a1= 1.5999,b1=1,c1=0.5,d1=-0.7。五.设计感受 这周的课程设计告一段落了,时间短暂,意义重大。通过这次次练习的机会,重新把matlab课本看了一遍,另外学习了系统辨识的有关内容,收获颇丰。对matlab的使用更加纯熟,也锻炼了自己在课本中搜索信息和知识的能力。在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。同时我也进一步认识了matlab软件强大的功能。在以后的学习和工作中必定有很大的用处。-