欢迎光临散文网 会员登陆 & 注册

控制系统仿真(MATLAB版)(七)

2020-11-01 15:58 作者:永远的修伊  | 我要投稿

根轨迹渐近线的绘制

石群老师图


>> G = tf([1 2 4],conv([1 4 0],conv([1 6],[1 1.4 1])));

>> rlocus(G)

>> hold on

>> thga = -9.4/3;

>> Gc = zpk([],[thga thga thga],1);

>> rlocus(Gc)

>> 

根轨迹渐近线的绘制






判断系统的稳定性

单位负反馈的开环传函

一、闭环特征根的大小

1+GH = 0(不够准确,指闭环特征根)


>> G = zpk([-2],[0 -0.5 -0.8 -3],0.2);

>> sys = feedback(tf(G),1);  %注意是闭环

>> roots(sys.den{1})


ans =


  -3.0121 + 0.0000i

  -1.0000 + 0.0000i

  -0.1440 + 0.3348i

  -0.1440 - 0.3348i

     或者

>> eig(sys)


ans =


  -3.0121 + 0.0000i

  -1.0000 + 0.0000i

  -0.1440 + 0.3348i

  -0.1440 - 0.3348i

所有闭环极点位于s平面(虚轴)左侧,系统稳定

>> pzmap(sys)

在MATLAB中,有更直接的判断方法

>> isstable(sys)

ans =

  logical

   1

>> allmargin(G)  %这里用的是开环传递函数

ans = 

  struct with fields:

     GainMargin: 4.7503

    GMFrequency: 0.7071

    PhaseMargin: 44.5277

    PMFrequency: 0.2770

    DelayMargin: 2.8058

    DMFrequency: 0.2770

         Stable: 1

4.2







求动态误差系数

>> syms s

>> G = 50*(s+2)/(s^3+2*s^2+51*s+100);

>> kp = limit(G,s,0)

kp =

1

>> kv = limit(s*G,s,0)

kv =

0

>> ka = limit(s^2*G,s,0)

ka =

0

 4.4

>> G = tf([-0.5 1],conv([0.5 1],conv([0.2 1],[0.1 1])));

>> rlocus(G)

闭环系统稳定的K

0 < K <1.33

>> G = 1.33*tf([-0.5 1],conv([0.5 1],conv([0.2 1],[0.1 1])));isstable(feedback(G,1))

ans =

  logical

   0

>> G = 1.32*tf([-0.5 1],conv([0.5 1],conv([0.2 1],[0.1 1])));isstable(feedback(G,1))

ans =

  logical

   1

开环

4.5求动态误差系数

>> syms s

>> G = 10/(s^2+s+2)

G =

10/(s^2 + s + 2) 

>> kp = limit(G,s,0) 

kp = 

>> kv = limit(s*G,s,0)

kv =

>> ka = limit(s^2*G,s,0)

ka =

0


4.6

>> G1 = tf(5,conv([1 1 0],[0.1 1]));

>> sys1 = feedback(G1,1);

>> G2 = tf(20,conv([1 1 0],[0.1 1]));

>> sys2 = feedback(G2,1);

>> pzmap(sys1)

stable

pzmap(sys2)

unstable

>> [mag,phase,w] = bode(G1);

>> margin(mag,phase,w)

G1

>> [mag,phase,w] = bode(G2);

>> margin(mag,phase,w)

4.7

>> s = tf('s')


s =

 

  s

 

Continuous-time transfer function.


>> G = 16*(19*s+1)*(0.44*s+1)/((0.625*s+1)*(0.676*s-1)*(43.5*s-1)*(0.033*s+1)*(0.0004*s^2+0.015*s+1))


G =

 

                              133.8 s^2 + 311 s + 16

  ------------------------------------------------------------------------------

  0.0002426 s^6 + 0.01647 s^5 + 0.8832 s^4 + 18.43 s^3 - 0.2936 s^2 - 43.5 s + 1

 

Continuous-time transfer function.


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


Gm =


    4.8847



Pm =


   53.1362



Wcg =


   32.1207



Wcp =


    7.2063


>> margin(G)

4.8

>> G = tf([1 1],conv([1 0 0],[0.1 1]));

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


Gm =


     0



Pm =


   44.4594



Wcg =


     0



Wcp =


    1.2647



%% 该系统稳定

>> margin(G)


>> figure

>> bode(G)

4.10

>> G1 = zpk([],[-1;-2;-5],2*5*10)


G1 =

 

         100

  -----------------

  (s+1) (s+2) (s+5)

 

Continuous-time zero/pole/gain model.


>> nyquist(G1)

稳定

p = 0

Nyquist曲线不包含(-1,j 0)




k = 50

>> G2 = zpk([],[-1;-2;-5],2*5*50)


G2 =

 

         500

  -----------------

  (s+1) (s+2) (s+5)

 

Continuous-time zero/pole/gain model.


>> nyquist(G2)


不稳定

p = 0

Nyquist图包围(-1,j0)一次


控制系统仿真(MATLAB版)(七)的评论 (共 条)

分享到微博请遵守国家法律