主要内容

实现MATLAB函数使用块

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

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

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

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

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

  • 要建模的自定义功能不包括连续或离散动态状态。若要建模动态状态,请使用S函数。请参阅创建和配置MATLAB s -函数

如何MATLAB函数块工作

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

因为MATLAB函数Block依赖于代码生成技术,与Block有很多共同之处MATLAB编码器.C/ c++代码生成限制MATLAB编码器也适用于MATLAB函数块。但是MATLAB函数块在Simulink中是自包含的,不需要金宝appMATLAB编码器.生成独立的C/ c++代码的模型包含MATLAB函数块,用金宝app仿真软件编码器

MATLAB函数块功能

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

金宝appMATLAB接口

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

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

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

MATLAB函数块用于C/ c++代码金宝app生成金宝app仿真软件编码器和嵌入式编码器。通过在包含金宝appMATLAB函数块,可以在MATLAB环境之外部署MATLAB功能。

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

MATLAB语言和功能支持金宝app

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

非本征函数

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

对于代码生成,金宝app仿真软件编码器试图编译所有函数MATLAB函数块,除非将它们显式声明为外部的。生成的独立代码(如独立C/C++源代码或可执行文件)中省略了外部函数调用。看见解析代码生成中的函数调用使用编码器。外在Construct

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

从…起MATLAB函数块中定义的函数金宝app仿真软件的功能块。您可以调用statflow®函数时,选择导出图表级函数(使其成为全局函数)允许Simulink调用导出的函数金宝app“图表属性”对话框中的复选框。来了解有关如何调用定义的函数的更多信息金宝app仿真软件的功能和statflow块,参见向模型中添加金宝appSimulink函数

另请参阅

||

相关话题