资源描述:
《自控原理 线性系统的时域分析实验三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三线性系统的时域分析一、实验目的1、理解建立的模型与实际存在误差;2、利用MATLAB计算误差,并能进行误差分析;3、能够在多个模型中利用误差分析选取最优模型;二、实验内容与步骤1、获取线性系统动态输出的三种方法:1、1、符号法求解系统阶跃响应;1、2、使用命令获得系统阶跃响应;1、3、使用Simulink仿真环境;2、附带实验程序:loadmatlabK0=y(5001)forn=1:1:5001y1(n)=K0-y(n);endsum1=zeros(1,5001);holdonforn=2:1:5001s
2、um1(n)=sum1(n-1)+y1(n)*0.01;endK1=sum1(5001)forn=1:1:5001y2(n)=K1-sum1(n);endsum2=zeros(1,5001);holdonforn=2:1:5001sum2(n)=sum2(n-1)+y2(n)*0.01;endK2=sum2(5001)forn=1:1:5001y3(n)=K2-sum2(n);endsum3=zeros(1,5001);holdonforn=2:1:5001sum3(n)=sum3(n-1)+y3(n)*0.01
3、;endK3=sum3(5001)forn=1:1:5001y4(n)=K3-sum3(n);endsum4=zeros(1,5001);holdonforn=2:1:5001sum4(n)=sum4(n-1)+y4(n)*0.01;endK4=sum4(5001)forn=1:1:5001y5(n)=K4-sum4(n);endsum5=zeros(1,5001);holdonforn=2:1:5001sum5(n)=sum5(n-1)+y5(n)*0.01;endK5=sum5(5001)symsh1h2h3
4、i0i1i2eq1=sym('1.9999-i0');eq2=sym('8.9856-1.9999*h1');eq3=sym('43.7890-8.9856*h1+1.9999*h2');eq4=sym('216.0817-43.7890*h1+8.9856*h2-1.9999*h3');[h1,h2,h3,i0]=solve(eq1,eq2,eq3,eq4)symsc1c2c3d0d1eq1=sym('1.9999-d0');eq2=sym('8.9856-1.9999*c1+d1');eq3=sym('43.
5、7890-8.9856*c1+1.9999*c2');eq4=sym('216.0817-43.7890*c1+8.9856*c2-1.9999*c3');eq5=sym('1057.7-216.0817*c1+43.7890*c2-8.9856*c3');[c1,c2,c3,d0,d1]=solve(eq1,eq2,eq3,eq4,eq5)symsa1a2a3b0b1b2eq1=sym('1.9999-b0');eq2=sym('8.9856-1.9999*a1+b1')eq3=sym('43.7890-8.9
6、856*a1+1.9999*a2-b2')eq4=sym('216.0817-43.7890*a1+8.9856*a2-1.9999*a3');eq5=sym('1057.7-216.0817*a1+43.7890*a2-8.9856*a3');eq6=sym('5075.6-1057.7*a1+216.0817*a2-43.7890*a3');[a1,a2,a3,b0,b1,b2]=solve(eq1,eq2,eq3,eq4,eq5,eq6)g1=tf(7.9991,[8.9071310.598326.9893
7、1])g2=tf([-17.713767.9991],[-14.56252-4.879244.77481])g3=tf([-74.0304570.372797.9991],[37.46262.832315.786871])t=0:0.01:50;yt1=step(g1,t);yt2=step(g2,t);yt3=step(g3,t);et1=0;forn=1:1:5001et1=et1+(yt1(n)-y(n))^2;endet2=0;forn=1:1:5001et2=et2+(yt2(n)-y(n))^2;en
8、d;et3=0;forn=1:1:5001et3=et3+(yt3(n)-y(n))^2;end;plot(t,yt1);holdon;plot(t,y,'r')title('第一组,分子b0')plot(t,yt2);holdon;plot(t,y,'r')title('第二组,分子b1*s+b0')plot(t,yt3);holdon;plot(t,y,'r')tit