得到Simulink编译时错误“网格输入必须是矢量或MESHGRID的输出”,即使我在MATLAB中测试这些行时没有得到这个错误

2次浏览(过去30天)
大家好!我有一个空气动力学系数表,我试着在里面插值,在外面做样条外推。我把马赫数和攻角传递到一个MATLAB函数块中,我把它传递过去 interpn 以以下方式:
航空。Cmdh = interpn(params. air .Cmdh. interpn。X, params.aero.Cmdh。Y, params.aero.Cmdh。V,马赫,阿尔法,“样条”);
当我这样做时,我在编译时得到以下错误:
网格输入必须是矢量或MESHGRID的输出。错误在…/ MATLAB函数 ’。”
我假设它是在编译时,因为我在函数中放入的任何断点都不会被触发。然而,当我打开一个空的MATLAB文件并运行上面提供的代码行时,我没有得到任何错误,并且得到了一个合理的输出。为什么我在MATLAB中没有任何错误而在Simulink中却有错误?我如何解决这个问题?任何有见地的建议都将不胜感激。

答案(1)

保罗"class=
保罗 2022年10月24日
这是一个奇怪的错误消息,因为interpn实际上要求网格输入是NDGRID(而不是MESHGRID)的输出 interpn
不考虑错误信息,如何在Matlab函数块中传递参数结构?
params. air . cmdh字段怎么样?*创建?

类别

了解更多大规模的建模帮助中心而且文件交换

2022世界杯八强谁会赢?


释放

R2019b

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map