Clear Filters
Clear Filters

separate matrices out of struct

1 view (last 30 days)
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 Comment
Stephen23
Stephen23 on 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:

Sign in to comment.

Accepted Answer

Jos (10584)
Jos (10584) on 11 Jan 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)

More Answers (1)

Rightia Rollmann
Rightia Rollmann on 11 Jan 2017
Thanks, man! You not just answered it, but perfected the question too!

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!