主要内容

确定信号的维度

金宝app®块可以输出一维、二维或多维信号。Simu金宝applink用户界面和文档通常将一维信号称为向量和二维或多维信号矩阵.单元素数组通常被称为标量.一个行向量是一个只有一行的二维数组。一个列向量是一个有一列的二维数组。

  • 一维(1-D)信号由一系列一维阵列组成,每个仿真时间步长以一个阵列(矢量)的频率输出。

  • 一个二维(2-D)信号由一系列二维阵列组成,每个块采样时间以一个二维阵列(矩阵)的频率输出。

  • 多维信号由一系列多维(两个或更多尺寸)阵列以每块采样时间的一个阵列的频率组成。您可以使用任何有效的MATLAB指定多维阵列®多维表达,如[4 3]。看到多维数组有关多维数组的信息。

金宝appSimulink模块可以接受或输出的信号的维度不同。一些块可以接受或输出任何维度的信号。有些只接受或输出标量或矢量信号。

请注意

金宝appSimulink在模拟期间金宝app不支持动态信号尺寸。也就是说,在执行模拟时,信号的维度必须保持恒定。但是,您可以在仿真期间更改信号的大小。看到可变尺寸信号基础

如果一个块可以发出非标量信号,则该块输出的信号的维数取决于块参数(如果该块是源块);否则,输出尺寸取决于块输入和参数的尺寸。

要确定信号最终用于模拟的尺寸,首先更新框图(例如,通过按Ctrl + D).然后,选择其中一种技巧:

  • 直接在框图上显示尺寸。使用此技术沿块的路径跟踪信号维度。在模型中,在调试选项卡,选择信息覆盖>信号尺寸).

  • 检查模型数据编辑器中的尺寸,该尺寸在可搜索的可选表中显示您的信息。在表中,每个细胞的右侧列表示模型中相应信号线的真实尺寸。有关模型数据编辑器的更多信息,请参见使用模型数据编辑器配置数据属性

金宝app支持多维信号的块金宝app

Simu金宝applink块数据类型支持表包括标识具有多维金宝app信号支持的块的列。

  1. 在MATLAB命令行中,输入showblockdatatypetable.

    打开一个单独的窗口,其中包含Simulink块数据类型金宝app支持表。金宝app

  2. 在“块”列中,找到Simulink块的名称。金宝app右边的列是数据类型或特性。一个一个X列中表示对该特性的支持。金宝app

金宝appSimu金宝applink支持多达32维的信号。不要使用超过32维的信号。

确定源块的输出尺寸

一个块是没有输入的块。源块的例子包括常数块和正弦波块。看到来源查看Simulink源代码块的完整列表。金宝app如果是源块,则源块的输出维数与输出值参数的维数相同将矢量参数解释为一维参数关闭(即,在“块参数”对话框中未选择)。如果是将矢量参数解释为一维参数开启时,输出维数等于输出值参数维数,除非参数维数为n × 1或1 × n。在后一种情况下,块输出一个宽度为N的矢量信号。

作为输出值参数的示例和将矢量参数解释为一维源块的参数决定其输出的维数,考虑常数块。这个块输出一个等于它的常量信号恒定值参数。下表说明了恒定值参数的设置将矢量参数解释为一维参数确定块输出的维度。

恒定价值 将矢量参数解释为一维 输出

标量

离开

一个元素数组

标量

一个元素数组

1)×(n矩阵

离开

1)×(n矩阵

1)×(n矩阵

n元向量

n×1矩阵

离开

n×1矩阵

n×1矩阵

n元向量

m×n的矩阵

离开

m×n的矩阵

m×n的矩阵

m×n的矩阵

金宝appSimulink源块允许您指定它们输出的信号的尺寸,或者指定Simulink从中推断尺寸的值。因此,您可以使用源块将不同维度的信号引入到模型中。

确定Nonsource块的输出维度

如果块具有输入,则其输出的尺寸是在标量扩展之后,与其输入相同。(所有输入必须具有相同的尺寸,如所讨论的信号和参数尺寸规则).

信号和参数尺寸规则

在创建Simulink模型时,您金宝app必须遵守以下关于信号和参数尺寸的规则。

输入信号维数规则

块的所有非标量输入必须具有相同的维度。

一个块可以混合标量和非标量输入,只要所有非标量输入具有相同的维数。金宝appSimulink扩展标量输入,使其具有与非标量输入相同的维度(参见输入和参数的标量展开).

块参数维数规则

通常,块参数必须具有与块输入的维度相同的维度。金宝appSimulink执行一些处理,提供了与通用规则相关的灵活性。

  • 块可以具有对应于非卡拉尔输入的标量参数。在这种情况下,Simulin金宝appk扩展了标量参数以具有与相应输入相同的尺寸(参见输入和参数的标量展开).

  • 如果输入是一个向量,则相应的参数可以是一个n × 1矩阵或一个1 × n矩阵。在这种情况下,Simulin金宝appk将N个矩阵元素应用到输入向量的相应元素上。这个异常允许使用MATLAB的行向量或列向量,它们实际上分别是1 × n或n × 1矩阵,来指定应用于向量输入的参数。

向量或矩阵输入转换规则

金宝appSimulink在以下情况下将向量转换为行或列矩阵,将行或列矩阵转换为向量:

  • 如果向量信号连接到需要矩阵的输入,则Simulink将向量转换为单行或一列矩阵。金宝app

  • 如果一个列或单行矩阵连接到需要向量的输入,则Simulink将矩阵转换为向量。金宝app

  • 如果对块的输入包括矢量和矩阵的混合,并且矩阵输入都具有一列或一行,则Simulink将向量转换为具有一列或一行的矩阵。金宝app

    请注意

    如果在模拟期间发生载体或矩阵转换,则金宝app可以配置Simulink以显示警告或错误消息。看到向量/矩阵块输入转换了解更多信息。

输入和参数的标量展开

标量扩展是标量值到非标量数组的转换。许多Sim金宝appulink块支持输入和金宝app参数的标量扩展。特定于块的描述表明Simulink是否对块输入和参数应用标量扩展。金宝app

输入的标量扩展是指标量输入的扩展,以匹配其他非卡拉尔输入或非卡尔参数的尺寸。当输入到块的输入是标量和非卡拉信号的混合时,Simulink将标量输入扩展到具有与其他非卡尔输入相同尺寸的非卡拉信号。金宝app例如,如果相关的Nonscalar具有3的尺寸,则将4的标量扩展到载体[4 4 4]。

参数的标量展开是指标量块参数的展开,以匹配非标量输入的维数。

输入(年代) 关联的块参数 标量扩张

标量子

Nonscalar

展开输入以匹配参数维度。

看到标量输入和非标量参数

Nonscalar

标量子

扩展标量参数以匹配输入元素的数量。

看到非标量输入和标量参数

标量和非卡尔的组合

没有相应的参数

标量输入扩展以匹配最大的Nonscalar输入尺寸。

看到标量和非卡尔输入和没有相关参数

标量输入和非标量参数

在本例中,输入到Gain块的Constant块是标量。获得块获得参数是一个非卡尔。金宝appSimulink扩展了标量输入以匹配Nonscalar的尺寸获得参数,如Display块中的仿真结果所示。

非标量输入和标量参数

在本例中,输入到Gain块的Constant块是非标量的。获得块获得参数为标量。金宝appSimulink扩展标量参数,以匹配来自Constant块的非标量输入的维度,这反映在Display块的仿真结果中。

标量和非卡尔输入和没有相关参数

在本例中,Sum块的Constant1块输入是非标量,而Constant2块输入是标量。Sum块没有关联参数。金宝appSimulink扩展来自Constant2的标量输入,以匹配非标量Constant1块输入的维度。将输入展开为向量(3 3 3)

获取编译后的端口维度

要获取端口信号的尺寸,请通过使用暂停模拟向前一步按钮。选择一个块并使用portHandles.参数。然后使用GetCompiledPortDimensions参数。例如,如果您在这个模型中向前迈进一步并选择常数布洛克:

ph = get_param(gcb,“PortHandles”);昏暗的= get_param (ph。输出港,“CompiledPortDimensions”
Dim = 2 2 3

对于非总线端口,结果是一个数组,其中第一个元素是维数(在本例中)2),接下来的两个元素(对应于维度的数量)是维度的值。

对于总线信号,结果包括一些额外的元素。假设您在一个带有总线的模型中向前迈进一步,选择总线的创造者包含嵌套总线的块:

ph = get_param(gcb,“PortHandles”);昏暗的= get_param (ph。输出港,“CompiledPortDimensions”
Dim = -2 4 1 2 1 1 3 4 5 6 5 2 3 4 5 6

第一个元素是-2,这表明信号是总线。第二个元素是叶节点的数量。后续元素遵循与非标扣信号相同的图案。在该示例中,第三元素表示总线中第一个信号的尺寸数(在这种情况下1),下一个数字是该维度的值(2).

相关的话题