Hauptinhalt

Vector Concatenate

Eingangsvektoren mit denselben Datentypen zur iterativen Verarbeitung verketten

  • Vector Concatenate block

Bibliotheken:
Simulink / Commonly Used Blocks
Simulink / Math Operations
Simulink / Signal Routing
HDL Coder / Math Operations
HDL Coder / Signal Routing

Alternative Konfigurationen des Vector Concatenate Blocks:
Matrix Concatenate

Beschreibung

Der Vector Concatenate-Block verkettet Eingangssignale und erstellt ein nichtskalares Signal, das Sie mit einem Subsystem iterativ verarbeiten können, beispielsweise mit einem For-Each-, While-Iterator- oder For-Iterator-Subsystem.

Sie können mehrere Vector Concatenate-Blöcke verwenden, um das Ausgangssignal in mehreren Schritten zu erstellen, aber das Ergebnis ist flach, als hätten Sie einen einzelnen Block zum Verketten der Signale verwendet.

Die Signale im Ausgangssignal erscheinen in derselben Reihenfolge wie die Eingangssignale des Blocks. Eine Beschreibung der Portreihenfolge für verschiedene Blockausrichtungen finden Sie unter Identify Port Location on Rotated or Flipped Block.

Sie müssen einen Block Vector Concatenate oder Matrix Concatenate verwenden, um ein Bus-Array zu definieren. Weitere Informationen finden Sie unter Group Nonvirtual Buses in Arrays of Buses.

Beispiele

alle erweitern

Ein Block „Vector Concatenate“ verkettet die empfangenen Vektoren und stellt sie im Ausgangsvektor nebeneinander.

Simulieren Sie beispielsweise das Modell VectorConcatenation.

Die Eingangsvektoren [1 2] und [3 4] werden verkettet, um den Ausgangsvektor [1 2 3 4] zu schaffen.

Erweiterte Beispiele

Ports

Eingabe

alle erweitern

Erste zu verkettende Eingabe, angegeben als Skalar, Vektor, Matrix oder Array.

  • Die Eingaben müssen denselben Datentyp aufweisen.

  • Matrix- und Array-Eingaben werden nur unterstützt, wenn Sie Mode auf Multidimensional array setzen.

Wenn der Datentyp ein Simulink.Bus-Objekt ist, müssen die Eingaben nicht virtuelle Busse sein.

Datentypen: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

N. zu verkettende Eingabe, angegeben als Skalar, Vektor, Matrix oder Array.

  • Die Eingaben müssen denselben Datentyp aufweisen.

  • Matrix- und Array-Eingaben werden nur unterstützt, wenn Sie Mode auf Multidimensional array setzen.

Abhängigkeiten

Um Eingangsports hinzuzufügen, setzen Sie Number of inputs auf eine Ganzzahl größer gleich 2.

Datentypen: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

Ausgabe

alle erweitern

Verketten von Eingabesignalen entlang einer angegebenen Dimension. Die Ausgaben müssen denselben Datentyp wie die Eingabe aufweisen.

Datentypen: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

Parameter

alle erweitern

Verwenden Sie den Property Inspector, um Blockparameter interaktiv zu bearbeiten. Klicken Sie in der Simulink®-Symbolleiste auf die Registerkarte Simulation und wählen Sie in der Galerie Prepare den Punkt Property Inspector aus.

Geben Sie die Anzahl der Eingänge für den Block als positive Ganzzahl mit realem Wert kleiner gleich 65536 an.

Programmatische Verwendung

Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param.

Parameter: NumInputs
Werte: '2' (Standardeinstellung) | positive integer in quotes
Datentypen: char | string

Beispiel: set_param(gcb,'NumInputs','3')

Wählen Sie aus, ob der Block im Vektor-Verkettungsmodus oder mehrdimensionalem Array-Verkettungsmodus fungieren soll. Der Standard-Mode des Blocks Vector Concatenate ist Vector. Der Standard-Mode des Blocks Matrix Concatenate ist Multidimensional array.

  • Wenn Sie Vector auswählen, führt der Block eine Vektorverkettung durch.

  • Wenn Sie Multidimensional array auswählen, führt der Block eine Matrixverkettung durch.

Mode-EinstellungEingangssignaleAusgangssignal
Vector

  • Vektoren

  • Zeilenvektoren (1-mal-M-Matrizen)

  • Spaltenvektoren (M-mal-1-Matrizen)

  • Kombination aus Vektoren und entweder Zeilen- oder Spaltenvektoren

Wenn alle Eingaben Vektoren sind, ist die Ausgabe ein Vektor.

Wenn mindestens eine Eingabe ein Zeilen- oder Spaltenvektor ist, ist die Ausgabe ein Zeilenvektor bzw. Spaltenvektor.

Multidimensional array

Signale mit beliebiger Dimensionalität (Skalare, Vektoren und Matrizen)

Die Ausgabe ist stets ein Array.

Angehängte Dimensionen werden bei Eingaben niedrigerer Dimensionalität als 1 betrachtet. Ist die Ausgabe beispielsweise 4 D und die Eingabe [2x3] (2 D), behandelt dieser Block die Eingabe als [2x3x1x1].

Die Verkettung findet entlang der Dimension statt, die Sie mit dem Parameter Concatenate dimension angeben.

Programmatische Verwendung

Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param.

Parameter: Mode
Werte: 'Vector' | 'Multidimensional array'

Beispiel: set_param(gcb,'Mode','Vector')

Geben Sie die Ausgangsdimension an, entlang derer die Eingangsarrays verkettet werden sollen.

  • 1 – Eingänge vertikal verketten. Die vertikale Matrix-Verkettung stapelt die Eingangsmatrizen in der Ausgangsmatrix aufeinander. Wenn Sie einen Block Vector Concatenate einfügen und den Mode auf Multidimensional array setzen, ist der Standardwert 1.

  • 2 – Eingänge horizontal verketten. Die horizontale Matrix-Verkettung ordnet die Eingangsmatrizen in der Ausgangsmatrix nebeneinander an. Wenn Sie einen Block Matrix Concatenate einfügen, ist der Standardwert 2.

  • 3 oder mehr – mehrdimensionale Verkettungen der Eingänge durchführen.

Die Eingangsmatrizen müssen zur Verkettung kompatible Größen haben. Für eine vertikale Verkettung müssen die Eingangsmatrizen dieselbe Anzahl Spalten aufweisen. Für eine horizontale Verkettung müssen die Eingangsmatrizen dieselbe Anzahl Zeilen aufweisen.

Abhängigkeiten

Um diesen Parameter zu aktivieren, setzen Sie Mode auf Multidimensional array.

Programmatische Verwendung

Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param.

Parameter: ConcatenateDimension
Werte: scalar integer in quotes
Datentypen: char | string

Beispiel: set_param(gcb,'ConcatenateDimension','3')

Blockeigenschaften

Datentypen

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

Direct Feedthrough

Ja

Mehrdimensionale Signale

Nein

Signale mit variabler Größe

Ja

Erkennung von Nulldurchgängen

Nein

Alternative Konfigurationen

alle erweitern

Der Block Matrix Concatenate setzt Mode auf Multidimensional array.

Bibliotheken:
Simulink / Math Operations
Simulink / Matrix Operations
DSP System Toolbox / Math Functions / Matrices and Linear Algebra / Matrix Operations
HDL Coder / Math Operations

Erweiterte Fähigkeiten

alle erweitern

C/C++ Codegenerierung
Generieren von C und C++ Code mit Simulink® Coder™.

PLC-Codegenerierung
Generieren strukturierten Textcodes mit Simulink® PLC Coder™.

Festkommakonvertierung
Entwerfen und Simulieren von Festkommasystemen mit Fixed-Point Designer™.

Versionsverlauf

Eingeführt in R2009b