Saving a variable with an index in a for loop

8 views (last 30 days)
Hello. I am running into an issue of saving a created matrix with an index added to it for example
for i=1:10
x=1:10
y=1:10
z=1:10
A=[x y z]
end
What im tryng to do is then save the resulting matrix as A1, A2, A3 ect. any pointers for this?

Answers (1)

Steven Lord
Steven Lord on 4 Oct 2021
Can you do this? Yes.
Should you do this? The general consensus is no. See that Answers post for an explanation and alternatives.
  3 Comments
Walter Roberson
Walter Roberson on 4 Oct 2021
If you do not have consistency of sizes, then use a cell array
A{i} = [x y z]
Stephen23
Stephen23 on 5 Oct 2021
Edited: Stephen23 on 5 Oct 2021
The solutions given above concatenate your data, which apparently your data is not suitable for.
You can trivially resolve this by using a cell array, for example:
c = cell(10,3);
for ii = 1:10
c{ii,1} = 1:10;
c{ii,2} = 1:10;
c{ii,3} = 1:10;
end
Your approach of putting pseudo-indices into the variable names should definitely be avoided.

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!