积分器中的误差不是有限的

76个视图(过去30天)
莫斯塔法萨拉姆酒店
莫斯塔法萨拉姆酒店 2018年9月9日
回答: 罗伯特2018年12月14日
我收到了以下错误:
时间4.0时块“PSO_PFL/起重机模型/积分器1”中状态“1”的导数不是有限的。模拟将停止。这个解可能有奇点。如果没有,尝试减小步长(通过减小固定步长或拧紧误差公差)
我尝试了之前的所有答案,但没有积极的结果

答复(2)

提图斯·爱德霍夫
提图斯·爱德霍夫 2018年9月9日
嗨,莫斯塔法,
有趣的是,错误发生在时间4.0。这可能表明,在t=4.0时,模型中确实发生了一些事情。仔细观察在t=4.0时改变其行为的块。
我知道你试过这些建议了?您使用的是可变步长解算器还是固定步长解算器?
提图斯

罗伯特
罗伯特 2018年12月14日
嗨,莫斯塔法,
使用关系运算符块和断言块来检查积分器输入是否总是有限的。如果不是这样,试着追溯它,并将它固定在那里,使其始终是有限的。
如果输入是有限的,则可能会遇到simulink错误,从而导致完全错误的错误消息。我进行了一次表查找,其中查找数据包含一个nan值金宝app。每当它必须使用此值进行插值时,我都会收到上面的错误消息,用于远离表查找的积分器,即使我通过将输出传递给isnan关系运算符控制的开关,以1代替nan,从而确保从不使用lut的nan输出。我修正了lut数据,问题就解决了。
最佳雷格斯,
罗伯特

标签

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始打猎吧!