欢迎来到天天文库
浏览记录
ID:56194384
大小:72.50 KB
页数:3页
时间:2020-03-19
《用matlab实现最小二乘递推算法辨识系统参数.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、自动化专业综合设计报告自动化专业综合设计报告设计题目:最小二乘递推算法辨识系统参数所在实验室:自动化系统仿真实验室指导教师:学生姓名班级计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
2、(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);fori=1:Nuk(i)=uk(i)*(-1)^(i-1);endyk=zeros(1,N);fork=3:Nyk(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
3、=(inv(psi'*psi)*psi'*y);theta=[0;0;0;0];pn=10^6*eye(4);fort=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
4、(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的使用更加纯熟,
5、也锻炼了自己在课本中搜索信息和知识的能力。在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。同时我也进一步认识了matlab软件强大的功能。在以后的学习和工作中必定有很大的用处。
此文档下载收益归作者所有