首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matlab:零极点抵消问题

Matlab:零极点抵消问题
EN

Stack Overflow用户
提问于 2016-07-31 14:59:11
回答 1查看 574关注 0票数 0

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

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

查看组合补偿器-对象系统的极点和零点,闭环响应的极点和零点是:

极点

代码语言:javascript
运行
复制
 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

代码语言:javascript
运行
复制
 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)处有一个极点,也有一个零点。由于这是唯一不稳定的极点,阶跃响应应该是稳定的,但事实并非如此。

我猜这与重要的数字或不适当的系统扩展有关,但我不确定。有没有想过为什么这些极点不会被取消?

EN

回答 1

Stack Overflow用户

发布于 2016-08-08 19:32:10

在没有看到植物的情况下很难说出任何话,但阶跃反应在很大程度上取决于植物的条件作用。零极点消除不是在幕后执行的,数值上希望在系统响应期间相互抵消。

换句话说,matlab不检查微分方程求解器是否存在抵消和非常小的数值不匹配随时间增长。无论这些极点和零属于哪个位置,都可以通过minreal()传递并使用该工厂。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38681570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档