MATLAB: Separate matrices out of struct

separate matrices out of struct

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] )

Best Answer

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)