主要内容

实现MATLAB使用块的函数

MATLAB函数块使您能够在Simulink中定义自定义功能金宝app®模型的建立®语言。它们是将MATLAB代码引入Simulink的最简单方法。金宝appMATLAB函数块支持C/ c金宝app++代码生成金宝app仿真软件编码器™和嵌入式编码器®

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

  • 您有一个现有的MATLAB函数来建模自定义功能,或者创建这样的函数对您来说很容易。

  • 您的模型需要在Simulink图形语言中无法捕获或无法捕获的自定义功能。金宝app

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

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

如何MATLAB函数块工作

当您模拟一个包含MATLAB函数块,软件从块中生成二进制代码或C/ c++ MATLAB可执行(MEX)代码,并将该代码与模型集成。的MATLAB函数Block使用相同的基础结构MATLAB编码器,您可以使用它从Simulink之外的MATLAB代码生成C/ c++代码。金宝app

因为MATLAB函数Block依赖于代码生成技术,它与MATLAB编码器.C/ c++代码生成限制MATLAB编码器也适用于MATLAB函数块。然而,MATLAB函数块在Simulink中是自包含的,并且不需要金宝appMATLAB编码器.从包含。的模型生成独立的C/ c++代码MATLAB函数块,用金宝app仿真软件编码器

MATLAB函数块功能

下面描述了什么你可以使用MATLAB函数在你的模型中。看到如何使用aMATLAB函数块中的一个示例,参见使用MATLAB函数块创建自定义功能

金宝appMATLAB接口

MATLAB函数block提供了MATLAB代码和Simulink模型之间的直观接口。金宝app块输入和输出变量从Simulink输入和输出信号继承其属性。金宝app

默认情况下,a的输入和输出信号的大小和类型MATLAB函数块从相应的Simulink信号继承。金宝app您还可以选择在Ports和Data Manager或Model Explorer中显式指定输入和输出的大小和类型。看到端口和数据管理器模型浏览器

独立的C/ c++代码生成

MATLAB函数块支持C/ c++代码金宝app生成金宝app仿真软件编码器和嵌入式编码器。通过使用代码生成的Simulink模型,其中包含一个金宝appMATLAB函数块,您可以在MATLAB环境之外部署MATLAB功能。

有关从Simulink模型生成C/ c++代码的更多信息,请参见金宝app金宝app仿真软件编码器

MATLAB语言和函数支持金宝app

在一个MATLAB函数块,只能使用MATLAB语言的子集和支持C/ c++代码生成的语言特性。金宝app有关代码生成所支持的函数列表,请参见金宝app支持C/ c++代码生成的函数和对象金宝app.有关支持金宝app的语言特性,请参见MATLAB语言特性支持C/ c++代码生成金宝app

非本征函数

对于模拟,您可以调用外在a的函数MATLAB函数块。外部函数是C/ c++代码生成不支持的函数,但可以在运行时分派给MATLAB环境执行。金宝app在模型仿真期间,外部函数在工作空间中执行。

对于代码生成,金宝app仿真软件编码器中编译所有函数MATLAB函数块,除非显式地将它们声明为外部的。外部函数调用从生成的独立代码中被省略,例如独立的C/ c++源代码或可执行文件。看到解析用于代码生成的函数调用将MATLAB函数声明为外部函数

金宝app仿真软件的功能块和Stateflow块的支持金宝app

MATLAB函数块中定义的函数金宝app仿真软件的功能块。你可以调用statflow®函数导出图表级功能(全局化)允许导出函数被Simulink调用金宝app复选框中的图表属性对话框。中定义的函数的更多信息金宝app仿真软件的功能和状态流块,参见金宝appSimulink函数:Simulink函数块,导出Stateflow图形和MATLAB函数

另请参阅

|

相关的话题