主要内容

中使用系统对象的注意事项动态仿真模块

类中使用System对象的方式有所不同MATLAB系统Simulink中的块®而不是在MATLAB中使用相同的对象®.当使用可变大小的信号和可调参数时,以及当使用System对象作为属性时,您可以看到这些差异。

适应信号

要在System对象™中使用可变大小的信号,必须实现传播方法。特别地,使用isOutputFixedSizeImpl方法指定输出是可变大小还是固定大小。这种方法用于解释执行和代码生成模拟方法。

可调参数

Simulink将System对象的公共可调属性注册为相应的可调参数MATLAB系统块。属性中的“系统对象”属性是可调的,则该属性也是可调的MATLAB系统块。在运行时,可以使用以下方法之一更改参数。更改应用于模拟循环的顶部。

  • 在MATLAB命令行中,使用set_param修改参数值。

  • 在Simulink编辑器中,编辑MATLAB系统方块对话框更改参数值,然后更新方块图。

不能从系统对象的内部方法更改公共可调属性stepImpl

在模拟过程中,在可调参数上设置无效值会导致错误消息并停止模拟。

作为属性的系统对象

MATLAB系统block允许系统对象拥有其他系统对象作为公共或私有属性。然而:

  • 系统对象和其他作为公共属性存储的MATLAB对象是只读的。因此,您不能设置参数的值,只能获取参数的值。

  • 存储为属性值的系统对象在MATLAB系统对话框。

默认属性值

MATLAB不要求对象为属性分配默认值。但是,在Simulink中,如果“系统”对象具有没有分配默认值的属性,则相关的对话框参数要求值数据类型为内置的Simulink数据类型。

每个子系统中的系统对象

使用MATLAB系统块内的每个子系统块,实现supportsMultipleInstanceImpl方法。这个方法应该返回真正的.的MATLAB系统block为每个对象克隆System对象每个子系统迭代。

输入验证

在Simulink中,使用validateInputsImpl方法只验证输入的属性(大小、数据类型和复杂性)。不要使用此方法验证输入的值。

另请参阅

相关的例子

更多关于

Baidu
map