调用fi (var1、var2 . . varN)在仿真软件matlab函数模型要求常量值输入2到N万博1manbetx

23日视图(30天)
你好,
我想把一个值到定点在仿真软件matlab函数模型。万博1manbetx这样做我有SLDD模型中所使用的一些参数与sotrage为单词长度定义为const属性(与汽车我有同样的问题)
我做了一个函数和几个输入(这是一个例子,得到同样的错误函数):
函数(着干活)= horCounter (in1, in2 W_HDISP)
着干活= in + fi (W_HDISP in2, 0, 0);
结束
我定义W_HDISP窗格象征作为一个参数:
每当我试图模拟得到以下错误消息:
输入var2 . .varN在调用fi (var1、var2 . . varN)必须是常数。输入3不是一个常数。
函数“通用/道路/ /功能/ MATLAB函数”(# 111.111.111)、线2、列17:
“fi (W_HDISP in2, 0, 0)”
发射诊断报告。
是否有办法解决它在函数或做之前我必须把转换集团in2发送它在函数和摆脱fi()函数使用?

答案(1)

安迪·巴特利特
安迪·巴特利特 2023年6月16日十七17
我不知道是否有或没有一个方法,使MATLAB功能块承认W_HDISP作为时间常数在更新图。
但是有一个非常强大的方法来实现你的目标。的方法是遵循 像模式。
prototypeVarHDISP = fi ([], 0, 0);%放在SLDD或所期望的地方
函数着干活= horCounter (in1, in2 prototypeVarHDISP)
着干活= in +演员(in2“喜欢”,prototypeVarHDISP);
结束
在演员像模式中,您创建了一个“虚拟”数值变量,它的目的是沟通数据类型信息。这个变量持有的价值并不重要;这就是为什么我称之为一个“虚拟”变量。只有numerictype“假”变量的问题。这种“假”变量称为原型更为优雅。
可以单个参数函数原型在上面的示例代码。或者,如果你需要多个原型,然后你可以组织成一个结构如本例所示的文档 编写MATLAB代码独立于数据类型

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!