主要内容

实现MATLAB函数金宝appMATLAB函数

MATLAB函数块允许您在Simulink中定义自定义函数金宝app®用MATLAB建立模型®语言。MATLAB函数block支持金宝appC/ c++代码生成金宝app仿真软件编码器™和嵌入式编码器®

在以下情况下使用这些块:

  • 您有一个现有的MATLAB函数,可以对自定义函数建模,或者您可以很容易地创建这样的函数。

  • 您的模型需要自定义功能,而这些功能在Simulink图形语言中没有或不能捕获。金宝app

  • 您会发现使用MATLAB函数比使用Simulink框图更容易为自定义功能建模。金宝app

  • 要建模的自定义功能不包括连续或离散动态状态。为了模拟动态状态,使用s函数。看到创建和配置MATLAB s函数

计算平均值和标准偏差与MATLAB函数

本例从一个模型开始,该模型包含MATLAB函数块,并指导您如何自定义块以计算值向量的平均值和标准偏差。

打开模型

该模型call_stats_block1包括一个空的MATLAB函数块和示例所需的块。打开模型。

程序的MATLAB函数

编程块来计算值向量的平均值和标准偏差。

  1. 打开MATLAB函数块编辑器,双击MATLAB函数块。类中出现默认函数MATLAB函数块编辑器有两个变量:一个输入参数和一个输出参数。

    此图像显示了从call_stats_block1模型打开后的MATLAB函数块编辑器。它包含一个默认函数。

  2. 通过编辑函数声明语句定义函数的输入和输出:

    函数[mean, stdev] = stats(vals)

    该语句定义了一个名为统计数据有三个变量。该语句定义了一个输入参数,瓦尔斯,和两个输出参数,的意思是而且方差

  3. 在函数声明语句后的新行中,添加以下代码:

    计算统计平均值和标准值的%偏差,单位为val。Len =长度(vals);Mean = avg(vals,len);方差=√总和(vals-avg (vals, len)) ^ 2)) / len);情节(瓦尔斯,”——+”);函数Mean = avg(数组,大小)Mean = sum(数组)/size;
  4. 退出该块。块更新端口名称。函数输出的意思是而且方差对应块输出端口的意思是而且方差函数输入瓦尔斯对应于块输入端口瓦尔斯

  5. 完成到MATLAB函数如图所示。

    这显示了先前图像中建立的块之间的连接信号。

  6. 将模型另存为call_stats_block2

检查属性MATLAB函数块变量

中变量的属性可以检查和管理MATLAB函数块。看到创建和定义MATLAB函数块变量.在本例中,验证input参数瓦尔斯继承它的类型和大小属性:

  1. 双击MATLAB函数块。

  2. 打开符号窗格和属性检查器。在函数选项卡上,单击编辑数据

    符号控件中的变量名名字列。的类型列确定函数参数的端口分配以及它在函数声明语句中的出现位置。在这个例子中,瓦尔斯分配给输入端口。的意思是而且方差分配到输出端口。如果你改变类型对于任意一个变量,函数声明语句也会更改。

  3. 检查属性瓦尔斯.在符号窗格中,单击的行瓦尔斯.属性检查器更新以显示属性瓦尔斯.的范围属性匹配类型列。

    只有一些属性可以被继承:大小单位复杂性,类型.变量指示它们继承这些属性时大小-1单位继承复杂性继承了,类型继承:与Simulink相同金宝app.在这个例子中,瓦尔斯将这些值用于大小而且类型

检查另一个MATLAB函数控件中选择变量来阻塞变量符号窗格。

默认情况下,新定义的输入和输出变量继承它们的大小、单位、复杂性和类型。如果希望变量使用特定的大小、单位或类型,可以显式地指定这些属性。例如,输入3 [2]大小属性将变量指定为2×3矩阵。有关更多信息,请参见定义和修改变量数据类型而且指定MATLAB函数块变量的大小

构建函数

输入代码后MATLAB函数块,您可以检查代码中的错误并构建函数。看到调试MATLAB函数块

当您构建模型时,MATLAB使用编译器来编译您的模型MATLAB函数块代码。如果您的系统上安装了多个支持matlab的编译器,则可以金宝app使用墨西哥人设置命令。看到更改默认编译器.要查看支持的编译器列表,请打开金宝app金宝app支持和兼容的编译器,单击与您的操作系统对应的选项卡,找到金宝appSimulink产品系列桌子,去用于模型引用,加速器模式,快速加速器模式,和MATLAB函数块列。

在Si金宝appmulink中,单击运行模拟模型。该软件构建MATLAB函数块时,它构建模型并将函数中的数据输出给这两个显示块。

为代码生成准备块

从包含的模型生成独立的C/ c++代码MATLAB函数块,用金宝app仿真软件编码器或嵌入式编码器。

为模拟和代码生成构金宝app建选择支持的编译器

要查看支持的编译器列表,请打开金宝app金宝app支持和兼容的编译器,单击与您的操作系统对应的选项卡,找到金宝appSimulink产品系列桌子,去金宝app仿真软件编码器列。

MATLAB函数

如果你有执照金宝app仿真软件编码器或嵌入式编码器,您可以从模型生成代码。生成代码:

  1. call_stats_block2模型,双击MATLAB函数块。

  2. 打开金宝app仿真软件编码器或嵌入式编码器应用程序。

  3. C代码选项卡,构建编译和构建示例模型。

    如果您得到一个与变步求解器,打开配置参数窗口,然后单击解算器在左边的窗格中。下解算器的选择,设置类型固定步并再次生成代码。要了解固定步长和变步长求解器之间的更多区别,请参见固定步与可变步求解器

另请参阅

||

相关的话题