主要内容

getOutputSizeImpl

输出端口尺寸

语法

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

描述

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

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

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

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

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

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

运行时细节

在Simuli万博1manbetxnk模型的编译和传播过程中MATLAB系统块调用getOutputSizeImpl方法确定输出大小。

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

方法创作技巧

  • 你必须设置访问=受保护对于这个方法。

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

输入参数

全部展开

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

输出参数

全部展开

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

例子

全部展开

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

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

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

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

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

method (Access = protected) function varargout = getOutputSizeImpl(obj) varargout{1} = propagatedInputSize(obj,1);如果obj。HasSecondOutput varargout{2} = [1 1];结束结束
在R2013b中引入