Matlab:极点零取消问题

时间:2016-07-31 06:59:11

标签: matlab state-space control-theory

我正在与Matlab合作,对我正在使用的系统进行一些控制分析。我已经在状态空间表示中开发了一个系统模型,并设计了一个反馈补偿器来产生我想要的闭环响应。

使用Matlab place()函数选择反馈增益K和估计器增益L的方法产生系统根轨迹,其在相同位置的RHP中显示一个极点和零点。理想情况下,这些应该完全相同,导致零极点消除,但系统的阶跃响应仍然不稳定。

观察组合补偿器 - 系统系统的极点和零点,闭环响应的极点和零点是:

范畴

 1.0e+02 *    
      -2.5547 + 0.3423i
      -2.5547 - 0.3423i
      -0.0087 + 0.0000i
      -0.0003 + 0.0000i
      -0.0027 + 0.0000i
      -2.8542 + 0.0000i
      -2.2717 + 0.0000i
       0.2108 + 0.0000i
      -0.3119 + 0.3874i
      -0.3119 - 0.3874i
      -0.0200 + 0.0000i
      -0.0300 + 0.0000i
      -0.0400 + 0.0000i
      -0.0500 + 0.0000i
      -0.1200 + 0.0000i
      -0.2000 + 0.0000i
      -2.5500 + 0.0500i
      -2.5500 - 0.0500i
      -2.5500 + 0.0100i
      -2.5500 - 0.0100i

 1.0e+02 *
  -3.6118 + 0.0000i
  -2.1330 + 0.0000i
  -2.8542 + 0.0000i
  -2.5547 + 0.3423i
  -2.5547 - 0.3423i
  -2.2717 + 0.0000i
  -0.3119 + 0.3874i
  -0.3119 - 0.3874i
   0.2108 + 0.0000i
  -0.0022 + 0.0067i
  -0.0022 - 0.0067i
  -0.0100 + 0.0000i
  -0.0003 + 0.0000i
  -0.0027 + 0.0000i
  -0.0087 + 0.0000i

特别注意RHP值,在1e + 02 *(0.2108 + 0.0000i)处有一个极点以及零。由于这是唯一不稳定的极点,阶跃响应应该是稳定的,但不是。

我猜它与有意义的数字或不正确的系统缩放有关,但我不确定。关于为什么这些零极点没有取消的任何想法?

1 个答案:

答案 0 :(得分:1)

如果没有看到植物很难说什么,但阶跃响应在很大程度上取决于植物的条件。在系统响应期间,不会在幕后执行极点零消除,并且数字上希望相互抵消。

换句话说,matlab不检查是否存在消除,并且使用微分方程求解器随时间推移产生非常小的数值不匹配。无论这些极点和零点属于何处,都将它传递给minreal()并使用该工厂。