兰理工 流控实验实验12仿真.docx
《兰理工 流控实验实验12仿真.docx》由会员分享,可在线阅读,更多相关《兰理工 流控实验实验12仿真.docx(28页珍藏版)》请在冰豆网上搜索。
兰理工流控实验实验12仿真
1:
程序为:
num=[15]
den=[12345]
printsys(num,den)
运行结果为:
num=
15
den=
12345
num/den=
s+5
-----------------------------
s^4+2s^3+3s^2+4s+5
>>
2:
程序为
num=[6,30]
den=conv([1,3,1],conv([1,3,1],[1,6]))
printsys(num,den)
运行结果为:
num=
630
den=
1124772376
num/den=
6s+30
-----------------------------------------
s^5+12s^4+47s^3+72s^2+37s+6
4:
程序为
numg=[1]
deng=[121]
numh=[1]
denh=[11]
[num,den]=feedback(numg,deng,numh,denh,-1);
printsys(num,den)
结果为:
numg=
1
deng=
121
numh=
1
denh=
11
num/den=
s+1
---------------------
s^3+3s^2+3s+2
5
程序
numg=[172424]
deng=[110355024]
numc=[105]
denc=[10]
numh=[1]
denh=[0.011]
[num1,den1]=series(numc,denc,numg,deng)
[num,den]=feedback(num1,den1,numh,denh,-1)
printsys(num,den)
结果
numg=
172424
deng=
110355024
numc=
105
denc=
10
numh=
1
denh=
0.01001.0000
num1=
01075275360120
den1=
1103550240
num=
00.100010.750077.7500278.6000361.2000120.0000
den=
0.01001.100020.3500110.5000325.2400384.0000120.0000
num/den=
0.1s^5+10.75s^4+77.75s^3+278.6s^2+361.2s+120
---------------------------------------------------------------
0.01s^6+1.1s^5+20.35s^4+110.5s^3+325.24s^2+384s
+120
>>
6
num=[6.8,61.2,95.2]
den=[1,7.5,22,19.5,0]
[z,p,k]=tf2zp(num,den
num=
6.800061.200095.2000
den=
1.00007.500022.000019.50000
z=
-7
-2
p=
0
-3.0000+2.0000i
-3.0000-2.0000i
-1.5000
k=
6.8000
8;
numg=[1]
deng=[10]
numc=[900]
denc=[19]
[num1,den1]=series(numg,deng,numc,denc)
[num,den]=cloop(num1,den1,-1)
printsys(num,den)
numg=
1
deng=
10
numc=
900
denc=
19
num1=
00900
den1=
190
num=
00900
den=
19900
num/den=
900
---------------
s^2+9s+900
(8)
numg=[1]
deng=[10]
numc=[900]
denc=[19]
[num1,den1]=series(numg,deng,numc,denc)
[num,den]=cloop(num1,den1,-1)
step(num,den)
matlab进行时与分析
p=[13211];
r=roots(p)
结果
>>
r=
-1
-1
>>
r=
-2.2056
-1.0000
0.1028+0.6655i
0.1028-0.6655i
>>2
P=poly(y)
结果
p=poly(r)
p=
1.00003.00002.00001.00001.0000
4;
num=[2536]
den=[16116]
[r,p,k]=residue(num,den)
结果
num=
2536
den=
16116
r=
-6.0000
-4.0000
3.0000
p=
-3.0000
-2.0000
-1.0000
k=
2
第五5
num=[123]
den=[1331]
[r,p,k]=residue(num,den)
num=
123
den=
1331
r=
1.0000
0.0000
2.0000
p=
-1.0000
-1.0000
-1.0000
k=
第6
num=[6.861.295.2]
den=[17.52219.50]
[z,p,k]=tf2zp(num,den)
num=
6.800061.200095.2000
den=
1.00007.500022.000019.50000
z=
-7
-2
p=
0
-3.0000+2.0000i
-3.0000-2.0000i
-1.5000
k=
6.8000
>>
num=
6.800061.200095.2000
den=
1.00007.500022.000019.50000
z=
-7
-2
p=
0
-3.0000+2.0000i
-3.0000-2.0000i
-1.5000
k=
6.8000
>>
7
num=[3,2,5,4,6]
den=[134272]
[z,p]=tf2zp(num,den)
pzmap(num,den)
num=
32546
den=
134272
z=
0.4019+1.1965i
0.4019-1.1965i
-0.7352+0.8455i
-0.7352-0.8455i
p=
-1.7680+1.2673i
-1.7680-1.2673i
0.4176+1.1130i
0.4176-1.1130i
-0.2991
>>
P31系统动态性能分析
2
num=[25]
den=[1425]
t=0:
0.01:
5
step(num,den,t)
gridon
xlabel('t')
ylabel('c(t)')
num=
25
den=
1425
3
x=0:
0.01:
2*pi
y=sin(x)
t=0:
0.01:
2*pi
plot(x,y)
3
z=[]
p=[-1-3i-1+3i]
k=[3]
sys=zpk(z,p,k)
t=0:
0.01:
10
step(sys,t)
gridon
xlabel('t')
ylabel('c(t)')
4线性系统的频域分析
num=[1]
den=[10.81]
nyquist(num,den)
title('NyquistPlotofG(s)=1/(s^2+0.8s+1)')
num=
1
den=
1.00000.80001.0000
伯德图
num=[0,0,50];
den=[25,2,1]
bode(num,den)
grid
title('BodeDiagramofG(s)=10(s+1)/s(s+7)')
num=
1010
den=
170
>>
用matlab球稳定裕量
num=[7]
conv([2],[1232])
nyquist(num,den)
[Gm,Pm,wcg,wcp]=margin(num,den)
printsys(num,den)
grid
title('BodeDiagramofG(s)=7/2(s^3+2s^2+3s+2)')
(2)
num=100*conv([15],[15])
den=conv([11],[119])
printsys(num,den)
nyquist(num,den)
[Gm,Pm,wcg,wcp]=margin(num,den)
grid
title('G(s)=100*(s+5)^2/(s+1)(s^2+s+9)')
num=
10010002500
den=
12109
num/den=
100s^2+1000s+2500
-----------------------
s^3+2s^2+10s+9
Gm=
Inf
Pm=
85.4365
wcg=
NaN
wcp=
100.3285
numg=[100]
deng=conv([10],[0.041])
[num,den]=cloop(numg,deng,-1)
bode(num,den)
[Gm,Pm,wcg,wcp]=margin(num,den)
printsys(num,den,'-')
gridon
xlabel('t')
ylabel('c(t)')
6时间延迟环节
num=[1]
den=[11]
G=tf(numden)
set(G'Td'1)
figure
(1)
nyquist(G)
figure
(2)
t=0:
0.01:
10
step(G,t)
figure
(2)
最后
num=[100]
den=[0.0410]
printsys(num,den)
bode(num,den)
[Gm,Pm,wcg,wcp]=margin(num,den)
gridon
xlabel('t')
ylabel('L(w)')
num/den=
100
-------------
0.04s^2+s
Gm=
Inf
Pm=
28.0243
wcg=
Inf
wcp=
46.9701
numg=[100]
deng=[0.0410]
bode(numg,deng,'-')
figure
(1)
step(numg,deng)
figure
(2)
[Gm1,Pm1,wcg1,wcp1]=margin(numg,deng)
numc=[0.0251]
denc=[0.011]
[num,den]=series[numgdengnumcdenc]
bode(num,den,'--')
figure(3)
step(numg,deng)
figure(4)
[Gm2,Pm2,wcg2,wcp2]=margin(num,den)
numg=
100
deng=
0.04001.00000
Gm1=
Inf
Pm1=
28.0243
wcg1=
Inf
wcp1=
46.9701
numc=
0.02501.0000
denc=
0.01001.0000
num=
002.5000100.0000
den=
0.00040.05001.00000
Gm2=
Inf
Pm2=
48.0885
wcg2=
Inf
wcp2=
59.6177
>>
numg=
100
deng=
0.04001.00000
Gm1=
Inf
Pm1=
28.0243
wcg1=
Inf
wcp1=
46.9701
numc=
0.02501.0000
denc=
0.01001.0000
num=
002.5000100.0000
den=
0.00040.05001.00000
Gm2=
Inf
Pm2=
48.0885
wcg2=
Inf
wcp2=
59.6177
>>
numg=[100]
deng=[0.0410]
numc=[0.0251]
denc=[0.011]
[num,den]=series(numg,deng,numc,denc)
bode(num,den,'--')
grid
figure
(1)
step(num,den)
grid
figure
(2)
[Gm2,Pm2,wcg2,wcp2]=margin(num,den)