MATLAB结课大作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、判断系统稳定性的方法,并举例说明。

方法一:用Nyquist稳定判据判断系统的稳定性

Nyquist稳定判据:若想使得闭环系统稳定,则开环系统G(S)H(S)的Nyquist曲线逆时针绕临界点(-1,j0)点的圈数R必需等于G(S)H(S)(系统的开环传函)位于S的右半平面开环极点数P。

即:Z=P-R Z=0 稳定;

Z≠0 不稳定,Z为闭环正实部根的个数。

方法二:用Bode图判断系统的稳定性

函数调用格式为:margin( )或[Gm Pm wcp wcg]=margin(G)

对于最小相位系统:

当相角裕度P m(γ)>0o 或幅值裕度G m(h) >1时,表示系统稳定

当相角裕度P m(γ)<0o 或幅值裕度G m(h) <1时,表示系统不稳定

幅值裕度G m(h)、相角裕度P m(γ)越大,系统稳定程度越好。在使用时,G m(h)、P m(γ)是成对使用的,有时仅使用一个裕度指标P m(γ)。

方法三:用代数稳定判据法判断系统的稳定性

(1)系统数学模型为传递函数形式G(S)=tf(num,den):

执行语句:roots(G.den{1});

注:“{}”表示维数

(2)系统数学模型为零极点增益形式G(S)=zpk(z,p,k);

执行语句:G.p{1};

(3)系统数学模型为状态空间形式G(S)=ss(A,B,C,D);

执行语句:eig(G.A);

注:eig()表示计算系统的极点

方法四:用根轨迹法判断系统的稳定性

若根轨迹在参数取值过程中,部分在左半平面,部分在右半平面,则系统的稳定性与可变参数的取值有关。函数命令调用格式:[k poles]=rlocfind(G)

方法五:用单位阶跃响应曲线判定系统稳定性

例:已知系统的开环传函为:

5(S+2)

G(S)= ----------------------------

(S+10)(S³+3S²+2S+5)

判断系统的稳定性

解:方法一:用Nyquist稳定判据判断系统的稳定性

>>G=tf(5*[1 2],conv([1 10],[1 3 2 5]));

>>roots(G.den{1})

Ans=

-10.0000

-2.9042

-0.0479+1.3112i

-0.0479-1.3112i

>>nyquist(G)

执行以上程序得到nyquist图可以看出,nyquist曲线包围临界点的圈数R=0。所以Z=P-R=0,系统稳定。

>> roots(G.den{1})

ans =

0.5000 + 2.9580i

0.5000 - 2.9580i

-1.0000

执行以上语句得到的结果可知,开环传递函数在右半S平面极点个数P=2。所以Z=P-R=0,系统稳定。

验证:

>> sys=feedback(G,1);

>> roots(sys.den{1})

ans =

-10.0553

-2.8424

-0.0512+1.4480i

-0.0512-1.4480i

闭环系统特征根均为负实部,故系统稳定

方法二:用Bode图判断系统的稳定性

>>G=tf(5*[1 2],conv([1 10],[1 3 2 5]));

>>[Gm Pm Wcp Wcg]=margin(G)

执行上述指令得

Gm =

10.5949

Pm =

22.6956

Wcp =

2.4490

Wcg =

1.4393

可以看出相角裕度Pm=22.6956>0,所以系统是稳定的>>margin(G)

得到bode图,图中性能指标与上述结果一样

方法三:用代数稳定判据法判断系统的稳定性

(1) 执行语句:roots(G.den{1})

>>G=tf(5*[1 2],conv([1 10],[1 3 2 5])); >>G1=feedback(G,1);

>>roots(G.den{1})

ans =

-10.0000

-2.9042

-0.0479 + 1.3112i

-0.0479 - 1.3112i

因为系统闭环极点全为负实部,故系统稳定

(2) 执行语句:G.p{1}

>>G=tf(5*[1 2],conv([1 10],[1 3 2 5]));

>>G1=feedback(G,1);

>>G2=zpk(G1);

>>G2.P{1}

ans =

-10.0000

-2.9042

-0.0479 + 1.3112i

-0.0479 - 1.3112i

因为系统闭环极点全为负实部,故系统稳定

(2) 执行语句:eig(G.A)

>> G=tf(5*[1 2],conv([1 10],[1 3 2 5])); >> G1=feedback(G,1);

>> G2=ss(G);

>> eig(G2.a)

ans =

-10.0000

-2.9042

-0.0479 + 1.3112i

-0.0479 - 1.3112i

因为系统闭环极点全为负实部,故系统稳定

方法四:用根轨迹法判断系统的稳定性

>> G=tf(5*[1 2],conv([1 10],[1 3 2 5])); >> rlocus(G)

>> [k poles]=rlocfind(G)

Select a point in the graphics window selected_point =

-0.0000 + 1.4286i

k =

0.9239

poles =

相关文档
最新文档