资源描述:
《《系统建模与仿真》实验手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、附录一实验1最小二乘法的实现实验报告哈尔滨工业大学航天学院控制科学与工程系专业:探测制导和控制技术班级:10804201姓名:王逸群日期:2011年5月22日101.实验题目:最小二乘法的实现2.实验目的熟悉并掌握递推最小二乘法的算法原理。3.递推最小二乘法的公式递推最小二乘法辨识公式:4.写出给定系统结构、实际参数、噪声源及输入信号给定系统即。假设实际系统的参数为,,,,,但是不已知,即不可测。取的零均值白噪声。输入信号取为5.画出程序框图106.写出MATLAB的M文件a1=2;a2=1.3;b0=0.4;b1=0.88;b2=2.2;c=
2、10000;a1_m=0;a2_m=0;b0_m=0;b1_m=0;b2_m=0;sita_m(:,1)=[a1_m,a2_m,b0_m,b1_m,b2_m]';y(1)=0.0021;y(2)=0.0046;z=c^2;p(:,:,1)=diag([z,z,z,z,z],0);forM=1:1:84u(M)=1.5*sin(0.2*M);endforK=1:1:82y(K+2)=-a1*y(K+1)-a2*y(K)+b0*u(K+2)+b1*u(K+1)+b2*u(K)+0.2*rand(1)-0.1;endforN=1:1:80fai(:,
3、N+1)=[-y(N+2),-y(N+1),u(N+3),u(N+2),u(N+1)]';r=1/(1+(fai(:,N+1))'*p(:,:,N)*fai(:,N+1));k(:,N+1)=p(:,:,N)*fai(:,N+1)*r;p(:,:,N+1)=p(:,:,N)-k(:,N+1)*(fai(:,N+1))'*p(:,:,N);sita_m(:,N+1)=sita_m(:,N)+k(:,N+1)*(y(N+3)-(fai(:,N+1))'*sita_m(:,N));endk=0:1:length(u)-4;subplot(3,2,1)
4、;stairs(k,sita_m(1,:),'k-');legend('a1_m');subplot(3,2,2);stairs(k,sita_m(2,:),'r-');legend('a2_m');subplot(3,2,3);stairs(k,sita_m(3,:),'g-');legend('b0_m');subplot(3,2,4);stairs(k,sita_m(4,:),'r-');10legend('b1_m');subplot(3,2,5);stairs(k,sita_m(5,:),'k-');legend('b2_m')7.实
5、验结果分析运行上一步的M文件所得仿真结果:程序运行到最后各参数的值:8.结论经过递推最小二乘辨识所得各参数与实际系统各参数的实际值相比有少许偏差,其中a1和a2的值与真实值相同,b0、b1、b2与真实值相比有不同程度的偏差,可能是由于步数不足,从生成的表格来看b0、b1、b2的值还没有趋于稳定,适当增加步数可能使这些值更接近真实值。10附录二实验2龙格-库塔法的实现实验报告哈尔滨工业大学航天学院控制科学与工程系专业:探测制导和控制技术班级:10804201姓名:王逸群日期:2011年5月22日101.实验题目:龙格—库塔法的实现2.实验目的熟悉
6、并掌握龙格-库塔法的数值积分原理3.四阶龙格-库塔法的公式四阶龙格—库塔法公式:其中:其中为积分步长。4.写出微分方程组及其初始条件、积分步长、计算总步数用四阶龙格-库塔法求常微分方程组初值问题,的数值解,要求积分步长为,并要求计算1000步,同时画出相应的曲线。5.画出程序框图106.用MATLAB编制四阶龙格-库塔法的M文件functionKK=ff(t,X)f1=X(1)*X(2)^2-X(1);f2=-3*X(2)+cos(X(1));KK=[f1,f2]';h=0.001;x(1,:)=[-3,2];fork=1:1:999t(k)=
7、(k-1)*h;xx=x(k,:)';K1=ff(t(k),xx);K2=ff(t(k)+h/2,xx+(h/2)*K1);K3=ff(t(k)+h/2,xx+(h/2)*K2);K4=ff(t(k)+h,xx+h*K3);x(k+1,:)=x(k,:)+(h*(K1+2*K2+2*K3+K4)/6)';endxxt=1:1000;plot(t,x(:,1),'r-');holdonplot(t,x(:,2),'b-');gridlegend('x_1','x_2');7.结果分析运行上一步的M文件所得结果:10即X=【-1.8774,-0.1
8、140】’。8.结论所得结果比较满意,不过编程过程中还是遇到了不少问题,尤其对矩阵维数有了比较深刻的认识,很多次都是由于维数不一致导致程序无法运行,以