概述
使用纯微分模块 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所示。
最后
以上就是高大花瓣为你收集整理的代数环的全部内容,希望文章能够帮你解决代数环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复