MATLAB系统块

为什么用MATLAB系统块?

系统对象允许您使用MATLAB实现算法®语言。的MATLAB系统块允许您在Simulink中使用系统对象万博1manbetx®

MATLAB系统块让你:

  • 在MATLAB和Simulink中共享同一个系统对象™万博1manbetx

  • 专用于与Simulink集成系统对象万博1manbetx

  • 在Simulink中使用算法之前,先用MATLAB进行单元测试万博1manbetx

  • 自定义对话框

  • 有效的模拟与更好的初始化

  • 处理状态

  • 自定义带有端口标签的块图标

  • 访问两种模拟模式

选择正确的块类型

在Simulink中包含MATLAB算法有几种机制,例如:万博1manbetx

  • MATLAB系统

  • MATLAB函数

  • 解释MATLAB函数

  • 2级MATLAB函数

有关如何选择正确的块,请参见自定义块功能的比较

系统对象

在你使用MATLAB系统块时,必须有一个系统对象与块关联。系统对象是一种特殊的MATLAB类。系统对象是专门为实现和模拟输入随时间变化的动态系统而设计的。

有关创建系统对象的更多信息,请参见为Simulink定制系统对象万博1manbetx

请注意

要在Simulink环境中使用系统对象,它必须有一个不带参数可以调万博1manbetx用的构造函数。默认情况下,系统对象构造函数具有此功能,您不需要定义自己的构造函数。但是,如果您创建自己的系统对象构造函数,则必须能够不带参数调用它。

系统对象存在于其他MATLAB产品中。s manbetx 845MATLAB系统块只支持用M万博1manbetxATLAB语言编写的系统对象。另外,如果系统对象有相应的Simulink块,则不能实现万博1manbetxMATLAB系统块。

解释执行或代码生成

您可以使用MATLAB系统在Simulink模万博1manbetx型中,用于通过解释执行或代码生成进行仿真的块。

  • 通过解释执行,该模型使用MATLAB执行引擎对模块进行仿真。

  • 在代码生成中,模型使用代码生成来模拟块(需要使用用于代码生成的MATLAB代码子集)。万博1manbetx有关支持的函数的列表,请参见万博1manbetxC/ c++代码生成支持的函数和对象万博1manbetx

默认输入信号属性

如果一个MATLAB系统块的一个或多个输入未连接到另一个块的输出端口,或连接到具有未指定属性的端口,未指定属性的默认输入信号属性为:

数据属性 默认的
数据类型
大小 [1]标量
复杂性 真正的

MATLAB系统块的局限性

目前不支持这些功能。万博1manbetx

类别 限制描述 解决方案

系统对象

对象中的可调逻辑和字符向量属性是不可调参数MATLAB系统块。

- - - - - -

数据类型

  • MATLAB系统块不支持虚拟总线作为输入或输出万博1manbetx。

  • 系统对象不能使用具有非二进制点缩放或非零偏差的定点信号。

  • 系统对象不能使用用户定义的不透明数据类型。

- - - - - -

样品时间

不能使用MATLAB系统块模型连续时间或多速率系统。

- - - - - -

线性化

不能使用基于雅可比矩阵的线性化。

- - - - - -

全局变量

在模型配置参数中定义的全局变量模拟目标>自定义代码窗格和由系统对象引用的,不会与Stateflow共享®MATLAB函数块。

打开导入自定义代码选项模拟目标“配置参数”对话框的窗格。

调试

基于代码生成的仿真的MATLAB调试。

设置MATLAB系统模拟使用参数解释执行,然后调试。当你完成时,开始模拟使用代码生成

定点的工具

定点工具不返回设计最小值/最大值、最小值/最大值日志记录和自动记录信息MATLAB系统块。

- - - - - -

模型覆盖分析(万博1manbetx仿真软件覆盖™软件)

万博1manbetx仿真软件覆盖无法执行模型分析MATLAB系统块与模拟使用参数设置为解释执行

- - - - - -

检查模式兼容性(万博1manbetx仿真软件设计校验™软件)

万博1manbetx仿真软件设计验证器不能对包含a的模型或子系统执行兼容性检查MATLAB系统块。

- - - - - -

MATLAB系统和系统对象示例

的例子MATLAB系统和系统对象,见:

例子 描述

系统识别FIR系统使用MATLAB模块

这个例子展示了如何使用MATLAB系统块来实现使用系统对象的Simulink万博1manbetx块。重点介绍了两个MATLAB系统模块。通过单击来访问每个系统对象的MATLAB源代码源代码从块对话框链接。

可变大小的输入和输出信号使用MATLAB模块系统

这个例子展示了如何使用MATLAB系统块来实现具有可变大小输入和输出信号的S万博1manbetximulink块。由于使用了可变大小的信号,本例使用了传播方法。

用MATLAB系统块演示大数定律

这个例子展示了如何使用MATLAB系统方块来说明大数定律。由于代码生成不支持MATLAB函数的使用,本示例使用传播方法和解释执行。万博1manbetx

使用总线与MATLAB系统块

这个例子展示了如何使用MATLAB系统在输入或输出处具有非虚拟总线的块。由于使用Simulink总线,万博1manbetx本示例使用了传播方法。示例使用模型回调在MATLAB基本工作区中定义总线类型。

另请参阅

相关的例子

更多关于