matlab仿真实例.docx
《matlab仿真实例.docx》由会员分享,可在线阅读,更多相关《matlab仿真实例.docx(13页珍藏版)》请在冰豆网上搜索。
![matlab仿真实例.docx](https://file1.bdocx.com/fileroot1/2023-2/1/1d48667b-3440-4b51-bf0c-163dfbad1eb3/1d48667b-3440-4b51-bf0c-163dfbad1eb31.gif)
matlab仿真实例
matlab仿真实例
实验五MATLAB及仿真实验一、控制系统的时域分析
(一)稳定性
1、系统传递函数为G(s),试判断其稳定性。
程序:
>>num=[3,2,5,4,6];
>>den=[1,3,4,2,7,2];
>>sys=tf(num,den);
>>figure
(1);
>>pzmap(sys);
>>title('零极点图')
由图可知:
在S右半平面有极点,因此可知系统是不稳定的。
2、用MATLAB求出G(s)=(s^2+2*s+2)/(s^4+7*s^3+5*s+2)的极点。
程序及结果:
>>sys=tf([1,2,2],[1,7,3,5,2]);
>>p=pole(sys)
p=
-6.6553
0.0327+0.8555i
0.0327-0.8555i
-0.4100
(二)阶跃响应
1、二阶系统G(s)=10/s^2+2*s+10
1)键入程序,观察并记录单位阶跃响应曲线:
程序:
>>sys=tf(10,[1,2,10]);
>>step(sys);
>>title('G(s)=10/s^2+2*s+10单位阶跃响应曲线')
2)计算系统闭环跟、阻尼比、无阻尼振荡频率,并记录:
程序及结果:
>>sys=tf(10,[1,2,10]);
>>p=pole(sys)
p=
-1.0000+3.0000i
-1.0000-3.0000i
>>[wn,z]=damp(sys)
wn=
3.1623
3.1623
z=
0.3162
0.3162
3)记录实际测取的峰值大小,峰值时间和过渡过程时间,并填表:
实际值理论值
峰值Cmax1.35s
峰值时间tp1.05s
过渡时间+5%3.54s
ts+2%3.18s
程序:
>>sys=tf(10,[1,2,10]);
>>step(sys);
>>title('G(s)=10/s^2+2*s+10单位阶跃响应曲线')
4)修改参数,分别实现ξ=1和ξ=2的响应曲线,并记录:
ξ=1:
程序:
>>zeta=1;
>>wn=sqrtm(10)
wn=
3.1623
>>sys=tf(10,[1,2*wn*zeta,10]);
>>step(sys)
>>title('ξ=1响应曲线')
(图见下页)
ξ=2:
程序:
>>zeta=2;
>>wn=sqrtm(10)
wn=
3.1623
>>sys=tf(10,[1,2*wn*zeta,10]);
>>step(sys)
>>title('ξ=2响应曲线')
(曲线见下页)
5)修改参数,分别实现wn1=wn/2和wn2=2*wn的响应曲线,并记录:
wn1=w0/2:
程序:
>>wn=sqrtm(10)
wn=
3.1623
>>zeta=2/(wn*2)
zeta=
0.3162
>>wn1=wn/2
wn1=
1.5811
>>sys=tf((wn1)^2,[1,2*wn1*zeta,(wn1)^2]);
>>step(sys)
>>title('wn1=wn/2响应曲线')(曲线见下页)
wn2=2*wn:
程序:
>>wn=sqrtm(10)
wn=
3.1623
>>zeta=2/(wn*2)
zeta=
0.3162
>>wn2=2*wn
wn2=
6.3246
>>sys=tf((wn2)^2,[1,2*wn2*zeta,(wn2)^2]);
>>step(sys)
>>title('wn2=wn*2响应曲线')
2、作出以下系统的阶跃响应曲线,并与原系统响应曲线进行比较,作出相应实验分析结果。
1)G1(s)=(2*s+10)/(s^2+2*s+10)
程序:
>>sys=tf(10,[1,2,10]);
>>step(sys)
>>holdon
>>sys=tf([2,10],[1,2,10]);
>>step(sys)
>>gtext('\leftarrowG(s)');
>>gtext('\leftarrowG1(s)');
>>title('G1(s)与G(s)阶跃响应曲线')
(曲线见下页)
实验分析结果:
G1(s)与原系统响应曲线相比,峰值增加,峰值时间、
上升时间、调节时间提前,最终稳定值相等。
2)G2(s)=(s^2+0.5*s+10)/(s^2+2*s+10)
程序:
>>sys=tf(10,[1,2,10]);step(sys)
>>sys=tf(10,[1,2,10]);
>>step(sys)
>>holdon
>>sys=tf([1,0.5,10],[1,2,10]);
>>step(sys)
>>gtext('\leftarrowG(s)');
>>gtext('\leftarrowG2(s)');
>>title('G2(s)与G(s)阶跃响应曲线')
(曲线见下页)
实验分析结果:
G2(s)与原系统响应曲线相比,峰值减小,峰值时间增加、
上升时间减小、调节时间增加,最终稳定值相等。
3)G3(s)=(s^2+0.5*s)/(s^2+2*s+10)
程序:
>>sys=tf(10,[1,2,10]);
>>step(sys)
>>holdon
>>sys=tf([1,0.5],[1,2,10]);
>>step(sys)
>>gtext('\leftarrowG(s)');
>>gtext('\leftarrowG3(s)')
>>title('G3(s)与G(s)阶跃响应曲线')(曲线见下页)
实验分析结果:
G3(s)与原系统响应曲线相比,峰值减小,峰值时间减小、
上升时间减小、调节时间增加,最终稳定值不相等。
4)G4(s)=s/(s^2+2*s+10)
程序:
>>sys=tf(10,[1,2,10]);>>gtext('\leftarrowG(s)');
>>step(sys)>>gtext('\leftarrowG4(s)');
>>holdon>>title('G4(s)与G(s)阶跃响应
>>sys=tf(1,[1,2,10]);曲线
>>step(sys)
实验分析结果:
G4(s)与原系统响应曲线相比,峰值减小,峰值时间、上升时间、
调节时间都相等,最终稳定值不相等。
、单位阶跃响应:
3
C(s)/R(s)=25/(s^2+4*s+25)求该系统单位阶跃响应曲线,并在所得图形上加网格和标题:
程序:
>>sys=tf(25,[1,4,25]);
>>step(sys)
>>gridon;
>>title('C(s)/R(s)=25/(s^2+4*s+25)单位阶跃响应曲线')
(图见下页图一)
(二)系统动态特性分析
用MATLAB求二阶系统G(s)=120/(s^2+12*s+120)和
G(s)=0.01/(s^2+0.002*s+0.01)的峰值时间tp上升时间tr调整时间ts超调量
σ%。
G(s)=120/(s^2+12*s+120):
程序:
>>sys=tf(120,[1,12,120]);
>>step(sys)
>>title('G(s)=120/(s^2+12*s+120)单位阶跃响应曲线')
(曲线见下页图二)
峰值时间tp=0.34s上升时间tr=0.158s调整时间ts=0.532s超
调量σ%=12.8%
G(s)=0.01/(s^2+0.002*s+0.01)
程序:
>>sys=tf(0.01,[1,0.002,0.01]);
>>step(sys)
>>title('G(s)=0.01/(s^2+0.002*s+0.01)单位阶跃响应曲线')
(图见图三)
峰值时间tp=32s上升时间tr=10.3s调整时间ts=3.9e+003s
超调量σ%=96.7%
图一
图二
图三