当前位置:文档之家› 现代控制工程及测试技术(卓迅佳)

现代控制工程及测试技术(卓迅佳)

《现代控制工程及测试技术》作业班级:硕911姓名:***学号:**********1. 用MATLAB 求解微分方程的不同命令求解如下微分方程。

5.02d d 3d d 2d d 2233=+++y ty t yt y,2.0)0(,4.0)0(,0)0(-===y y y 1) 至少选用两种求解微分方程的命令;2) 在同一幅图上,用不同属性、颜色的曲线表示)(t y 和)(t y; 解:编写m 文件程序如下:%------第一种方法采用函数ode23或ode45解----clear all;close all;t0=0;tf=15;y0=[0,0.4,-0.2]';[t,y]=ode23('vdpl',t0,tf,y0);figure(1)plot(t,y(:,1),'g-',t,y(:,2),'r--')title('用ode23函数实现微分方程的数值解')xlabel('time/sec')ylabel('value')legend('y','y''')grid%-------第二种方法采用dsolve 函数求解-----t1=0:0.05:15y=dsolve('D3y+2*D2y+3*Dy+2*y=0.5','y(0)=0,Dy(0)=0.4,D2y(0)=-0.2') s=subs(y,t1);dy=diff(y);s1=subs(dy,t1);figure(2)plot(t1,s,'g-',t1,s1,'r--')title('用dsolve 函数实现微分方程的符号解')xlabel('time/sec')ylabel('value')legend('y','y''')grid在方法一中将高阶微分方程等效表达成一阶微分方程组的程序如下:function xdot=vdpl(t,x)xdot=zeros(3,1);xdot(1)=x(2);xdot(2)=x(3);xdot(3)=-2.*x(3)-3.*x(2)-2.*x(1)+0.5;程序运行的结果及输出图形如图1.1,图1.2所示:y=1/4-3/20*exp(-t)+2/35*7^(1/2)*exp(-1/2*t)*sin(1/2*7^(1/2)*t)-1/10*exp(-1/2*t)*c os(1/2*7^(1/2)*t)dy=3/20*exp(-t)+3/140*7^(1/2)*exp(-1/2*t)*sin(1/2*7^(1/2)*t)+1/4*exp(-1/2*t)*cos (1/2*7^(1/2)*t)图1.1 用ode23函数求微分方程的解及解的一阶导数图1.2 用dsolve 函数及diff 函数求微分方程的解及解的一阶导数2. 负反馈系统的前向通道和反馈通道传递函数分别为205164)(23++++=s s s s s G ; )5)(3()1(2)(+++=s s s s H 1) 求闭环系统的标准传递函数模型,零极点增益模型,状态空间模型;并将状态空间表达模型转换成可控标准型和可观测标准型。

2) 用传递函数模型求系统的单位阶跃响应;用零极点增益模型求单位斜坡响应;用状态空间表达模型求单位脉冲响应。

解:编写m 文件程序如下:%-------------------------第二题----------------------clear all;close all;sys1=tf([4,16],[1,1,5,20]); %前向通道传递函数sys2=zpk([-1],[-3,-5],2); %反馈通道传递函数%-------生成标准传递函数模型、零极点增益模型、状态空间模型disp('闭环系统的零极点增益模型为:')zpksys=feedback(sys1,sys2)[num,den]=tfdata(zpksys,'v');disp('闭环系统的标准传递函数模型为:')tfsys=tf(num,den)disp('闭环系统的状态空间模型为:')[A,B,C,D]=ssdata(zpksys)abcdsys=ss(zpksys)%-------下面将状态控制模型转换成可控标准型和可观测标准型%------- 判断系统是否可控M=ctrb(A,B);r1=rank(M);l1=length(A);if r1<l1disp('系统是状态不完全可控的!');elsedisp('系统是状态完全可控的!');disp('将状态空间模型转换为可控标准型:')JA=poly(A);a4=JA(2);a3=JA(3);a2=JA(4);a1=JA(5);a0=JA(6);W=[a1 a2 a3 a4 1;a2 a3 a4 1 0;a3 a4 1 0 0;a4 1 0 0 0;1 0 0 0 0];%计算变换矩阵TT=M*W;Ac=inv(T)*A*TBc=inv(T)*BCc=C*TDc=Dend%---------判断系统是否可观V=[C' A'*C' A'*A'*C' (A')^3*C' (A')^4*C'];r2=rank(V);l2=size(A,1);if r2<l2disp('系统是不完全可观的');elsedisp('系统是状态完全可观的');disp('将状态空间模型转换为可观测标准型:')%计算变换矩阵QQ=inv(W*V');Ag=inv(Q)*A*QBg=inv(Q)*BCg=C*QDg=Dend%-------求系统的单位阶跃响应,单位斜坡响应,单位脉冲响应t1=0:0.2:5;figure(1)step(tfsys,t1) %传递函数模型求系统的单位阶跃响应title('传递函数模型求系统的单位阶跃响应');grid%-------零极点增益模型求单位斜坡响应%-------转换为求zpksys与1/s乘积的单位阶跃响应zpk2sys=zpk([],[0],1); %zpk2sys=1/sG=series(zpksys,zpk2sys);t2=0:0.2:5;figure(2)step(G,t2);title('零极点增益模型求单位斜坡响应');grid%------用状态空间模型求单位脉冲响应t3=0:0.2:5;figure(3)impulse(A,B,C,D,1,t3)title('状态空间模型求单位脉冲响应');grid程序运行的结果如下:1)闭环系统的零极点增益模型为:Zero/pole/gain:4 (s+3) (s+4) (s+5)-----------------------------------------------------(s+3.332) (s+5.153) (s+2.029) (s^2 - 1.514s + 9.532)闭环系统的标准传递函数模型为:Transfer function:4 s^3 + 48 s^2 + 188 s + 240-------------------------------------------s^5 + 9 s^4 + 28 s^3 + 83 s^2 + 275 s + 332闭环系统的状态空间模型为:A =0.7568 2.9931 -0.7916 1.4741 0-2.9931 0.7568 -0.3522 0.6558 00 0 -5.1533 2.1479 00 0 0 -3.3316 2.00000 0 0 0 -2.0288B =4C =3.2269 0 -0.2685 0.5000 0D =系统是状态完全可控的!将状态空间模型转换为可控标准型:Ac =-0.0000 1.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 1.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 1.0000 0.00000.0000 0.0000 0.0000 0.0000 1.0000 -332.0000 -275.0000 -83.0000 -28.0000 -9.0000 Bc =0.0000-0.0000-0.00000.00001.0000Cc =240.0000 188.0000 48.0000 4.0000 0Dc =系统是状态完全可观的将状态空间模型转换为可观测标准型:Ag =0.0000 -0.0000 0.0000 -0.0000 -332.00001.0000 -0.0000 0.0000 -0.0000 -275.00000.0000 1.0000 0.0000 0.0000 -83.00000.0000 -0.0000 1.0000 0.0000 -28.00000.0000 -0.0000 0.0000 1.0000 -9.0000 Bg =240.0000188.000048.00004.0000-0.0000Cg =0.0000 -0.0000 0.0000 -0.0000 1.0000 Dg =2)运行结果如图2.1、图2.2、图2.3所示:图2.1 传递函数模型求系统的单位阶跃响应图2.2 零极点增益模型求单位斜坡响应图2.3 状体空间模型求单位脉冲响应3. 设反馈系统的开环传递函数为 )164)(1()1()()(2++-+=s s s s s K s H s G1) 绘制系统的根轨迹。

2) 确定系统稳定时的K 值范围。

解:编写m 文件程序如下:%----------第三题------------clear allclose allnum=[1 1];den=conv(conv([1,0],[1,-1]),[1,4,16]);G=tf(num,den)rlocus(G) %求系统的根轨迹gridxlabel('实轴');ylabel('虚轴');title('根轨迹图');%-----下面求根轨迹与虚轴交点的增益及频率[K,Wcg]=plzy(G)程序运行结果如图3所示:图3 系统的根轨迹图K =23.3163 35.6837Wcg =1.56162.5615从图3中可以看出,使系统稳定的K 值的取值范围为:23.316335.6873K << 此时对应的频率为1.5616 rad/s 和2.5615 rad/s 。

相关主题