1.Too many return arguments are specified. Specify only one
这是在我运用PSO寻优较优PID值会遇到的报错。会出现的原因是,当你用PSO生成随机粒子赋予到Simulink里面的Kp、Ki、Kd值得时候,这个时候你有三个输入变量,而不是一个变量 ;然后还要返回一个fitness适应度值,所以你一共是有四个变量。(我也不知道具体是怎样的,我按照我自己的理解来解释)
Solution:
解决方法就是在Simulink的设置里面的Data Import/Export取消勾选Single simulation output,会有这样子的操作也是合情合理的。记得保存simulink再运行matlab代码!
2.Simcenter Amesim mexfunction ____ did an abnormal exit !
这是在simulink与Amesim联合仿真时, simulink调用Amesim液压子模型不成功会出现的报错,主要会出现这种错误的原因有:
1)你的Amesim液压模型建模有问题; 2)simulink里面用S-function调用液压子模型的时候模型名字没有添加后面那一个横杆;3)Amesim设置的仿真时间间隔和S-function填写的时间间隔不一样 4)以及你在Amesim里面修改了模型,但是没有在simulink里面重新加载液压模型......
Solution:
可以看看我的这篇文章👉:【求助-已解决】simulink联合仿真液压子模型did an abnormal exiet
3、位置1处的索引无效/索引超出数组边界
这个问题我也遇到过,今天有人问到我才想起来这个报错没有往小TIPS里面加。详细的解决方法可以看我的这篇文章👉:PSO寻优PID粒子群初始化这一步报错(位置1处索引无效/索引超出数组边界)应该如何修改?