Selector
Eingangselemente aus Vektor, Matrix oder mehrdimensionalem Signal auswählen
Bibliotheken:
Simulink /
Signal Routing
HDL Coder /
Signal Routing
Beschreibung
Der Selector-Block extrahiert ausgewählte Elemente eines Eingangsvektors, einer Eingangsmatrix oder eines mehrdimensionalen Eingangssignals basierend auf den angegebenen Indizes. Die extrahierten Signale können anders als die Eingangssignale gruppiert werden.
Auf Grundlage des Werts, den Sie für den Parameter Number of input dimensions eingeben, wird eine Tabelle mit Indizierungseinstellungen angezeigt. Jede Zeile der Tabelle entspricht einer der Eingangsdimensionen in Number of input dimensions. Für jede Dimension definieren Sie die zu bearbeitenden Elemente des Signals. Legen Sie ein Vektorsignal als 1-D-Signal und ein Matrixsignal als 2-D-Signal fest. Wenn Sie den Selector-Block für mehrdimensionale Signaloperationen konfigurieren, ändert sich das Blocksymbol.
Ziehen wir als Beispiel ein 6-D-Signal mit einem eins-basierten Indexmodus heran. Die Tabelle des Selector-Blockdialogs ändert sich und zeigt eine Zeile für jede Dimension an. Wenn Sie Dimensionen wie in der folgenden Tabelle dargestellt definieren, ist die Ausgabe Y = U(1:end,2:6,[1 3 5],Idx4:Idx4+7,Idx5,Idx6(1):Idx6(2)), wobei Idx4, Idx5 und Idx6 die Indexports für die Dimensionen 4, 5 und 6 sind. Weitere Informationen finden Sie unter Elemente mithilfe des Selector-Blocks aus einem mehrdimensionalen Array wählen.
| Zeile | Indexoption | Index | Ausgangsgröße |
|---|---|---|---|
| 1 | Select all | ||
| 2 | Starting index (dialog) | 2 | 5 |
| 3 | Index vector (dialog) | [1 3 5] | |
| 4 | Starting index (port) | 8 | |
| 5 | Index vector (port) | ||
| 6 | Starting and ending indices (port) |
Sie können ein Array aus Bussen als Eingangssignal für einen Selector-Block verwenden. Weitere Informationen zur Definition und Verwendung einer Reihe von Bussen finden Sie unter Group Nonvirtual Buses in Arrays of Buses.
Hinweis
Der Selector-Block ändert die Dimensionalität (Anzahl Dimensionen) der Eingangssignale nicht. Wenn Sie die Dimensionalität des Signals auf die von Ihnen angegebenen Dimensionen ändern müssen, verwenden Sie den Reshape-Block.
Beispiele
Erweiterte Beispiele
Einschränkungen
Der Index-Parameter kann während der Simulation nicht abgestimmt werden. Ist die Index Option für eine Dimension auf
Index vector (dialog)oderStarting index (dialog)gesetzt und Sie geben im Block-Dialogfeld für den entsprechenden Index einen symbolischen Wert an, einschließlich einesSimulink.Parameter-Objekts, wird der Instantwert zum Start der Simulation über die gesamte Simulation hinweg verwendet und der Parameter erscheint im generierten Code als Inline-Wert. Siehe Tune and Experiment with Block Parameter Values. Mithilfe von Index-Ports können Sie den Auswahlindex dynamisch anpassen.
Ports
Eingabe
Ausgabe
Parameter
Blockeigenschaften
Datentypen |
|
Direct Feedthrough |
|
Mehrdimensionale Signale |
|
Signale mit variabler Größe |
|
Erkennung von Nulldurchgängen |
|





