文档

为每一个

单独处理掩码参数或输入信号的元素或子数组

  • 库:
  • 端口与子系统

描述

为每一个控件的控制块每个子系统块。具体来说,为每一个控件中的块每个子系统独立地处理输入信号或掩码参数的元素。这个子系统内的每个块(具有状态)都为它所处理的每个元素或子数组维护一组单独的状态。当子系统中的块集处理元素或子数组时,子系统将结果连接起来形成输出信号。

您可以使用For Each子系统在更改输入或掩码参数后迭代计算输出。为此,您可以在For Each block对话框中配置输入信号的分区或掩码参数。

分区子系统的输入信号

在For Each子系统中,您可以为每次迭代指定要分区的输入信号输入分区选项卡中的“For Each”块。在指定要分区的信号时,还必须指定分区维度分区宽度,分区抵消参数。

For Each块中的分区参数

可以对a的掩码参数进行分区每个子系统块。对于每次迭代都具有相同结构但参数值不同的系统,分区是有用的。在这种情况下,改变模型为每个参数划分额外的输入信号是很麻烦的。相反,为For Each子系统添加一个掩码参数。有关更多信息,请参见创建一个简单的蒙版.要选择分区的掩码参数,请使用“for Each block”对话框中的“parameter Partition”选项卡。有关更多信息,请参见选择分区参数

连接输出

属性来定义连接结果的维度连接尺寸在输出连接选项卡。

块为每个子数组堆栈生成的结果沿着连接维数,d1y设在)。然而,如果你指定d2通过将连接维度设置为2,结果将沿着d2方向(x设在)。因此,如果进程生成行向量,那么连接的结果就是行向量。

选择分区参数

在为分区选择输入信号或子系统掩码参数时,您需要指定如何为每次迭代将其分解为元素或子数组。通过为?设置整数值来实现这一点分区维度分区宽度,分区抵消参数。

举例来说,考虑一个输入信号矩阵A,其形式如下:

标签d1而且d2,分别定义维度1和2。的默认设置1对于分区尺寸和分区宽度,和0为分区偏移量,则Simulink垂直于分区尺寸进行切片万博1manbetxd1在宽度等于分区宽度的地方,这是一个元素。

矩阵A分解成这三个行向量。

如果你指定d2作为分区尺寸的输入值2, 万博1manbetxSimulink切片垂直于d2形成三个列向量。

除了设置分区维度2,如果你设置分区宽度2分区抵消-1, 万博1manbetxSimulink使用两个重叠的3x2分区进行处理。

的例子分区抵消参数,打开Simulink模型。万博1manbetxslexForEachOverlapExample

请注意

在Simulink中,只有信号被认为是一维的。万博1manbetx掩码参数是行向量或列向量,取决于它们的方向。要对行向量进行分区,请将分区维数指定为2(沿着列)。若要对列向量进行分区,请将分区维数指定为1(沿着行)。

例子

下面的模型演示了输入信号的分区为每一个块。这个2 × 3输入数组的每一行都包含三个整数,分别表示(xyz)-点的坐标。目标是基于(-20,-10,-5)的新原点来转换这些点,并显示结果。

通过将输入信号和新原点相加的过程放在每个子系统块,您可以通过将输入信号划分为两个行向量对每组坐标进行操作。的默认设置可以完成这样的分区1对于分区尺寸和分区宽度。的默认连接维度1,每一组新的坐标堆叠在d1方向,使你的显示为2 × 3的数组。

或者,如果指定的连接维为2,那么你得到一个单行向量,因为每一组结果堆栈在d2方向。

这个例子展示了如何划分输入信号。学习如何为每一个块和子系统处理带有状态的模型,请参见每个子系统文档。

港口

输入

全部展开

放置一个轮廓尺寸子系统块中的块向该块添加了一个外部输入端口。端口标签与端口名称匹配轮廓尺寸块。

使用轮廓尺寸块从本地环境中获取信号。

数据类型:||int8|int16|int32|uint8|uint16|uint32|布尔|不动点|枚举|公共汽车

输出

全部展开

放置一个外港子系统块中的块从该块中添加一个输出端口。子系统块上的端口标签是接口的名称外港块。

使用外港块发送信号到本地环境。

数据类型:||int8|int16|int32|uint8|uint16|uint32|布尔|不动点|枚举|公共汽车

参数

全部展开

输入分区选项卡

选择要划分的每个输入信号并指定相应的输入信号分区维度而且分区宽度参数。看到轮廓尺寸块参考页以获取更多信息。

端口连接的输入端口列表每个子系统块。

选择连接信号的输入端口每个子系统块,将其划分为子数组或元素。

清除输入端口信号。

选择要分区的输入端口信号。

依赖

选择此参数将启用分区维度而且分区宽度所选输入端口信号的参数。

编程使用

参数InputPartition
类型:字符向量
价值“关闭”|“上”
默认的“关闭”

指定对输入信号数组进行切片的尺寸。生成的切片垂直于您指定的维度。切片还将数组划分为适当的子数组或元素。

1

指定的维度为1

整数

指定尺寸。最小值1

编程使用

参数InputPartitionDimension
类型:字符向量
价值' 1 '|“整数> <”
默认的' 1 '

指定输入信号的每个分区片的宽度。

1

一个元素的宽度。

整数

指定的宽度。最小值1

编程使用

参数InputPartitionWidth
类型:字符向量
价值' 1 '|“整数> <”
默认的' 1 '

为输入信号的每个分区片指定偏移量。

0

分区片之间没有偏移。

整数

指定分区偏移量,其中分区宽度和分区偏移量之和为正整数。

例如,分区宽度3.和一个分区抵消-2表示每3个元素切片与其相邻切片重叠2个元素。

编程使用

参数SubsysMaskParameterOffset
类型:字符向量
价值' 0 '|“整数> <”
默认的' 0 '

输出连接选项卡

对于每个输出端口,指定堆栈(连接)的尺寸每个子系统块的结果。看到外港块参考页以获取更多信息。

端口连接的输出端口列表每个子系统块。

方法的结果堆栈的尺寸每个子系统块。

1

结果堆叠在d1方向。如果块生成列向量,则连接过程将生成单个列向量。

整数

结果堆叠在d2方向。如果块生成行向量,则连接过程将生成单行向量。最小值1

编程使用

参数OutputConcatenationDimension
类型:字符向量
价值' 1 '|“整数> <”
默认的' 1 '

分区选项卡

选择要分区的每个掩码参数并指定相应的掩码参数分区维度而且分区宽度参数。只有当您向父For Each子系统的掩码添加了可编辑参数时,参数才会出现在列表中。

控件的掩码参数列表每个子系统块。

选项的掩码参数每个子系统块,将其划分为子数组或元素。

清除掩码参数。

选择要分区的掩码参数。

依赖

选择此参数将启用分区维度而且分区宽度所选掩码参数的参数。

编程使用

参数SubsysMaskParameterPartition
类型:字符向量
价值“关闭”|“上”
默认的“关闭”

指定对输入信号数组进行切片的尺寸。生成的切片垂直于您指定的维度。切片还将数组划分为适当的子数组或元素。

默认值:1

1

维度的1

整数

指定尺寸。最小值1

编程使用

参数SubsysMaskParameterPartitionDimension
类型:字符向量
价值' 1 '|“整数> <”
默认的' 1 '

指定输入信号的每个分区片的宽度。

1

一个元素的宽度。

整数

指定的宽度。最小值1

编程使用

参数SubsysMaskParameterPartitionWidth
类型:字符向量
价值' 1 '|“整数> <”
默认的' 1 '

在R2010a中引入

这个话题有用吗?