Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

Vector Concatenate、Matrix Concatenate

串联相同数据类型的输入信号以生成连续输出信号

  • 库:
  • Simulink / Commonly Used Blocks

    Simulink / Math Operations

    Simulink / Signal Routing

    HDL Coder / Math Operations

    HDL Coder / Signal Routing

  • Vector Concatenate block
  • Matrix Concatenate block

说明

Vector ConcatenateMatrix Concatenate 模块串联输入信号,以创建一个非虚拟输出信号,其元素位于内存中的连续位置。

在 Simulink® 库中,这些模块是同一模块的不同配置。不同之处在于其 Mode 参数的设置,该参数确定模块是以向量模式还是多维数组串联模式运行。输入信号要求和输出信号取决于串联模式。

模块Mode 设置输入信号要求输出信号
Vector ConcatenateVector

  • 向量

  • 行向量(1×M 矩阵)

  • 列向量(M×1 矩阵)

  • 向量与行向量或列向量的组合

当所有输入都是向量时,输出是向量。

如果输入是行向量或列向量,则输出分别是行向量或列向量。

提示

要创建函数调用向量,请使用 Mux 模块。

Matrix ConcatenateMultidimensional array

任何维度的信号(标量、向量和矩阵)

输出始终都是数组。

对于维度较低的输入,尾部维度假定为 1。例如,如果输出是 4 维,输入为 [2x3](2 维),此模块会将输入视为 [2x3x1x1]

串联在您使用 Concatenate dimension 参数指定的维度上进行。

输出信号中信号的显示顺序与模块的输入信号相同。有关各种模块方向的端口顺序的说明,请参阅旋转或翻转后的端口位置

您可以使用多个 Vector ConcatenateMatrix Concatenate 模块分多个阶段创建输出信号,但结果是平面结构,就像您只使用一个模块串联信号一样。

您必须使用 Vector ConcatenateMatrix Concatenate 模块来定义总线数组。有关详细信息,请参阅 使用总线数组组合非虚拟总线

端口

输入

全部展开

要串联的第一个输入,指定为标量、向量、矩阵或 N 维数组。

  • 输入必须具有相同的数据类型。

  • 仅当 Mode 设置为 “Multidimensional array” 时,才支持矩阵和 N 维数组输入。

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

要串联的第 N 个输入,指定为标量、向量、矩阵或 N 维数组。

  • 输入必须具有相同的数据类型。

  • 仅当 Mode 设置为 “Multidimensional array” 时,才支持矩阵和 N 维数组输入。

依存关系

要启用此端口,请将 Number of inputs 设置为大于或等于 2 的整数。

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

输出

全部展开

输入信号沿指定维度的串联。输出的数据类型与输入相同。

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

参数

全部展开

将模块的输入的个数指定为小于或等于 65536 的实数值正整数。

编程用法

模块参数:NumInputs
类型:字符向量
值:正整数
默认值:'2'

选择此模块执行的串联类型。Vector Concatenate 模块的默认 Mode 是 “Vector”。Matrix Concatenate 模块的默认 Mode 是 “Multidimensional array”。

  • 当您选择 “Vector” 时,模块将执行向量串联。

  • 当您选择 “Multidimensional array” 时,模块会执行矩阵串联。

Mode 设置输入信号输出
Vector

  • 向量

  • 行向量(1×M 矩阵)

  • 列向量(M×1 矩阵)

  • 向量与行向量或列向量的组合

当所有输入都是向量时,输出是向量。

如果输入是行向量或列向量,则输出分别是行向量或列向量。

Multidimensional array

任何维度的信号(标量、向量和矩阵)

输出始终都是数组。

对于维度较低的输入,尾部维度假定为 1。例如,如果输出是 4 维,输入为 [2x3](2 维),此模块会将输入视为 [2x3x1x1]

串联在您使用 Concatenate dimension 参数指定的维度上进行。

编程用法

模块参数:Mode
类型:字符向量
值:'Vector' | 'Multidimensional array'
默认值:'Vector'

指定沿哪个输出维度串联输入数组。

  • 要垂直串联输入数组,请输入 1

  • 要水平串联输入数组,请输入 2

  • 要对输入执行多维串联,请指定大于 2 的整数。

如果将此参数设置为 1,并且模块输入是二维矩阵,模块将执行垂直矩阵串联,并将输入矩阵上下堆叠以创建输出矩阵。有关示例,请参阅 ex_concatenate_vertical 模型。

The input matrices [1 2;3 4] and [5 6] are vertically concatenated to create the output matrix [1 2; 3 4; 5 6].

如果将此参数设置为 2,并且模块输入是二维矩阵,则模块会执行水平矩阵串联并将输入矩阵并排放置以创建输出矩阵。有关示例,请参阅 ex_concatenate_horizontal 模型。

The input matrices [1 2;3 4] and [5;6] are horizontally concatenated to create the output matrix [1 2 5;3 4 6].

输入矩阵必须具有兼容的大小才能串联。垂直串联要求输入矩阵具有相同的列数。水平串联要求输入矩阵具有相同的行数。

如果将此参数设置为 3,并且模块输入是二维矩阵,则模块执行多维矩阵串联。有关示例,请参阅 ex_concatenate_multidims 模型

The dimension of each input matrix is [2x2] and the dimension of the output matrix is [2x2x2].

依存关系

要启用此参数,请将 Mode 设置为 “Multidimensional array”。

编程用法

模块参数:ConcatenateDimension
类型:字符向量
值:整数标量
默认值:'1'

模块特性

数据类型

Boolean | double | enumerated | fixed point | half | integer | single

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

在 R2009b 中推出