实验四 数学模型建立与转换
一、实验目的
1.学会用MATLAB建立控制系统的数学模型。
2.学会用MATLAB对控制系统的不同形式的数学模型之间的转换和连接。
二、实验内容
1.建立控制系统的数学模型
用MATLAB建立下述零极点形式的传递函数类型的数学模型: >> z=-3; p=[-1;-1]; k=1;
sys=zpk(z,p,k) Zero/pole/gain: (s+3) ------- (s+1)^2
2.不同形式及不同类型间的数学模型的相互转换
1)用MATLAB将下列分子、分母多项式形式的传递函数模型转换为零极点形式的传递函数模型:
>> num=[12 24 0 20]; den=[2 4 6 2 2]; G=tf(num,den); [z,p,k]=zpkdata(G,'v'); sys=zpk(z,p,k) Zero/pole/gain:
6 (s+2.312) (s^2 - 0.3118s + 0.7209) -------------------------------------------------
(s^2 + 0.08663s + 0.413) (s^2 + 1.913s + 2.421)
2)用MATLAB将下列零极点形式的传递函数模型转换为分子、分母多项式形式的传递函数模型:
>> z=[0;-6;-5]; p=[-1;-2;-3-4*j;-3+4*j]; k=1;
[num,den]=zp2tf(z,p,k);
G(s)?s(s?6)(s?5)(s?1)(s?2)(s?3?4j)(s?3?4j)12s3?24s2?20G(s)?42s?4s3?6s2?2s?2 G=tf(num,den) Transfer function: s^3 + 11 s^2 + 30 s -------------------------------- s^4 + 9 s^3 + 45 s^2 + 87 s + 50
3. 用MATLAB命令求如下图所示控制系统的闭环传递函数 >> G1=tf(1,[500 0]); G2=tf([1 2],[1 4]); G3=tf([1 1],[1 2]); G4=G1*G2; GP=G4/(1+G3*G4); GP1=minreal(GP) Transfer function: 0.002 s + 0.004 --------------------- s^2 + 4.002 s + 0.002
3.已知系统的状态空间表达式,写出其SS模型,并求其传递函数矩阵(传递函数模型),若状态空间表达式为
??Ax?Bu?x?1,则传递函数矩阵表达式为: G(s)?C(sI?A)B?D。 ??y?Cx?Du???(1)x??10??1?x?u????0?3??1?
10??0?0??x??0?u
???001(2)x????????7?13?6???1??>> A=[0 1 0;0 0 1;-7 -13 -6]; B=[0;0;1]; C=[7.5 4 0.6]; D=0;
G=ss(A,B,C,D)
a =
x1 x2 x3 x1 0 1 0 x2 0 0 1 x3 -7 -13 -6 b = u1 x1 0 x2 0 x3 1 c =
x1 x2 x3 y1 7.5 4 0.6 d = u1 y1 0
Continuous-time model.
?010??03)x????0?54?x??2?????1?1?3????0>> A=[0 1 0;0 -5 4;-1 -1 -3]; B=[0 0;2 0;0,1]; C=[1 0 0;0 0 1]; D=0;
G=ss(A,B,C,D) a =
x1 x2 x3 x1 0 1 0 x2 0 -5 4 x3 -1 -1 -3 b =
u1 u2
0?0?1?u?? ( x1 0 0 x2 2 0 x3 0 1 c =
x1 x2 x3 y1 1 0 0 y2 0 0 1 d =
u1 u2 y1 0 0 y2 0 0 Continuous-time model.
???x1???0.521.36??x1??2(4)?x????x??23????10?1.704.5??2????x?3??120.8?31.6??x3??4?x???4??35?6.511????x??4??0>> A=[0.5 2 1.3 6;10 -1.7 0 4.5;12 0.8 -3 1.6;3 5 -6.5 11]; B=[2 2;3 0;4,-3;0 8];
C=[0 1 0.5 0.9;0.7 1.6 0.8 2.9;0.3 0.1 0 5.11]; D=[0.2 0.31;0.9 0.27;0.6 0.15]; G=ss(A,B,C,D) a =
x1 x2 x3 x4 x1 0.5 2 1.3 6 x2 10 -1.7 0 4.5 x3 12 0.8 -3 1.6 x4 3 5 -6.5 11 b =
u1 u2 x1 2 2 x2 3 0 x3 4 -3 x4 0 8
2?0??3??u1????u?2?8?? c =
x1 x2 x3 x4 y1 0 1 0.5 0.9 y2 0.7 1.6 0.8 2.9 y3 0.3 0.1 0 5.11 d =
u1 u2 y1 0.2 0.31 y2 0.9 0.27 y3 0.6 0.15 Continuous-time model.
4.已知各环节(模块)的传递函数如下,各系统的组成如以下各小题所描述,编程求取各系统总的传递函数。
G1=tf([5 -12 33],[1 6 3 5 15]);
G2=tf([1 -6.5 32 35],[6 7 26 -11 17 51]);
G3=tf(20*conv([1 5],[1 6]),conv(conv(conv([1 0],[1 3]),[1 2]),[1 8]));
G4=tf(3*conv(conv([1 11],[1 13]),[1 -7.5]),conv(conv(conv([1 0 0],[1 14]),[1 -25]),[1 6])); G5=tf(3*conv(conv([1 11],[1 13]),[1 2.56 1]),conv(conv([1 -25],[1 14]),[3 9 5 6])); (1)模块1、模块2串联,串联后总的系统记为sys12c; >> sys12c=series(G1,G2) Transfer function:
5 s^5 - 44.5 s^4 + 271 s^3 - 423.5 s^2 + 636 s + 1155 --------------------------------------------------------------------------------------
6 s^9 + 43 s^8 + 86 s^7 + 196 s^6 + 154 s^5 + 355 s^4 + 692 s^3 + 73 s^2 + 510 s + 765 (2)模块3、模块4并联,并联后总的系统记为sys34b; >> Sys34c=parallel(G3,G4) Transfer function:
23 s^7 + 208.5 s^6 - 8150 s^5 - 1.388e005 s^4 - 7.562e005 s^3 - 1.413e006 s^2 - 154440 s ---------------------------------------------------------------------------------------- s^9 + 8 s^8 - 435 s^7 - 7690 s^6 - 46676 s^5 - 116568 s^4 - 100800 s^3 (3)模块1、模块3、模块5串联,串联后总的系统记为sys135c; >> sys135c=series(series(G1,G3),G5) Transfer function: