Vector to matrix using assignment - Simulink

Simple one I guess : I would like to get from a Vector (1x8) to a Matrix (2x4) using index selection from one or two external constant block(s).
I tried using the assignment block but I guess I don't really understand how to use it here. Expected output is in yellow.

 Respuesta aceptada

Andy Bartlett
Andy Bartlett el 30 de Abr. de 2021

0 votos

As Fangjun noted, MATLAB Function block is a good approach.
It can also be done with a combination of reshapes and selector.

Más respuestas (2)

Andy Bartlett
Andy Bartlett el 28 de Abr. de 2021

0 votos

Does the reshape block meet your needs?

1 comentario

David K
David K el 28 de Abr. de 2021
Editada: David K el 28 de Abr. de 2021
Hello Andy,
So far I could only get to this result with the reshape block as it only uses dimensions (and not order) of the reference input.
As a first step I would appreciate if you knew a block to create a matrix given a input "divider constant" selecting N first values of input vector for the first row, [N+1 :N+N] values for second row etc... for e.g :

Iniciar sesión para comentar.

Fangjun Jiang
Fangjun Jiang el 28 de Abr. de 2021

0 votos

Your output is a 2x4 matrix. Using Assignment block, you could either
Provide a scalar value in U, assign multiple elements of the 2x4 matrix
Or, Provide the same size (2x4) value in U, assign seletive elements of the 2x4 matrix.
I couldn't figure out a way to do what you want, which is reshape plus shuffle.
The easiest approach is to use a MATLAB Function block. It just needs one line of code.
Y=U(Idx1)

Productos

Versión

R2016b

Preguntada:

el 28 de Abr. de 2021

Respondida:

el 30 de Abr. de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by