I have a struct having matrices of B1, B2, and B3. I want to make three separate matrices out of them available in the Workspace automatically with the help of a loop. How?
S = struct('B1',[1 2;3 4],'B2', [5 6; 7 8], 'B3', [9 10; 11 12] )

1 comentario

Stephen23
Stephen23 el 11 de En. de 2017
"I want to make three separate matrices out of them available in the Workspace automatically with the help of a loop"
Here is why that would be a very bad idea:

Iniciar sesión para comentar.

 Respuesta aceptada

Jos (10584)
Jos (10584) el 11 de En. de 2017
Why? Apparently the three matrices are related. Keeping them in a single struct shows this relationship. If you need to access one of them you can easily do this using assignment operations
X = S.B1
or dynamically
k = 2
field = sprintf('B%d',k)
X = S.(field)

Más respuestas (1)

Rightia Rollmann
Rightia Rollmann el 11 de En. de 2017

0 votos

Thanks, man! You not just answered it, but perfected the question too!

Categorías

Preguntada:

el 11 de En. de 2017

Comentada:

el 11 de En. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by