主要内容

确定信号尺寸

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

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

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

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

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

请注意

金宝appSimulink在模拟过程金宝app中不支持动态信号维度。也就是说,在执行模拟时,信号的维度必须保持不变。但是,您可以在模拟过程中更改信号的大小。看到可变大小信号基础

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

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

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

  • 在Model Data Editor中检查维度,它以可搜索、可排序的表显示信息。在表格中,右侧的每个单元格中列表示模型中相应信号线的真实尺寸。有关模型数据编辑器的更多信息,请参见使用模型数据编辑器配置数据属性

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

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

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

    将打开带有Simulink块数据类型支持表的单独窗口。金宝app金宝app

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

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

确定源块的输出尺寸

一个Block是一个没有输入的块。源块的示例包括常数Block和正弦波块。看到来源以获取Simulink源代码块的完整列表。金宝app源块的输出维数与其输出值参数的维数相同将向量参数解释为1-D参数为off(即在块参数对话框中未选中)。如果将向量参数解释为1-D参数为on时,输出维数等于输出值参数维数,除非参数维数为n × 1或1 × n。在后一种情况下,块输出宽度为N的矢量信号。

作为如何输出参数值的例子将向量参数解释为1-D一个源块的参数决定其输出的维数,考虑常数块。这个块输出一个等于它的常数信号恒定值参数。的维数是如何恒定值参数的设置将向量参数解释为1-D参数确定块输出的维数。

恒定值 将向量参数解释为1-D 输出

标量

元素的数组

标量

元素的数组

1)×(n矩阵

1)×(n矩阵

1)×(n矩阵

n元向量

n×1矩阵

n×1矩阵

n×1矩阵

n元向量

m×n的矩阵

m×n的矩阵

m×n的矩阵

m×n的矩阵

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

确定非源块的输出尺寸

如果一个块有输入,那么在标量展开之后,它的输出维数与它的输入维数相同。(如中所讨论的,所有输入必须具有相同的尺寸信号与参数维数规则).

信号与参数维数规则

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

输入信号维数规则

块的所有非标量输入必须具有相同的尺寸。

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

块参数维数规则

一般来说,块参数的尺寸必须与块的输入尺寸相同。金宝appSimulink执行一些处理,提供了与通用规则相关的灵活性。

  • 块可以具有与非标量输入相对应的标量参数。在这种情况下,Simulin金宝appk将标量参数展开为与相应的输入具有相同的维度(请参阅输入和参数的标量展开).

  • 如果输入是一个向量,相应的参数可以是一个n × 1或1 × n矩阵。在本例中,Simulink将金宝appN个矩阵元素应用于输入向量的相应元素。这个例外允许使用MATLAB的行向量或列向量,它们实际上分别是1 × n或n × 1矩阵,来指定应用于向量输入的参数。

向量或矩阵输入转换规则

金宝app在下列情况下,Simulink将向量转换为行或列矩阵,并将行或列矩阵转换为向量:

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

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

  • 如果块的输入由向量和矩阵的混合组成,并且矩阵输入都有一列或一行,则Simulink将向量分别转换为有一列或一行的矩阵。金宝app

    请注意

    您可以配置Simulink,使其在模金宝app拟期间发生矢量或矩阵转换时显示警告或错误消息。看到矢量/矩阵块输入转换获取更多信息。

输入和参数的标量展开

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

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

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

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

标量

Nonscalar

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

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

Nonscalar

标量

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

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

标量与非标量的组合

无对应参数

扩展标量输入以匹配最大的非标量输入的维度。

看到标量和非标量输入,没有关联参数

标量输入和非标量参数

在本例中,向增益块输入的常量块是标量。增益块获得参数为非标量。金宝appSimulink扩展标量输入以匹配非标量的维度获得参数,显示在Display块中的模拟结果中。

非标量输入和标量参数

在本例中,增益块的常量块输入是非标量的。增益块获得参数为标量。金宝appSimulink扩展标量参数以匹配来自Constant块的非标量输入的尺寸,这反映在Display块中的模拟结果中。

标量和非标量输入,没有关联参数

在本例中,Sum块的Constant1块输入是非标量,而Constant2块输入是标量。Sum块没有关联参数。金宝appSimulink将标量输入从Constant2扩展到与非标量Constant1块输入的维度相匹配。输入被展开为向量[3,3,3]

获取编译端口尺寸

方法来暂停模拟,以获得端口信号的尺寸一步按钮。选择一个块并使用PortHandles参数。然后使用GetCompiledPortDimensions参数。例如,如果您在此模型中向前一步并选择常数布洛克:

Ph = get_param(gcb,“PortHandles”);Dim = get_param(ph。输出港,“CompiledPortDimensions”
2 . Dim = 2

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

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

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

第一个元素是-2,表示该信号为总线。第二个元素是叶节点的数量。后续元素遵循与非总线信号相同的模式。在本例中,第三个元素表示总线中第一个信号的维数1),下一个数字是该维度的值(2).

相关的话题