How to Loop variable names

1 view (last 30 days)
Karl
Karl on 12 Jun 2013
Does anybody know how to write a loop that does the same as this:
Y1 = zeros(5,8);
Y2 = zeros(5,8);
The loop below does not do the same thing.
X = {'1', '2'};
nX = length(X);
for iX = 1:nX;
Y{iX} = zeros(5,8);
end

Answers (1)

Matt J
Matt J on 12 Jun 2013
Edited: Matt J on 12 Jun 2013
There are ways, but they are discouraged emphatically. Why is Y1, Y2 preferable to Y{1} and Y{2}? The latter are much easier to index and loop over as you've seen.
Also, since Y1 and Y2 are the same size, it's even better to store them as Y(:,:,1) and Y(:,:,2).
  1 Comment
Karl
Karl on 12 Jun 2013
I now see that it is easy to work in the format the loop makes. Thanks for making it clear!

Sign in to comment.

Categories

Find more on Loops and Conditional Statements 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!