matlab 判定控制系统稳定性
一)用系统特征方程的根判别系统稳定性:
设系统特征方程为 s5+s4+2s3+2s2+3s+5=0,计算特征根并判别该系统的稳定性。在 command
window 窗口输入下列程序,记录输出结果 1。
>> p=[1 1 2 2 3 5];
>> roots(p)
二)用根轨迹法判别系统稳定性:对给定的系统的开环传递函数,进行仿真。
1.某系统的开环传递函数为 ,在 command window 窗口输入程序,记录系统闭环零极点图
及零极点数据,判断该闭环系统是否稳定。
>> clear
>> n1=[0.25 1];
>> d1=[0.5 1 0];
>> s1=tf(n1,d1);
>> sys=feedback(s1,1);
>> P=sys.den{1};p=roots(P)
>> pzmap(sys)
>> [p,z]=pzmap(sys)
2.某系统的开环传递函数为 ,在 command window 窗口输入程序,记录系统开环根轨迹
图、系统开环增益及极点,确定系统稳定时 K 的取值范围。
>> clear
>> n=[1];d=conv([1 1 0],[0.5 1]);
>> sys=tf(n,d);
>> rlocus(sys)
>> [k,poles]=rlocfind(sys)
三)频率法判别系统稳定性:对给定的系统的开环传递函数,进行仿真。
1.已知系统开环传递函数 ,在 command window 窗口输入程序,用 Bode 图法判稳,记录
运行结果,并用阶跃相应曲线验证(记录相应曲线)
1)绘制开环系统 Bode 图,记录数据。
>> num=75*[0 0 0.2 1];
>> den=conv([1 0],[1 16 100]);
>> sys=tf(num,den);
>> [Gm,Pm,Wcg,Wcp]=margin(sys)
>> margin(sys)
2)绘制系统阶跃响应曲线,证明系统的稳定性。
>> num=75*[0 0 0.2 1];
>> den=conv([1 0],[1 16 100]);
>> s=tf(num,den);
>> sys=feedback(s,1);
>> t=0:0.01:30;
>> step(sys,t)
2.已知系统开环传递函数 ,在 command window 窗口输入程序,用 Nyquist 图法判稳,记录
运行结果,并用阶跃相应曲线验证(记录相应曲线)。
1)绘制 Nyquist 图,判断系统稳定性。
>> clear
>> num=[10000];
>> den=[1 5 100 0];
>> GH=tf(num,den);
>> nyquist(GH)
2)用阶跃响应曲线验证系统的稳定性
>> num=[10000];
>>den=[1 5 100 0];