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 Kommentar

Stephen23
Stephen23 am 11 Jan. 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:

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Jos (10584)
Jos (10584) am 11 Jan. 2017

0 Stimmen

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)

Weitere Antworten (1)

Rightia Rollmann
Rightia Rollmann am 11 Jan. 2017

0 Stimmen

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

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by