Saving a variable with an index in a for loop
Show older comments
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
on 4 Oct 2021
0 votes
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
Brooks Lane
on 4 Oct 2021
Walter Roberson
on 4 Oct 2021
If you do not have consistency of sizes, then use a cell array
A{i} = [x y z]
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.
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!