控制系统仿真_薛定宇第五章 线性控制系统的计算机辅助分析

合集下载

控制系统计算机辅助设计:MATLAB语言与应用(第2版)薛定宇-课后习题答案

控制系统计算机辅助设计:MATLAB语言与应用(第2版)薛定宇-课后习题答案

第1章控制系统计算机辅助设计概述第2章 MATLAB语言程序设计基础第3章线性控制系统的数学模型第4章线性控制系统的计算机辅助分析第5章 Simulink在系统仿真中的应用第6章控制系统计算机辅助设计第1章控制系统计算机辅助设计概述【1】已阅,略【2】已阅,略【3】已经掌握help命令和Help菜单的使用方法【4】区别:MATLAB语言实现矩阵的运算非常简单迅速,且效率很高,而用其他通用语言则不然,很多通用语言所实现的矩阵运算都是对矩阵维数具有一点限制的,即使限制稍小的,但凡维数过大,就会造成运算上的溢出出错或者运算出错,甚至无法处理数据的负面结果【5】【8】(1)输入激励为正弦信号(2)输入激励为脉冲模拟信号(3)输入激励为时钟信号(4) 输入激励为随机信号(5) 输入激励为阶跃信号δ=0.3δ=0.05δ=0.7结论:随着非线性环节的死区增大,阶跃响应曲线的范围逐渐被压缩,可以想象当死区δ足够大时,将不再会有任何响应产生。

所以可以得到结论,在该非线性系统中,死区的大小可以改变阶跃响应的幅值和超调量。

死区越大,幅值、超调量将越小,而调整时间几乎不受其影响第2章 MATLAB语言程序设计基础【1】>> A=[1 2 3 4;4 3 2 1;2 3 4 1;3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1>> B=[1+4i,2+3i,3+2i,4+i;4+i,3+2i,2+3i,1+4i;2+3i,3+2i,4+i,1+4i;3+2i,2+3i,4+i,1+4i]B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i>> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5∴若给出命令A(5,6)=5则矩阵A的第5行6列将会赋值为5,且其余空出部分均补上0作为新的矩阵A,此时其阶数为5×6【2】相应的MATLAB命令:B=A(2:2:end,:)>> A=magic(8)A =64 2 3 61 60 6 7 579 55 54 12 13 51 50 1617 47 46 20 21 43 42 2440 26 27 37 36 30 31 3332 34 35 29 28 38 39 2541 23 22 44 45 19 18 4849 15 14 52 53 11 10 568 58 59 5 4 62 63 1>> B=A(2:2:end,:)B =9 55 54 12 13 51 50 1640 26 27 37 36 30 31 3341 23 22 44 45 19 18 488 58 59 5 4 62 63 1∴从上面的运行结果可以看出,该命令的结果是正确的【3】>> syms x s; f=x^5+3*x^4+4*x^3+2*x^2+3*x+6f =x^5 + 3*x^4 + 4*x^3 + 2*x^2 + 3*x + 6>> [f1,m]=simple(subs(f,x,(s-1)/(s+1)))f1 =19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^5m =simplify(100)【4】>> i=0:63; s=sum(2.^sym(i))s =0615【5】>> for i=1:120if(i==1|i==2) a(i)=1;else a(i)=a(i-1)+a(i-2);endif(i==120) a=sym(a); disp(a); endend[ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, , , , , 5, 1, 6, 7, 3, 70, 03, 73, 76, 49, , 074, 099, 173, 272, 2445, 3717, 6162, 9879, 6041, 55920, 81961, 37881, 19842, 106, 177565, 035288, 212853, 248141, 0460994, , 1170129, 1879264, 8065, , , , 00884757, , 0, 5, 6, 1, 0, 88, , 673, 58, 931, , 120, , 029, 4, 2, 9905, 3072, 2977, 46049, 69026, 15075, 40, 99176, 083277, 082453, 165730, 248183, 7576, 62096, , 4738105, 5814114, 9, 186333, , 284885, 9, 3488322, 9, 0, 0]【6】>>k=1;for i=2:1000for j=2:iif rem(i,j)==0if j<i, break;endif j==i, A(k)=i; k=k+1; break; endendendenddisp(A);Columns 1 through 132 3 5 7 11 13 17 19 23 29 31 37 41 Columns 14 through 2643 47 53 59 61 67 71 73 79 83 89 97 101 Columns 27 through 39103 107 109 113 127 131 137 139 149 151 157 163 167 Columns 40 through 52173 179 181 191 193 197 199 211 223 227 229 233 239 Columns 53 through 65241 251 257 263 269 271 277 281 283 293 307 311 313 Columns 66 through 78317 331 337 347 349 353 359 367 373 379 383 389 397 Columns 79 through 91401 409 419 421 431 433 439 443 449 457 461 463 467 Columns 92 through 104479 487 491 499 503 509 521 523 541 547 557 563 569 Columns 105 through 117571 577 587 593 599 601 607 613 617 619 631 641 643 Columns 118 through 130647 653 659 661 673 677 683 691 701 709 719 727 733 Columns 131 through 143739 743 751 757 761 769 773 787 797 809 811 821 823 Columns 144 through 156827 829 839 853 857 859 863 877 881 883 887 907 911 Columns 157 through 168919 929 937 941 947 953 967 971 977 983 991 997【7】说明:h和D在MATLAB中均应赋值,否则将无法实现相应的分段函数功能syms x; h=input(‘h=’); D=input(‘D=’);y=h.*(x>D)+(h.*x/D).*(abs(x)<=D)-h.*(x<-D)【10】function y=fib(k)if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endif nargout>1,error('出错:输出变量个数过多!');endif k<=0,error('出错:输入序列应为正整数!');endif k==1|k==2,y=1;else y=fib(k-1)+fib(k-2);endend【13】【14】>> t=[-1:0.001:-0.2,-0.1999:0.0001:0.1999,0.2:0.001:1];y=sin(1./t);plot(t,y);grid on;【15】(1) >> t=-2*pi:0.01:2*pi;r=1.0013*t.^2;polar(t,r);axis('square')(2) >> t=-2*pi:0.001:2*pi;r=cos(7*t/2);polar(t,r);axis('square')(3) >> t=-2*pi:0.001:2*pi;r=sin(t)./t;polar(t,r);axis('square')(4) >> t=-2*pi:0.001:2*pi;r=1-cos(7*t).^3;polar(t,r);axis('square')【17】(1)z=xy>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=x.*y;mesh(x,y,z);>> contour3(x,y,z,50);(1)z=sin(xy)>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=sin(x.*y);mesh(x,y,z);>> contour3(x,y,z,50);第3章线性控制系统的数学模型【1】(1) >> s=tf('s');G=(s^2+5*s+6)/(((s+1)^2+1)*(s+2)*(s+4))Transfer function:s^2 + 5 s + 6--------------------------------s^4 + 8 s^3 + 22 s^2 + 28 s + 16(2) >> z=tf('z',0.1);H=5*(z-0.2)^2/(z*(z-0.4)*(z-1)*(z-0.9)+0.6)Transfer function:5 z^2 - 2 z + 0.2---------------------------------------z^4 - 2.3 z^3 + 1.66 z^2 - 0.36 z + 0.6Sampling time (seconds): 0.1【2】(1)该方程的数学模型>> num=[6 4 2 2];den=[1 10 32 32];G=tf(num,den)Transfer function:6 s^3 + 4 s^2 + 2 s + 2------------------------s^3 + 10 s^2 + 32 s + 32(2)该模型的零极点模型>> G=zpk(G)Zero/pole/gain:6 (s+0.7839) (s^2 - 0.1172s + 0.4252)-------------------------------------(s+4)^2 (s+2)(3)由微分方程模型可以直接写出系统的传递函数模型【5】(1) >> P=[0;0;-5;-6;-i;i];Z=[-1+i;-1-i];G=zpk(Z,P,8)Zero/pole/gain:8 (s^2 + 2s + 2)-------------------------s^2 (s+5) (s+6) (s^2 + 1)(2) P=[0;0;0;0;0;8.2];Z=[-3.2;-2.6];H=zpk(Z,P,1,'Ts',0.05,'Variable','q')Zero/pole/gain:(q+3.2) (q+2.6)---------------q^5 (q-8.2)Sampling time (seconds): 0.05【8】(1)闭环系统的传递函数模型>> s=tf('s');G=10/(s+1)^3;Gpid=0.48*(1+1/(1.814*s)+0.4353*s/(1+0.4353*s));G1=feedback(Gpid*G,1)Transfer function:7.58 s^2 + 10.8 s + 4.8--------------------------------------------------------------0.7896 s^5 + 4.183 s^4 + 7.811 s^3 + 13.81 s^2 + 12.61 s + 4.8 (2)状态方程的标准型实现>> G1=ss(G1)a =x1 x2 x3 x4 x5 x1 -5.297 -2.473 -2.186 -0.9981 -0.7598x2 4 0 0 0 0 x3 0 2 0 0 0 x4 0 0 2 0 0x5 0 0 0 0.5 0b =u1x1 2x2 0x3 0x4 0x5 0c =x1 x2 x3 x4 x5y1 0 0 0.6 0.4273 0.3799d =u1y1 0Continuous-time state-space model.(3)零极点模型>> G1=zpk(G1)Zero/pole/gain:9.6 (s^2 + 1.424s + 0.6332)--------------------------------------------------------(s+3.591) (s^2 + 1.398s + 0.6254) (s^2 + 0.309s + 2.707)【11】>> Ga=feedback(s/(s^2+2)*1/(s+1),(4*s+2)/(s+1)^2);Gb=feedback(1/s^2,50);G=3*feedback(Gb*Ga,(s^2+2)/(s^3+14))Transfer function:3 s^6 + 6 s^5 + 3 s^4 + 42 s^3 + 84 s^2 + 42 s---------------------------------------------------------------------------s^10 + 3 s^9 + 55 s^8 + 175 s^7 + 300 s^6 + 1323 s^5 + 2656 s^4 + 3715 s^3+ 7732 s^2 + 5602 s + 1400【13】c1=feedback(G5*G4,H3)=G5*G4/(1+G5*G4*H3)c2=feedback(G3,H4*G4)=G3/(1+G3*H4*G4)c3=feedback(c2*G2,H2)=c2*G2/(1+c2*G2*H2)=G3*G2/(1+G3*H4*G4+G3*G2*H1)G=feedback(G6*c1*c3*G1,H1)=G6*c1*c3*G1/(1+ G6*c1*c3*G1*H1)=G6*G5*G4*G3*G2*G1/(1+G3*H4*G4+G3*G2*H1+G5*G4*H3+G5*G4*H3*G3*H4*G4+G5*G4* H3*G3*G2*H1+G6*G5*G4*G3*G2*G1*H1)【14】>> s=tf('s');c1=feedback(0.21/(1+0.15*s),0.212*130/s);c2=feedback(c1*70/(1+0.0067*s)*(1+0.15*s)/(0.051*s),0.1/(1+0.01*s));G=(1/(1+0.01*s))*feedback(130/s*c2*1/(1+0.01*s)*(1+0.17*s)/(0.085*s),0.0044/(1+0.01*s)) Transfer function:0.004873 s^5 + 1.036 s^4 + 61.15 s^3 + 649.7 s^2 + 1911 s---------------------------------------------------------------------------4.357e-014 s^10 + 2.422e-011 s^9 +5.376e-009 s^8 +6.188e-007 s^7+ 4.008e-005 s^6 + 0.001496 s^5 + 0.03256 s^4 + 0.4191 s^3+ 2.859 s^2 + 8.408 s 第4章线性控制系统的计算机辅助分析【1】(1) >> num=[1];den=[3 2 1 2];G=tf(num,den);eig(G)ans =-1.00000.1667 + 0.7993i0.1667 - 0.7993i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(2) >> num=[1];den=[6 3 2 1 1];G=tf(num,den);eig(G)ans =-0.4949 + 0.4356i-0.4949 - 0.4356i0.2449 + 0.5688i0.2449 - 0.5688i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(3) >> num=[1];den=[1 1 -3 -1 2];G=tf(num,den);eig(G)ans =-2.0000-1.00001.00001.0000分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(4) >> num=[3 1];den=[300 600 50 3 1];G=tf(num,den);eig(G)ans =-1.9152-0.14140.0283 + 0.1073i0.0283 - 0.1073i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(5) >> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2));eig(G)ans =-3.0121-1.0000-0.1440 + 0.3348i-0.1440 - 0.3348i分析:由以上信息可知,系统的所有极点都在s域的左半平面,因此系统是稳定的【2】(1) >> num=[-3 2];den=[1 -0.2 -0.25 0.05];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.5000 0.5000 0.2000分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(2) >> num=[3 -0.39 -0.09];den=[1 -1.7 1.04 0.268 0.024];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =1.1939 1.1939 0.1298 0.1298分析:由以上信息可知,由于前两个特征根的模均大于1,因此该系统是不稳定的(3) >> num=[1 3 -0.13];den=[1 1.352 0.4481 0.0153 -0.01109 -0.001043];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.8743 0.1520 0.2723 0.2344 0.1230分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(4) >> num=[2.12 11.76 15.91];den=[1 -7.368 -20.15 102.4 80.39 -340];H=tf(num,den,'Ts',0.5,'Variable','q');abs((eig(H))')ans =8.2349 3.2115 2.3415 2.3432 2.3432分析:由以上信息可知,所有特征根的模均大于1,因此该系统是不稳定的【3】(1) >> A=[-0.2,0.5,0,0,0;0,-0.5,1.6,0,0;0,0,-14.3,85.8,0;0,0,0,-33.3,100;0,0,0,0,-10];eig(A)ans =-0.2000-0.5000-14.3000-33.3000-10.0000分析:由以上信息可知,该连续线性系统的A矩阵的所有特征根的实部均为负数,因此该系统是稳定的(2)>>F=[17,24.54,1,8,15;23.54,5,7,14,16;4,6,13.75,20,22.5589;10.8689,1.2900,19.099,…-4-3.5-3-2.5-2-1.5-1-0.50x 10-6P ole-Zero Map Real Axis (seconds -1)I m a g i n a r y A x i s (s e c o n d s -1)21.896,3;11,18.0898,25,2.356,9];abs(eig(F)') ans =63.7207 23.5393 12.4366 13.3231 19.7275分析:由以上信息可知,该离散系统的F 矩阵的所有特征根的模均大于1,因此该系统是不稳定的 【4】>> A=[-3 1 2 1;0 -4 -2 -1;1 2 -1 1;-1 -1 1 -2]; B=[1 0;0 2;0 3;1 1];C=[1 2 2 -1;2 1 -1 2];D=[0 0;0 0];G=ss(A,B,C,D); tzero(G)pzmap(G)ans =-3.6124-1.2765结论:∴可以得到该系统的 零点为-3.6124、-1.2765 分析:由以上信息可知,【5】>> s=tf('s');Gc=sscanform(G,'ctrl') Go=sscanform(G,'obsv') a =x1 x2 x3 x4 x1 0 1 0 0 x2 0 0 1 0 x3 0 0 0 1 x4 -0.4 -1.4 -4.3 -4.3 b =u1 x1 0 x2 0 x3 0 x4 1 c =x1 x2 x3 x4 y1 0.4 0.2 0 0 d =u1 y1 0Continuous-time state-space model. a =x1 x2 x3 x4x1 0 0 0 -0.4x2 1 0 0 -1.4x3 0 1 0 -4.3x4 0 0 1 -4.3b =u1x1 0.4x2 0.2x3 0x4 0c =x1 x2 x3 x4y1 0 0 0 1d =u1y1 0Continuous-time state-space model.【9】(1)>> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R1,P1,K1]=residue(num,[den 0]);[R1,P1]ans =-1.2032 -8.0000-1.0472 -7.00000.2000 -6.00000.7361 -5.0000-2.8889 -4.00002.2250 -3.0000-2.0222 -2.00003.0004 -1.00001.0000 0>> [n,d]=rat(R1);sym([n./d]')ans =[ -379/315, -377/360, 1/5, 53/72, -26/9, 89/40, -91/45, 7561/2520, 1][阶跃响应的解析解]y(t)=(-379/315)*e-8t+(-377/360)*e-7t+(1/5)*e-6t+(53/72)*e-5t+(-26/9)*e-4t+(89/40)*e-3t+ (-90/45)*e-2t+(7561/2520)*e-t+1(2) >> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R2,P2,K2]=residue(num,den);[R2,P2]ans =9.6254 -8.00007.3306 -7.0000-1.2000 -6.0000-3.6806 -5.000011.5556 -4.0000-6.6750 -3.00004.0444 -2.0000-3.0004 -1.0000>> [n,d]=rat(R2);sym([n./d]')ans =[ 3032/315, 887/121, -6/5, -265/72, 104/9, -267/40, 182/45, -7561/2520][脉冲响应的解析解]y(t)=(3032/315)*e-8t+(887/121)*e-7t+(-6/5)*e-6t+(-265/72)*e-5t+(104/9)*e-4t+(-267/40)*e-3t+(182/45)*e-2t+(-7561/2520)*e-t(3) >> syms t;u=sin(3*t+5);Us=laplace(u)Us =(3*cos(5) + s*sin(5))/(s^2 + 9)>> s=tf('s');Us=(3*cos(5)+s*sin(5))/(s^2+9);num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];G=tf(num,den); Y=Us*G;num=Y.num{1}; den=Y.den{1};[R3,P3,K3]=residue(num,den); [R3,P3]ans =1.1237 -8.00000.9559 -7.0000-0.1761 -6.0000-0.6111 -5.00002.1663 -4.0000-1.1973 - 0.0010i 0.0000 + 3.0000i-1.1973 + 0.0010i 0.0000 - 3.0000i-1.3824 -3.00000.8614 -2.0000-0.5430 -1.0000>> [n,d]=rat(R3);sym([n./d]')ans =[109/97, 282/295, -59/335, -965/1579, 951/439, - 449/375 + (18*i)/17981, - 449/375 - (18*i)/17981, -1663/1203, 317/368, -82/151]Linear Simulation Results Time (seconds)A m p l i t u d e [正弦信号时域响应的解析解]y(t)=(109/97)*e -8t +(282/295)*e -7t +(-59/335)*e -6t +(-965/1579)*e -5t +(-449/375)*e -4t +(-1663/1203)*e -3t +(317/368)*e -2t +(-82/151)*e -t -2.3947sin(3t)[输出波形]>> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320]; G=tf(num,den); t=[1:.1:20]';u=sin(3*t+5); lsim(G,u,t);分析:由解析解可知,输出信号的稳态部分是振荡的,并且其幅值与相位始终 在到达稳态的时候保持不变,因此 右图所示的输出波形与解析解所得的结论是一致的【10】(1)因为PI 或PID 控制器均含有Ki/s 节,则当Kp →∞,即|e(t)|一环节后,如果要求|e(t)|→0(2)不稳定系统能用PI 或PID 在积分控制中,控制器的输出与输入误差信号的积分成正比关系。

计算机控制与仿真技术(第二版)-第5章 控制系统的MATLAB 7建模

计算机控制与仿真技术(第二版)-第5章 控制系统的MATLAB 7建模
10
5.2.2 环节并联连接的化简
环节并联是指多个环节的输入信号相同,所有环
节输出的代数和为其总输出。两环节相并联如图5-2
所示。
G1 ( s ) y1 (t )
+
u (t )
y (t )
G2 ( s)
图 5-2
y 2 (t )
+
并联连接结构
11
parallel()函数命令可以将两个环节并联连接进行 等效化简。它既适用于连续时间系统也适用于离散时
feedback()函数命令格式为: G=feedback(G1,G2,sign)
[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)
[num,den]=feedback(num1,den1,num2,den2,sign)
14
5.2.4 闭环系统的化简
通过将所有的输出反馈到输入,从而构成闭
num [c 0 , c1 , , c m ] den [a1 , a 2 , , a a ]
3
在MATLAB中,用函数命令tf()来建立控制系 统的传递函数模型,tf()函数命令常用的调用格式
为:

sys= tf(num, den)
sys= tf(num, den, Ts)
5.2 环节方框图模型的化简
5.2.1 环节串联连接的化简
控制系统的环节串联及其化简就是模块方框图模 型的串联及其化简。可以用MATLAB的函数命令 series()将串联模块化简。
u1 (t )
G1 ( s ) y1 (t )
u 2 (t )
G 2 ( s)
y 2 (t )
图 5-1

控制工程的计算机仿真1

控制工程的计算机仿真1
冒号生成法: A=start:step:end
>> b=[1;2;3;4] >> a=1:2:8
Linespace命令法 A=linspace(start,end,n)
Logspace命令法
A=logspace(a,b,n)
>> a=linspace(1,20,6) >> a=logspace(1,3,3)
2020/11/4
9
1.2 数字仿真软件
1.3 仿真技术的应用与发展 1.3.1 仿真技术的应用
系统仿真技术是分析﹑综合各类系统的一种有力的工具和手段。它目前已 广泛地应用于几乎所有的科学技术领域。
在系统分析﹑综合方面的应用 在仿真器方面的应用 在技术咨询和预测方面的应用
1.3.2 仿真技术的发展趋势
2020/11/4
13
2.3.2 矩阵运算
2.3.3 矩阵操作 2.4 绘图
2.4.1 二维图形的绘制 2.4.2 三维图形的绘制
2.5 数据处理 2.5.1 多项式处理 2.5.2 曲线拟合与插值 2.5.3 数据分析
2.6 MATLAB 编程
2.6.1 条件语句与循环语句 2.6.2 M文件与M 函数的编写与运行
第一章 第二章 第三章 第四章 第五章 第六章
控制系统的计算机仿真 概论 MATLAB与Simulink基础 控制系统的数学描述与建模 连续系统的离散化方法 控制系统的时频分析法 控制系统的校正
2020/11/4
1
暂定教材:控制系统仿真及MATLAB语言,吴忠强等编著, 电子工业出版社,2009.1月 第1次印刷
2020/11/4
14
习题
1-1 仿真遵循的基本原则是什么? 仿真所遵循的基本原则:相似原理(包括几何相似、环境相似和性能相

控制系统仿真 答案 薛定宇 第二版

控制系统仿真 答案 薛定宇 第二版

第一部分:MATLAB 必备基础知识、控制系统模型与转换、线性控制系统的计算机辅助分析(4学时)1.2.3.答:(a)>> s=tf('s');G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5))Transfer function:s^3 + 4 s + 2------------------------------------------------------s^11 + 5 s^9 + 9 s^7 + 2 s^6 + 12 s^5 + 4 s^4 + 12 s^3(b)>> num=[1 0 0.568];den=[1 -1.2 1.19 -0.99];H=tf(num,den,'Ts',0.1)Transfer function:z^2 + 0.568-----------------------------z^3 - 1.2 z^2 + 1.19 z - 0.99Sampling time: 0.14.设y(t)=x1;A=[0,1,0;0,0,1;-13,-4,-5];B=[0;0;2];C=[1,0,0];D=0;G=SS(A,B,C,D)a =x1 x2 x3x1 0 1 0x2 0 0 1x3 -13 -4 -5b =u1x1 0x2 0x3 2c =x1 x2 x3y1 1 0 0d =u1y1 0Continuous-time model.传递函数模型:对式子两联进行拉氏变换,G(s)=2/(s^3+13*s^2+4*s+5)对分子分母进行分解因式处理5.进行Z变换6.s=tf('s');syms J Kps Ki;G=(s+1)/(J*s^2+2*s+5);Gc=(Kps+Ki)/s;H=1;GG=feedback(G*Gc,H) 7.(a)s=tf('s');G=(211.87*s+317.64)/((s+20)*(s+94.34)*(s+0.1684));Gc=(169.6*s+400)/s/(s+4);H=1/(0. 01*s+1);GG=feedback(G*Gc,H)Transfer function:359.3 s^3 + 3.732e004 s^2 + 1.399e005 s + 127056----------------------------------------------------------------------------------0.01 s^6 + 2.185 s^5 + 142.1 s^4 + 2444 s^3 + 4.389e004 s^2 + 1.399e005 s + 1270568.Ga=feedback(1/s^2,50);G1=feedback((1/(s+1))*(s/(s^2+2)),(4*s+2)/((s+1)^2));G2=feedback(Ga* G1,(s^2+2)/(s^3+14));G=3*G2Transfer function:3 s^6 + 6 s^5 + 3 s^4 + 42 s^3 + 84 s^2 + 42 s-----------------------------------------------------------------------------------------------------s^10 + 3 s^9 + 55 s^8 + 175 s^7 + 300 s^6 + 1323 s^5 + 2656 s^4 + 3715 s^3 + 7732 s^2 + 5602 s + 14009.>> s=tf('s');G=(s+1)^2*(s^2+2*s+400)/(s+5)^2/(s^2+3*s+100)/(s^2+3*s+2500)Transfer function:s^4 + 4 s^3 + 405 s^2 + 802 s + 400-------------------------------------------------------s^6 + 16 s^5 + 2694 s^4 + 34040 s^3 + 393225 s^2+ 2.695e006 s + 6.25e006>> step(G)s=tf('s');G=(s+1)^2*(s^2+2*s+400)/(s+5)^2/(s^2+3*s+100)/(s^2+3*s+2500);G1=c2d(G,0.01)Transfer function:4.716e-005 z^5 - 0.0001396 z^4 + 9.596e-005 z^3 + 8.18e-005 z^2 - 0.0001289 z + 4.355e-005 ------------------------------------------------------------------------------------------z^6 - 5.592 z^5 + 13.26 z^4 - 17.06 z^3 + 12.58 z^2 - 5.032 z + 0.8521>> step(G1)Sampling time: 0.01>> s=tf('s');G=(s+1)^2*(s^2+2*s+400)/(s+5)^2/(s^2+3*s+100)/(s^2+3*s+2500);G1=c2d(G,0.1) Transfer function:0.0003982 z^5 - 0.0003919 z^4 - 0.000336 z^3+ 0.0007842 z^2 - 0.000766 z + 0.0003214-------------------------------------------------------z^6 - 2.644 z^5 + 4.044 z^4 - 3.94 z^3 + 2.549 z^2- 1.056 z + 0.2019Sampling time: 0.1>> step(G1)>> s=tf('s');G=(s+1)^2*(s^2+2*s+400)/(s+5)^2/(s^2+3*s+100)/(s^2+3*s+2500);G1=c2d(G,1) Transfer function:8.625e-005 z^5 - 4.48e-005 z^4 + 6.545e-006 z^3+ 1.211e-005 z^2 - 3.299e-006 z + 1.011e-007-------------------------------------------------------z^6 - 0.0419 z^5 - 0.07092 z^4 - 0.0004549 z^3+ 0.002495 z^2 - 3.347e-005 z + 1.125e-007Sampling time: 1>> step(G1)10.(a)>> s=tf('s');G=1/(s^3+2*s^2+s+2);eig(G)ans =-2.00000.0000 + 1.0000i0.0000 - 1.0000i临界稳定(b)>> s=tf('s');G=1/(6*s^4+3*s^3+2*s^2+s+1);eig(G) ans =-0.4949 + 0.4356i-0.4949 - 0.4356i0.2449 + 0.5688i0.2449 - 0.5688i不稳定(c)>> s=tf('s');G=1/(s^4+s^3-3*s^2-s+2);eig(G)ans =-2.0000-1.00001.00001.0000不稳定11.(a)>> z=tf('z');G=(-3*z+2)/(z^3-0.2*z^2-0.25*z+0.05);abs(eig(G))ans =0.50000.50000.2000稳定(b)z=tf('z');G=(3*z^2-0.39*z-0.09)/(z^4-1.7*z^3+1.04*z^2+0.268*z+0.024);abs(eig(G)) ans =1.19391.19390.12980.1298不稳定12.求矩阵A的特征根,判断其特征根是否全具有负实部,则稳定13.14.15.16.17.第二部分:Simulink 在系统仿真中的应用、控制系统计算机辅助设计、控制工程中的仿真技术应用(4 学时)3.4.5.6.7.8.9.。

控制系统计算机辅助设计-MATLAB语言和应用

控制系统计算机辅助设计-MATLAB语言和应用

2018/10/16
控制系统计算机辅助设计-MATLAB语言与应用
11

我国较有影响的控制系统仿真与计算机辅助设计 成果是中科院系统科学研究所韩京清研究员等主 持的国家自然科学基金重大项目开发的CADCSC 软件。 清华大学孙增圻、袁曾任教授的著作和程序。 以及北京化工学院吴重光、沈成林教授的著作和 程序等。
控制系统计算机辅助设计-MATLAB语言与应用
13


2018/10/16

系统仿真领域有很多自己的特性,如果能选择一种 能反映当今系统仿真领域最高水平,也是最实用的 软件或语言介绍仿真技术,使得读者能直接采用该 语言解决自己的问题,将是很有意义的。
实践证明,MATLAB 就是这样的仿真软件,由于 它本身卓越的功能,已经使得它成为自动控制、航 空航天、汽车设计等诸多领域仿真的首选语言。 所以在本书中将介绍基于 MATLAB/Simulink的控 制系统仿真与设计方法及其应用。
控制系统计算机辅助设计-MATLAB语言与应用
2
2018/10/16
1.1 控制系统计算机辅助设计 技术的发展综述

早期的控制系统设计可以由纸笔等工具容易地计算 出来,如 Ziegler 与 Nichols 于1942年提出的 PID 经 验公式就可以十分容易地设计出来。
随着控制理论的迅速发展,光利用纸笔以及计算器 等简单的运算工具难以达到预期的效果,加之在计 算机领域取得了迅速的发展,于是很自然地出现了 控制系统的计算机辅助设计 (computer-aided control system design , CACSD)方法。
控制系统计算机辅助设计-MATLAB语言与应用
18

2018/10/16

matlab的控制系统仿真与应用 第五章

matlab的控制系统仿真与应用 第五章
则状态反馈阵 K 为:K
[ n a n , n1 a n1 ,,1 a1 ] T 1
a n 2 a1 a n 3 1 0 1 0 0
a n 1 a n2 T b A b A n 1 b a1 1 函数bass_pp( ) 调用格式为:
1
2 n K v1 v2 vn
n v1 v2 vn
1
i K ,于是 vi
vi V,对于给定 i ,可以求出 i i
vi
一般说来
v1
v2 v n 可逆,否则重新选择 1 2 n 。
n V1 1 V2 2 Vn n
ai
(i=1,2,…,n - 1)为特征多项式系数,即
sI a s n a1 s n 1 an 1 s an 0
定义新的状态
ˆ x
x=T
ˆ x
1.变换法
由于系统可控,因此T可逆,系统变换成
1 1 ˆ T aTx ˆ T bu x
其中
0 0 1 T aT 0 an 1 0 0 an 1 0 1 0 a n 2 0 0 0 0 1 T b 1 0 a1 1
若假定 i 与A的特征值有相同的,或 i 中有重根时, i 1,2,, n 则可以对特征值相同的一个或几个加上一定的微小偏量,使之满足上面第一种 情形的条件。然后,再重新进行极点配置。如果效果不够理想,那么还可重新选择 1 2 n 阵来进行配置。 控制系统工具箱中place( )函数是基于鲁棒极点配置的算法,用来求取状态反馈 阵K,使得多输入系统具有指定的闭环极点P,即 p eig( A B * K ) 。 place( )函数调用格式为:

控制工程基础-控制系统的计算机仿真

控制工程基础-控制系统的计算机仿真
电子工程
计算机仿真在电子工程中用于模拟电路系 统和数字系统的行为,进行电路设计和优 化。
04 控制系统的计算机仿真
控制系统的数学模型
线性时不变系统
描述系统的动态行为,通过微分方程、差分方程等数学表达式表 示。
传递函数
描述系统输入与输出之间的关系,通过传递函数进行描述。
状态空间模型
描述系统的动态行为,通过状态方程和输统
开环控制系统是指系统中没有反馈回路的系统,输入信号 直接作用于受控对象,输出信号与输入信号之间的关系是 固定的。
线性控制系统
线性控制系统是指系统中各元件之间的关系可以用线性方 程描述的系统。
闭环控制系统
闭环控制系统是指系统中具有反馈回路的系统,输出信号 通过反馈回路回到输入端,控制器根据反馈信号调整输入 信号,以实现控制目标。
03
计算机资源的限制
大规模的控制系统仿真可能需要 较高的计算机资源,如内存和计 算能力。
未来发展方向与展望
混合仿真
结合物理实验和计算机仿真,以提高仿真的 准确性和可信度。
多尺度仿真
考虑系统不同尺度的特性和行为,以更全面 地模拟和控制复杂系统。
高性能计算
利用高性能计算机和并行计算技术,提高大 规模控制系统的仿真效率。
智能化仿真
结合人工智能和机器学习技术,实现自适应 和智能化的仿真和控制。
THANKS FOR WATCHING
感谢您的观看
多输入多输出系统仿真
总结词
多输入多输出系统是指具有多个输入信号和多个输出信号的控制系统。
详细描述
多输入多输出系统在工业控制中应用广泛,如机器人、飞行器等。通过计算机仿真,可以模拟系统的动态行为, 分析系统的稳定性和性能,优化控制策略。

《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇_课后习题答案

《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇_课后习题答案
polar(t,r);axis('square')
【17】
(1)z=xy
>>[x,y]=meshgrid(-3:0.01:3,-3:0.01:3);
z=x.*y;
mesh(x,y,z);
>> contour3(x,y,z,50);
(1)z=sin(xy)
>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);
【2】
相应的MATLAB命令:B=A(2:2:end,:)
>>A=magic(8)
A=
642361606757
955541213 515016
174746 202143 4224
4026273736 303133
323435 292838 3925
4123224445191848
491514 5253 11 10 56
【10】
function y=fib(k)
if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endﻭif nargout>1,error('出错:输出变量个数过多!');end
if k<=0,error('出错:输入序列应为正整数!');endﻭifk==1|k==2,y=1;ﻭelsey=fib(k-1)+fib(k-2);endﻭend
858 5954 62 631
>>B=A(2:2:end,:)
B =
955 541213515016
40262737 36303133
41232244451918 48
858 5954 62631
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家级精品课程
控制系统仿真与CAD
第五章 线性控制系统的计算机辅助分析
东北大学信息学院 薛定宇
控制系统仿真与CAD 国家级精品课程
2014-12-31
1/139
本章主要内容
线性系统定性分析 线性系统时域响应解析解法 线性系统的数字仿真分析 根轨迹分析 线性系统频域分析 多变量系统的频域分析
如果系统中所有的状态都是可控的,则称该系 统为完全可控的系统。 系统的可控性就是指系统内部的状态是不是可 以由外部输出信号控制的性质
控制系统仿真与CAD 国家级精品课程
2014-12-31


20/139
线性系统的可控性判定

可控性判定矩阵


若矩阵 为满秩矩阵,则系统完全可控 基于 MATLAB 的判定方法
控制系统仿真与CAD 国家级精品课程
2014-12-31
43/139

离散系统的范数定义

范数的 MATLAB 求解
控制系统仿真与CAD 国家级精品课程
2014-12-31
44/139
例5-9 已知离散系统模型
控制系统仿真与CAD 国家级精品课程
2014-12-31
45/139
5-1 系统性质分析小结
控制系统仿真与CAD 国家级精品课程
2014-12-31
14/139

判定的 MATLAB 函数

内部稳定返回0,内部不稳定但输入输出稳定返 回1,否则返回2
控制系统仿真与CAD 国家级精品课程
2014-12-31
15/139
5.1.3 线性系统的线性相似变换



系统的状态方程表示称为系统实现 不同状态选择下,状态方程不唯一 相似变换

若原系统状态方程完全可控,则不必分解
控制系统仿真与CAD 国家级精品课程
2014-12-31
25/139
例5-6 不完全可控系统
控制系统仿真与CAD 国家级精品课程
2014-12-31
26/139
4.1.5 线性系统的可观测性分析

可观测性定义
假设系统由状态方程 给出,对 任意的初始时刻 ,如果状态空间中任一状 态 在任意有限时刻 的状态 可以由 输出信号在这一时间区间内 的值精 确地确定出来,则称此状态是可观测的。 如果系统中所有的状态都是可观测的,则称 该系统为完全可观测的系统。 系统的可观测性就是指系统内部的状态是不 是可以由系统输出信号重建起来的性质

控制系统仿真与CAD 国家级精品课程
2014-12-31
4/139
5.1.1 线性系统的稳定性分析

给定线性系统模型,如何分析稳定性?
单位负反馈闭环系统 由控制理论可知,用Routh 表格可以判定该系统稳定性。 Edward John Routh (1831-1907) 历史局限性

控制系统仿真与CAD 国家级精品课程
2014-12-31
49/139
5.2.2 基于状态方程的解析解方法

状态方程模型 解析解


求解难点 想法:如果能用某种方法消去积分项最好
控制系统仿真与CAD 国家级精品课程
2014-12-31

50/139
状态增广方法

消除B 矩阵,变成自治系统


增广状态方程

常用标准型

单变量系统的标准型
MATLAB 默认的标准型 可控标准型实现 可观测标准型实现 和 Jordan 标准型实现


多变量系统 Luenberger 标准型

侧重点:如何用 MATLAB 直接获取标准型
控制系统仿真与CAD 国家级精品课程
2014-12-31
31/139
单变量系统的标准型

传递函数的一般形式

处理后的传递函数标准型

其中 由前面给出的传递函数标准型可以直接写 出系统的可控和可观测标准型
控制系统仿真与CAD 国家级精品课程
2014-12-31
32/139

传递函数一般形式

可控标准型
控制系统仿真与CAD 国家级精品课程
2014-12-31
33/139

传递函数一般形式
离散系统:pzmap(G),同时画出单位圆
控制系统仿真与CAD 国家级精品课程
2014-12-31
9/139
例5-1 高阶系统稳定性判定

直接分析方法

零极点模型
控制系统仿真与CAD 国家级精品课程
2014-12-31
10/139
例5-2 高阶离散单位负反馈系统模型

MATLAB 求解
控制系统仿真与CAD 国家级精品课程
控制系统仿真与CAD 国家级精品课程
2014-12-31
46/139
5.2 线性系统时域响应解析解法


给线性系统一个激励信号,输出是什么? 有两大类方法

解析解方法

求解微分方程、差分方程解析解

数值解方法 基于状态方程的解析解方法 基于传递函数的解析解方法 二阶系统的解析解方法
控制系统仿真与CAD 国家级精品课程

标准4-12-31
41/139
例5-8 已知模型,求Luenberger标准型

MATLAB处理
控制系统仿真与CAD 国家级精品课程
2014-12-31
42/139
5.1.8 系统的范数测度及求解


系统也有范数:范数即测度 范数

范数

范数是系统频域响应的峰值
控制系统仿真与CAD 国家级精品课程
2014-12-31
18/139

变换结果

可见,相似变换能改变系统的结构 引入相似变换矩阵,可以将已知系统转换 成其他的形式
控制系统仿真与CAD 国家级精品课程
2014-12-31
19/139
4.1.4 线性系统的可控性分析

可控性定义

假设系统由状态方程 给出,对任 意的初始时刻 ,如果状态中任一状态 可 以从初始状态 处,由有界的输入信号 的驱动下,在有限时间 内能够到达任意预先 指定的状态 ,则称此状态是可控的。
控制系统仿真与CAD 国家级精品课程
2014-12-31



8/139
基于 MATLAB 的稳定性判定方法

直接判定
状态方程模型、传递函数模型等
eig(G) 可以求出所有特征根 离散系统:abs(eig(G))


isstable(G) 也可以用于系统的稳定性判定

图解判定法
连续系统:pzmap(G)
非奇异矩阵 状态变换 新状态方程模型


控制系统仿真与CAD 国家级精品课程
2014-12-31
16/139

状态变换公式

MATLAB 直接求解方法

也可以根据上面公式进行变换
控制系统仿真与CAD 国家级精品课程
2014-12-31
17/139
例5-3 已知系统和转换矩阵

MATLAB 求解
2014-12-31
11/139
5.1.2 线性反馈系统的内部稳定性

输入、输出稳定是不够的,因为若内部信 号可能过大,对系统作硬件破坏
应该引入内部稳定性概念,保证内部信号 也是稳定的。

控制系统仿真与CAD 国家级精品课程
2014-12-31
12/139


由给定稳定输入 到内部信号 都稳定的系统称为内部稳定系统 传递函数矩阵

自治系统

可观测标准型

可控标准型和可观测标准型对偶 可以用转置表示对偶
控制系统仿真与CAD 国家级精品课程
2014-12-31

34/139

可控可观测标准型转换
控制系统仿真与CAD 国家级精品课程
2014-12-31
35/139
Jordan 标准型



MATLAB 变换
控制系统仿真与CAD 国家级精品课程

介绍了系统定性、定量分析的方法
统一框架下分析系统的稳定性——直接方法,并 介绍了内部稳定性的判定,eig/pzmap/isstable 线性系统的相似变换方法 ss2ss 系统的可控性、可观测性分析及标准型 rank 系统的Kalman分解 系统的范数计算 norm


有些内容理论上较深,如果不能理解,知道 如何用MATLAB求解就足够了
2014-12-31

主要内容


47/139
5.2.1 直接积分方法

状态方程的解析解 直接积分语句



得到结果后有必要用simple()函数化简结果 若只需状态变量,则不用乘C
控制系统仿真与CAD 国家级精品课程
2014-12-31
48/139

例5-10 系统的状态方程为

状态变量初值 输入信号

其中 逐一判定每个子传递函数的稳定性很烦琐 内部稳定性定理
控制系统仿真与CAD 国家级精品课程
2014-12-31
13/139
内部稳定性定理

闭环系统内部稳定的充要条件为

没有不稳定零点 没有不稳定零极点对消


第一个条件等效于输入输出稳定性 判定第2条件即可 可以编写MATLAB函数判定内部稳定性
相关文档
最新文档