主要内容

getOutputSizeImpl

输出端口尺寸

语法

[sz_1, sz_2,…sz_n] = getOutputSizeImpl (obj)

描述

[sz_1, sz_2,…sz_n] = getOutputSizeImpl (obj)返回每个输出端口的大小。属性的返回值必须匹配输出的数量getNumOutputs方法中列出的输出参数的数量stepImpl方法。

如果System对象™只有一个输入和一个输出,并且希望输入和输出大小相同,则不需要实现此方法。在这种情况下getOutputSizeImpl假设输入和输出大小相同,并返回输入的大小。用于MATLAB中可变大小的输入®,大小在每次运行对象时都会变化。用于在Simulink中可变大小的输入金宝app®时,输出大小为最大输入大小。

您必须实现getOutputSizeImpl方法来定义输出大小,如果:

  • System对象有多个输入或输出

  • 您需要输出和输入大小不同。

    如果输出大小与输入大小不同,还必须使用propagatedInputSize方法

运行时细节

在Simuli金宝appnk模型编译和传播过程中MATLAB系统块调用getOutputSizeImpl方法确定输出大小。

所有输入默认为可变大小的输入。对于这些输入,输出大小是最大输入大小。

方法创作技巧

  • 必须设置访问=保护这个方法。

  • 在此方法中,您不能修改任何属性。

输入参数

全部展开

用于访问特定于对象的属性、状态和方法的系统对象句柄。如果你的getOutputSizeImpl方法不使用对象时,可以将此输入替换为

输出参数

全部展开

向量,包含每个输出端口的大小。

例子

全部展开

在类定义文件中指定System对象输出的大小。

方法(Access = protected)函数sz_1 = getOutputSizeImpl(obj) sz_1 = [1 1];结束结束

在类定义文件中指定多个System对象输出的大小。

方法(Access = protected) function [sz_1,sz_2] = getOutputSizeImpl(obj) sz_1 = propagatedInputSize(obj,1);Sz_2 = [1 1];结束结束

在类定义文件中指定System对象输出的大小,该大小取决于传播的输入大小。

方法(Access = protected) function varargout = getOutputSizeImpl(obj) varargout{1} = propagatedInputSize(obj,1);如果obj。HasSecondOutput varargout{2} = [1 1];结束结束结束
介绍了R2013b