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 commentaire

Stephen23
Stephen23 le 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:

Connectez-vous pour commenter.

 Réponse acceptée

Jos (10584)
Jos (10584) le 11 Jan 2017

0 votes

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)

Plus de réponses (1)

Rightia Rollmann
Rightia Rollmann le 11 Jan 2017

0 votes

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

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by