Embedded matlab function中参数parameter的设置问题

   在embedded matlab function中,有四种类型数据(scope)与外界做交换:input、output、parameter和data store memory。

input和output是输入与输出,对应于函数的输入与输出参数,容易理解。data store memory暂时不予考虑。这次谈谈parameter的设置问题。

一.设置parameter的原因。

   简而言之,设置parameter是为了能让embedded matlab function能够从其父已封装子系统的参数或者matlab工作空间(workspace)中的变量以只读的方式获取值。

二.如何设置parameter。

  1.   在embedded matlab editor中函数首行中设置参数,但参数名称要与想要传递过来的的变量名称一致。即将parameter当做同名的input卸载function header中。
  2.    这时,我们要设置的参数就像一个input port一样显示在模块中。

     假如我们想要传递一个名为para的parameter,此时的editor中代码如下:

function y = fcn(u,para) %#eml y = u+para; 

         模块的外观如下:

     Embedded matlab function中参数parameter的设置问题_第1张图片     

   3.   在embedded matlab editor中的菜单tool->Model Explorer中或tool->Edit Data/Port中其父系统的菜单View->Model Explorer(Ctrl-h)中更改其Scope为parameter,如下两图所示:

       Embedded matlab function中参数parameter的设置问题_第2张图片

      Embedded matlab function中参数parameter的设置问题_第3张图片

       4.   此时para已经是parameter了,观察block的外观,也没有para这个port了。

         Embedded matlab function中参数parameter的设置问题_第4张图片

 

 

三.对于parameter的一些理解.

     parameter看起来好像是函数头部的输入参数一样(header of embedded matlab function)一样,这是为了与matlab中的function保持一致性。这样你就可以通过复制粘贴函数来测试函数了。

你可能感兴趣的:(Embedded matlab function中参数parameter的设置问题)