使用 MATLAB Function 模块创建自定义功能
此示例说明如何创建模型,该模型使用 MATLAB
Function 模块来计算值向量的均值和标准差。创建模型
创建一个新 Simulink® 模型,并从 User-Defined Functions 库中插入一个 MATLAB Function 模块。
添加 Constant 模块,并将其值设置为向量 [2 3 4 5]。向模型中添加两个 Display 模块。如图所示连接这些模块。
将模型另存为 call_stats_block1。MATLAB Function 模块编程
为模块编程,以计算值向量的均值和标准差:
双击 MATLAB Function 模块。默认函数签名出现在 MATLAB Function 模块编辑器中。在定义的函数签名内编写任何代码。
编辑函数头行:
function [mean,stdev] = stats(vals)
从该代码中,您定义了名为 stats 的函数,该函数计算向量 vals 中值的统计均值和标准差。函数头将 vals 声明为 stats 函数的参数,将 mean 和 stdev 作为返回值。
在 MATLAB Function 模块编辑器中,在函数头后输入一行空格,然后添加以下代码:
% Calculates a statistical mean and a standard
% deviation for the values in vals.
len = length(vals);
mean = avg(vals,len);
stdev = sqrt(sum(((vals-avg(vals,len)).^2))/len);
plot(vals,'-+');
function mean = avg(array,size)
mean = sum(array)/size;
将模型另存为 call_stats_block2。编译函数并检查错误
在 Simulink 模型中进行模块编程后,可以编译函数并测试是否有错误。编译 MATLAB Function 模块需要使用支持的编译器。MATLAB® 会自动选择一个编译器作为默认编译器。如果您的系统上安装了多个受 MATLAB 支持的编译器,您可以使用 mex -setup 命令更改默认编译器。请参阅更改默认编译器。