关于Simulink中 Interpreted MATLAB Fcn模块报错输出值过大的解决方法

关于Simulink中 Interpreted MATLAB Fcn模块报错输出值过大的解决方法

报错内容

Error in ‘zuoye8/摩擦函数1’. Evaluation of expression resulted in an invalid output. Only finite double vector or matrix outputs are supported.

错误解释

出现这个报错,首先按照他的提示,你可能觉得是你的输出数据类型不对。然后检查半天代码觉得好像数据类型没什么问题。嗯这时就自信一点,可以把好像去掉了。

出现这个报错很容易被忽略的一点是,有可能是因为你输出的数太大了。想验证是不是这个原因很简单,在函数的最后,把函数的返回值输出到命令行(比如你的返回变量名是y,直接单打一个y别加分号就好了)。

等到报错了就去命令行里找最后一次输出的y是什么。
关于Simulink中 Interpreted MATLAB Fcn模块报错输出值过大的解决方法
如果他显示出了Inf,那就是你的数太大啦!这时就可以考虑是算法的问题还是输入数据的问题啦!

我崩溃的内心

在网上搜了好久,搜到的答案都是“我也遇到了同样的问题,请问有解决办法了吗?”。于是我写出自己的报错经历给大家参考。我对这个报错的理解不够透彻,在这里仅仅希望给大家一点提示,欢迎大神指出我的错误与遗漏的地方。