How to decatenate or discatenate (opposite of concatenate) a vector in simulink?
Ältere Kommentare anzeigen
Hi,
I am building a general block which needs and generates several signals.
The main idea is to connect one block to the next one, concatenating the output signal, but also decatenating the input (one of each per block).
Suppose two arrays, one of inputs (A) and one of outputs (B). So there will be two inputs (Ain, Bin) and two outputs (Aout, Bout), and they will be connected from one block to the next block.
_______ _______ _______
Ain ----| |----| |----| |----··· Aout (inputs vector)
| BLOCK | | BLOCK | | BLOCK |
Bin ----|_______|----|_______|----|_______|----··· Bout (outputs vector)
The signal the block needs will be always the first of A, and the output will be appended at the end of B. Written in code will be like this:
% Outputs (concatenate)
Bout = [B_generated Bin];
% Inputs (decatenate)
A_wanted = Ain(1);
Aout = Ain(2:end);
In Simulink there is the vector concatenate block which does the first part, but how to decatenate/discatenate the inputs? Is there a proper block?
I don't want to use a selector block because in this case I'll have to modify every block I append and change the input port size.
Thanks in advance!
Akzeptierte Antwort
Weitere Antworten (1)
Guy Rouleau
am 3 Mai 2013
0 Stimmen
Use the Selector block
1 Kommentar
Dani Tormo
am 6 Mai 2013
Bearbeitet: Dani Tormo
am 7 Mai 2013
Kategorien
Mehr zu String finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!