实现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依赖于代码生成技术,它有很多共同之处MATLAB编码器。C/ c++代码生成的限制MATLAB编码器也适用于MATLAB函数块。但是,那MATLAB函数块中的Simulink自成体系,并且不需要金宝appMATLAB编码器。从包含的模型生成独立的C/ c++代码MATLAB函数块,用金宝app仿真软件编码器

MATLAB函数块功能

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

金宝appMATLAB接口

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

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

独立的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

非本征函数

对于模拟,您可以拨打外在从功能MATLAB函数块。外在函数是不支持C / C ++代码生成但可以在运行时被分派用于执行在MATLAB环境的功能。金宝app外在功能模型仿真期间执行在工作区中。

对于代码生成,金宝app仿真软件编码器尝试编译a中的所有函数MATLAB函数阻塞,除非您显式地将它们声明为外部的。外部函数调用与生成的独立代码(如独立的C/ c++源代码或可执行文件)无关。看到用于代码生成的函数调用的解析将MATLAB函数声明为外部函数

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

MATLAB函数块,你可以调用一个函数定义金宝app仿真软件的功能块。你可以调用Stateflow®函数时选择出口表层次功能(使全球)允许Simulink调用导出的函数金宝app“图表属性”对话框中的复选框。要了解更多关于如何调用定义的函数金宝app仿真软件的功能和Stateflow块,看金宝appSimulink函数:Simulink函数块,导出Stateflow图形和MATLAB函数

另请参阅

|

相关话题