主要内容

getOutputDataTypeImpl

输出端口的数据类型

语法

[dt_1, dt_2,…dt_n] = getOutputDataTypeImpl (obj)

描述

[dt_1, dt_2,…dt_n] = getOutputDataTypeImpl (obj)返回每个输出端口的数据类型,作为内置数据类型的字符向量,或作为定点数据类型的数值对象。属性的返回值必须匹配输出的数量getNumOutputsImpl方法中列出的输出参数的数量stepImpl方法。

对于具有一个输入和一个输出的System对象,如果您希望输入和输出数据类型相同,则不需要实现此方法。在这种情况下,getOutputDataTypeImpl假设输入和输出数据类型相同,并返回输入的数据类型。

如果System对象™有多个输入或输出,并且使用传播,则必须在getOutputDataTypeImpl方法。对于仿真金宝app软件®,如果输入和输出数据类型不同,则可能必须将输出值强制转换为适当的数据类型dt_n输出参数。属性中指定这种类型转换stepImpl方法。对于总线输出,必须指定输出总线的名称getOutputDataTypeImpl

如果需要确定输出数据类型,可以使用propagatedInputDataTypegetOutputDataTypeImpl方法获取输入类型。

运行时细节

getOutputDataTypeImpl是由MATLAB系统块。

方法创作技巧

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

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

  • 如果您正在调试代码并在Simulink完成传播之前检查数据类型,那么您可能会看到带有空的[]数据类型的输出。金宝app这是因为Simulink还没有完成输出数金宝app据类型的设置。

输入参数

全部展开

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

输出参数

全部展开

属性的数据类型。对于内置数据类型,dt是字符向量。对于定点数据类型,dt是数字类型对象。

例子

全部展开

在类定义文件中指定如何控制MATLAB的输出数据类型®系统块。这个例子展示了如何使用getOutputDataTypeImpl方法将输出数据类型从单值更改为双值,或将输入作为双值传播。属性中的输出数据类型,还演示了如何强制转换数据类型stepImpl方法。

classdefDataTypeChange < matlab。系统&...matlab.system.mixin.Propagates属性(不可调优)量化= false结束方法(访问=保护)函数y = stepImpl (obj, u)如果obj。数字转换= = true%强制输出数据类型与输入数据类型不同。y =单(u);其他的%传播输出数据类型。y = u;结束结束函数= getOutputDataTypeImpl (obj)如果obj。量化== true out =“单身”其他的= propagatedInputDataType (obj, 1);结束结束结束结束

在类定义文件中指定System对象数据类型为总线。您还必须包含一个属性来指定总线名称。

属性(Nontunable) OutputBusName =“myBus”结束方法(Access = protected)函数out = getOutputDataTypeImpl(obj) out = obj. outputbusname;结束结束

输出总线的数据类型必须预先定义。的propagatedInputDataType方法不支持将总线数据类型传播到输金宝app出数据类型。

介绍了R2013b