重用MATLAB代码定义MATLAB功能
一个MATLAB®函数在一个Stateflow®图是一个图形元素用来写算法容易实现通过调用内置的MATLAB函数。典型的应用包括:
Matrix-oriented计算
数据分析和可视化
这种类型的函数是用于编码算法更容易表达了通过使用MATLAB的图形Stateflow结构。MATLAB函数生成效率,也提供了优化生产的C代码为嵌入式应用程序。
MATLAB函数可以驻留在一个图表,状态,或子图表。函数的位置确定的状态和转换集可以调用该函数。
如果你想调用的函数在一个州或子图表及其亚态,将你的MATLAB函数的状态或子图表。这个函数将覆盖其他函数同名的父母和祖先的状态或子图表。
如果你想在任何地方调用这个函数在一个图表,将你的MATLAB函数在表级别。
如果你想从任何图表模型中调用这个函数,将你的MATLAB函数绘图水位图水平,使出口的功能。有关更多信息,请参见出口Stateflow功能以便重用。
请注意
MATLAB函数可以访问图和状态数据上面Stateflow层次结构。
例如,MATLAB函数的名称stdevstats
。它接受一个参数瓦尔斯
并返回一个输出值stdevout
。
计算的值的标准偏差瓦尔斯
,该函数使用这些代码。
函数stdevout = stdevstats (val)% # codegen%计算标准差valslen =长度(val);stdevout =√总和(vals-avg (vals, len)) ^ 2)) / len);函数意味着= avg(数组、大小)意味着=(数组)/大小总和;
定义一个MATLAB函数在一个图表
在对象面板,点击图标的MATLAB函数。
图表画布上,单击位置的MATLAB函数。
输入函数的签名标签。
函数的签名标签为函数指定一个名字和正式名称的参数和返回值。一个签名标签有语法:
[return_val1, return_val2,…]= function_name (__arg1,最长,…)
您可以使用相同的参数和返回值的变量名。当你使用相同的输入和输出变量,创建就地数据。例如,一个函数与这个签名标签使用的变量
日元
和y2
作为输入和输出:(y1、y2、y3) = f (y1, u, y2)
日元
和y2
作为就地参数以引用的方式传递。使用就地数据的次数,降低了中间数据生成的代码副本,从而更高效的代码。在符号面板和Model Explorer,函数的参数和返回值的签名显示为数据项属于你的函数。参数的范围
输入
。返回值的范围输出
。指定数据属性为每个参数和返回值,所述设置数据属性。当一个参数和一个返回值具有相同的名称,您可以编辑属性的参数。返回值的属性是只读的。
程序的函数,通过双击打开MATLAB功能块编辑器框的函数。
在MATLAB功能块编辑器,输入MATLAB代码实现的功能。有关更多信息,请参见计划一个MATLAB函数图。
创建需要的任何其他数据项的功能。有关更多信息,请参见通过模型浏览器中添加数据。
你的函数可以访问自己的数据或数据属于父状态或图表。数据项的函数可以有一个的范围:
常数
常量数据保留其初始值通过函数调用。参数
——参数数据保留其初始值通过函数调用。
在MATLAB函数中,您不需要显式地创建本地或临时函数数据。相反,您可以使用未定义的变量来存储值只能在其他函数调用。存储值保存在函数调用,使用本地数据在表级别或使用关键字
持续的
。
调用MATLAB状态和转换功能
您可以调用MATLAB函数操作的任何州或过渡或从其他函数。如果你出口一个MATLAB函数,你可以叫它从任何图表模型中。导出函数的更多信息,请参阅出口Stateflow功能以便重用。
调用MATLAB函数,利用函数签名,包括实际的参数值为每一个正式的参数在函数签名。
[return_val1, return_val2,…]= function_name (__arg1,最长,…)
如果实际的和正式的参数的数据类型不同,函数将实际参数形式的类型参数。
指定的属性MATLAB功能
下面列出的属性指定一个MATLAB函数与其他组件的交互Stateflow图表。您可以修改这些属性属性检查器、Model Explorer或MATLAB函数属性对话框。
使用属性检查器:
在建模选项卡,在设计数据中,选择属性检查器。
在Stateflow编辑器中,选择MATLAB函数。
在属性检查器、编辑的过渡性质。
使用模型资源管理器:
在建模选项卡,在设计数据中,选择模型浏览器。
在模型层次结构窗格中,选择MATLAB函数。
在对话框窗格中,编辑MATLAB函数属性。
使用MATLAB函数属性对话框:
在Stateflow编辑器中,右键单击MATLAB函数。
选择属性。
在properties对话框中,编辑MATLAB函数属性。
您还可以修改这些属性以编程方式使用Stateflow.EMFunction
对象。关于Stateflow编程接口的更多信息,请参阅Stateflow API的概述。
的名字
函数名。点击函数名的链接,打开你的函数在MATLAB函数块编辑器。
内联函数的选择
控制你的内联函数生成的代码:
汽车
——决定内联函数基于一个内部计算。内联
——内联函数如果你不出口到其他图表和它不是一个递归的一部分。(如果你存在递归函数调用本身直接或间接通过另一个函数调用)。函数
——不内联函数。
这个属性是不可用的属性检查器。
标签
函数签名标签。函数的函数签名标签指定一个名字和正式名称的参数和返回值。这个属性是不可用的属性检查器。
浸透在整数溢出
生成的代码指定整数溢出是否饱和。有关更多信息,请参见为图表数据处理整数溢出。
这个属性只适用于MATLAB函数图表,使用C作为行动的语言。语言,图表中使用MATLAB作为行动的行为数据依赖的价值浸透在整数溢出属性为图表。
这个属性是不可用的属性检查器。
MATLAB函数fimath
定义了fimath
属性的MATLAB函数。的fimath
属性指定与所有相关联fi
和fimath
对象构造的MATLAB函数。选择其中一个选项:
MATLAB一样——使用相同的函数
fimath
属性是当前全球fimath
。编辑框变暗并显示当前全球fimath
以只读的形式。在全球的更多信息fimath
和fimath
对象,请参阅定点设计师™文档。指定其他——指定您自己的
fimath
对象的一个方法:构建
fimath
对象编辑框内。构建
fimath
对象模型在MATLAB或工作区,在编辑框中输入变量的名称。
这个属性只适用于MATLAB函数图表,使用C作为行动的语言。语言,图表中使用MATLAB作为行动的行为数据依赖的价值MATLAB图表fimath属性为图表。
这个属性是不可用的属性检查器。
描述
MATLAB函数的描述。
文档链接
链接到在线文档的MATLAB函数。您可以输入一个web URL地址或MATLAB命令显示文档作为一个HTML文件或文本在MATLAB命令窗口。当你点击文档链接超链接,Stateflow评估和显示文档的链接。
另请参阅
对象
工具
- 模型浏览器(万博1manbetx模型)