在embedded matlab function中,有四种类型数据(scope)与外界做交换:input、output、parameter和data store memory。
input和output是输入与输出,对应于函数的输入与输出参数,容易理解。data store memory暂时不予考虑。这次谈谈parameter的设置问题。
简而言之,设置parameter是为了能让embedded matlab function能够从其父已封装子系统的参数或者matlab工作空间(workspace)中的变量以只读的方式获取值。
假如我们想要传递一个名为para的parameter,此时的editor中代码如下:
function y = fcn(u,para) %#eml y = u+para;
模块的外观如下:
3. 在embedded matlab editor中的菜单tool->Model Explorer中或tool->Edit Data/Port中其父系统的菜单View->Model Explorer(Ctrl-h)中更改其Scope为parameter,如下两图所示:
4. 此时para已经是parameter了,观察block的外观,也没有para这个port了。
parameter看起来好像是函数头部的输入参数一样(header of embedded matlab function)一样,这是为了与matlab中的function保持一致性。这样你就可以通过复制粘贴函数来测试函数了。