主要内容

改变输入的数量

这个例子显示了如何设置数量的输入系统对象™在使用和不使用getNumInputsImpl

如果你有数量可变的输入或输出,你打算使用的系统对象模型®,您必须包括万博1manbetxgetNumInputsImplgetNumOutputsImpl方法在你的类的定义。

这些例子显示修改输入的数量。如果你想改变输出的数量,应用相同的原则。

与所有的系统对象Impl方法,你总是设置getNumInputsImplgetNumOutputsImpl方法的访问受保护的因为他们是内部从未直接调用的方法。

允许三个输入

这个例子展示了如何编写一个系统对象,允许输入的数量有所不同。

更新stepImpl方法接受三个输入通过添加代码来处理一个,两个,三个输入。如果你只使用MATLAB的系统对象,getNumInputsImplgetNumOutputsImpl不需要。

完整的类定义

classdefAddTogether < matlab.System%添加输入一起方法(访问=保护)函数y = stepImpl (~ (x1, x2, x3)开关输入参数个数情况下2 y = x₁;情况下3 y = x1 + x2;情况下4 y = x1 + x2 + x3;否则y = [];结束结束结束结束

运行这个系统对象只有一个,两个,三个输入框。

addObj = AddTogether;addObj (2)
ans = 2
addObj (2、3)
ans = 5
addObj (2、3、4)
ans = 9

控制输入和输出的数量和性质

这个例子展示了如何编写一个系统对象,允许更改数量的输入和输出在运行对象之前。使用这种方法当你的系统对象模型将包括:万博1manbetx

  • 添加一个nontunable属性NumInputs控制输入的数量。

  • 实现相关的getNumInputsImpl方法来指定输入的数量。

完整的类定义

classdefAddTogether2 < matlab.System%添加输入。输入的数量控制% nontunable属性| NumInputs |。属性(Nontunable) NumInputs = 3;%的默认值结束方法(访问=保护)函数y = stepImpl (obj, x1, x2, x3)开关obj.NumInputs情况下1 y = x₁;情况下2 y = x1 + x2;情况下3 y = x1 + x2 + x3;否则y = [];结束结束函数validatePropertiesImpl (obj)如果((obj。NumInputs < 1) | |(obj。NumInputs > 3))错误(“只有1、2、或3输入允许的。”);结束结束函数numIn = getNumInputsImpl (obj) numIn = obj.NumInputs;结束结束结束

运行这个系统对象只有一个,两个,三个输入框。

addObj = AddTogether2;addObj。NumInputs = 1;addObj (2)
ans = 2
释放(addObj);addObj。NumInputs = 2;addObj (2、3)
ans = 5
释放(addObj);addObj。NumInputs = 3;addObj (2、3、4)
ans = 9

另请参阅

|

相关的话题