系统中如何使用System对象有不同之处MATLAB系统在仿真软件金宝app®而不是在MATLAB中使用同一个对象®.当使用可变大小的信号和可调参数以及使用System对象作为属性时,可以看到这些差异。
要在System对象™中使用可变大小的信号,必须实现传播方法。特别是,使用isOutputFixedSizeImpl
方法指定输出是可变大小还是固定大小。解释执行和代码生成模拟方法需要此方法。
金宝appSimulink将System对象的公共可调属性注册为相应的可调参数MATLAB系统块。如果System对象属性是可调的,那么它也可以在MATLAB系统块。在运行时,可以使用以下方法之一更改参数。更改应用于模拟循环的顶部。
在MATLAB命令行中,使用set_param
修改参数值。
在Simuli金宝appnk编辑器中,编辑MATLAB系统块对话框更改参数值,然后更新块图。
不能从System对象的内部方法更改公共可调属性,例如stepImpl
.
在模拟期间,在可调参数上设置无效值将导致错误消息并停止模拟。
的MATLAB系统块允许系统对象拥有其他系统对象作为公共或私有属性。然而:
作为公共属性存储的系统对象和其他MATLAB对象是只读的。因此,不能设置参数的值,只能获取参数的值。
属性值存储的系统对象在MATLAB系统块对话框。
MATLAB不要求对象给属性分配默认值。但是,在Simulink金宝app中,如果System对象的属性没有指定默认值,则相关的对话框参数要求值数据类型是内置的Simulink数据类型。
使用MATLAB系统块内的一个为每个子系统块,实现金宝appsupportsMultipleInstanceImpl
方法。这个方法应该返回真正的
.的MATLAB系统块为每个对象克隆System对象为每个子系统迭代。
在Si金宝appmulink中,使用validateInputsImpl
方法只验证输入的属性(大小、数据类型和复杂性)。不要使用此方法验证输入的值。