我是靠谱客的博主 高大花瓣,最近开发中收集的这篇文章主要介绍代数环,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用纯微分模块 du/dt 要慎重,容易出现各种问题,原因比较复杂。
有些情况下,没有替代性的方法时可以使用,但对于PID控制器而言,建议使用近似微分 s/(N*s+1) 代替,其中N为足够大的常数,一般至少取N>=5以上。

积分器有代数环的问题,可以尝试加个memory试试。

matlab eps表示最小浮点数
奇点问题:

  试了下列方法:
  1、增加eps
      2、加memory 
  3、改步长

  4、solver改成ode23

       5 nonadaptive改成adaptive

或者disable zero-cross

代数环的解决措施
1、用工具栏中的“simulink”中的“diagnostics”对代数环进行消除
将simulink中diagnostics的对代数环的处理信息进行选择,将对代数环的处理信息选择为“none”,即忽略代数环的信息。
2、在反馈回路中添加延时模块进行消除
由于代数环的产生是由于整个模型中所有模块均为直通模块,因此只需在反馈回路中添加延时模块即可消除代数环。延时模块有delay模块、memory模块,如图2所示,用memory来消除代数环。

3、用变换法消除代数环
对于简单的代数环问题,可以通过人为地采用数字变换法来求解消除代数环,但这只针对简单的代数环有限,对于复杂的代数环基本不可能实现。
4、在反馈回路中添加入高频传递环节
在反馈回路中添加入高频传递函数,打断反馈回路中的直通模块,消除输入信号与输出信号的关联关系。如图3所示。

最后

以上就是高大花瓣为你收集整理的代数环的全部内容,希望文章能够帮你解决代数环所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部