MATLAB函数
包括MATLAB代码模型,生成可嵌入C代码
库:
万博1manbetx模型/用户定义函数
高密度脂蛋白编码器/用户定义函数
描述
与一个MATLAB函数块,您可以编写一个MATLAB®函数中使用的仿真软件万博1manbetx®模型。MATLAB函数执行模拟和生成代码万博1manbetx仿真软件编码器™目标。如果你是新的仿真软件和MATLAB产万博1manbetx品,明白了s manbetx 845实现MATLAB函数与MATLAB仿真软件的功能模块万博1manbetx概述。
双击MATLAB函数块打开MATLAB功能块编辑器,你编写MATLAB函数。模型的例子call_stats_block2
讨论了实现MATLAB函数与MATLAB仿真软件的功能模块万博1manbetx使用下面的函数MATLAB功能块编辑器:
函数(意思是,方差)=统计(val)%计算统计均值和标准瓦尔斯%的偏差值。len =长度(val);意味着= avg (val, len);方差=√总和(vals-avg (vals, len)) ^ 2)) / len);情节(瓦尔斯,”——+”);函数意味着= avg(数组、大小)意味着=(数组)/大小总和;
这个函数指定了输入和输出数据作为参数和返回值的函数声明声明中。前面的示例函数的参数和返回值对应的块的输入和输出call_stats_block2
模型。
您还可以定义变量,添加一个输入触发,并创建函数调用使用Model Explorer或输出符号窗格。有关更多信息,请参见创建和定义MATLAB函数块变量,管理的输入触发一个MATLAB函数块,管理函数调用MATLAB功能块的输出。
的MATLAB函数块生成高效的可嵌入代码基础上进行分析,确定大小,类,并且每个变量的复杂性。这一分析实施以下限制:
第一个赋值给一个变量定义其大小、类,和复杂性。
你不能重新分配变量属性初始赋值之后除非使用适应可变数据或重用变量在代码中为不同的目的。
看到再赋值的变量属性。
除了语言限制MATLAB函数块支持MAT万博1manbetxLAB中可用的功能的一个子集。这些功能包括功能共同点类别,如:
有关更多信息,请参见函数和对象支持C / c++代码生成万博1manbetx。
请注意
虽然这个块的代码尝试MATLAB产生完全相同的结果,差异可能发生由于舍入误差。这些数值的差异,可能是几每股收益
最初,可以放大后重复操作。依赖的行为南
不推荐。不同的C编译器可以产生不同的结果相同的计算。
请注意
新MATLAB函数不包含块% # codegen
指令,但检查错误是否包括在内。添加% # codegen
指令,MATLAB函数块不影响错误检查。更多信息见编译指令% # codegen。
支持可万博1manbetx视化的数据,MATLAB函数块只支持模拟万博1manbetx调用MATLAB函数。看到使用MATLAB引擎来执行一个函数调用生成的代码了解一些这个功能的局限性,以及它如何与代码分析集成块。如果这些函数调用不直接影响模型的输入或输出,不出现在的电话万博1manbetx万博1manbetx仿真软件编码器生成的代码。
从MATLAB函数块,也可以调用函数中定义万博1manbetx仿真软件的功能块。你可以叫Stateflow®功能与出口图表层次功能(全球)和通过仿真软件允许导出的函数被称为万博1manbetx检查在图表属性对话框。
在符号窗格中,您可以声明一个块的输入是一个模型参数而不是一个港口。万博1manbetx的MATLAB函数块还支持继承类型和大小万博1manbetx的输入,输出,和参数。你也可以显式地指定这些属性。看到定义和修改变量的数据类型,指定大小的块变量MATLAB函数,配置MATLAB功能块参数变量你使用的变量的描述MATLAB函数块。
不允许递归调用MATLAB函数块。
默认情况下,MATLAB函数块直接引线启用。禁用它,清除允许直接引线财产。间接直通的语义确保输出只依赖于当前状态。使用间接引线使您能够使用MATLAB函数块一个反馈回路,防止代数循环。有关更多信息,请参见在MATLAB中使用间接直通的功能块。