主要内容

实施MATLAB使用块的函数

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

当使用这些块具体为:

  • 您有一个现有的MATLAB功能模式自定义功能,或者它会很容易为你创造这样的功能。

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

  • 你会发现它通过使用MATLAB功能比使用Simulink的框图容易模式自定义功能。金宝app

  • 要模型中的自定义功能,不包括连续或不连续的动态状态。为了模拟动态状态,采用S-功能。看创建和配置Matlabs函数.

怎么MATLAB函数积木

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

因为MATLAB函数块依赖于代码生成技术,它与MATLAB编码器. C/C++的代码生成限制MATLAB编码器也适用于MATLAB函数块。然而MATLAB函数块中的Simulink自成体系,并且不需要金宝appMATLAB编码器. 从包含MATLAB函数块,使用金宝appSimulink编码器.

MATLAB函数块功能

下面介绍什么你可以使用MATLAB函数在你的模型中。看怎样使用MATLAB函数块在示例中,请参见创建自定义功能的MATLAB使用功能块.

金宝appMATLAB接口

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

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

独立C/C++代码生成

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

有关从Simulink模型生成C/C++代码的更多信息,请参阅金宝app金宝appSimulink编码器.

MATLAB语言和功能支持金宝app

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

外在功能

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

对于代码生成,金宝appSimulink编码器尝试在一个文件中编译所有函数MATLAB函数块,除非你明确声明他们作为外在的。外在函数调用从生成的独立代码省略,如独立的C / C ++源代码或可执行文件。看代码生成的函数调用解析使用coder.extrinsic构造.

金宝appSimulink函数阻止和状态流块支撑金宝app

MATLAB函数块,你可以调用一个函数定义金宝appSimulink函数街区。您可以调用Stateflow®当您选择出口表层次功能(使全球)允许Simulink调用导出的函数金宝app“图表属性”对话框中的复选框。了解有关如何调用中定义的函数的详细信息金宝appSimulink函数和状态流块,请参见向模型添加S金宝appimulink函数.

另见

||

相关话题