i have a two dimensional matrix inside a loop i want to save the data matrix inside the loop so that each time the loop runs the data doesn't gets overwritten with the next one what should i do?
Info
This question is closed. Reopen it to edit or answer.
Show older comments
the value inside the loop is a two dimensional matrix that i need save every time
Answers (2)
Jan
on 4 Jul 2018
To store 100 matrices of size 3x4:
n = 100;
Result = zeros(3, 4, n);
for k = 1:n
Result(:, :, k) = rand(3, 4); % Replace rand by your data
end
Or if the matrices have different sizes, use a cell array:
n = 100;
Result = cell(1, n);
for k = 1:n
Result{k} = rand(2, k);
end
Kulan Sinclair
on 4 Jul 2018
you can do it as either a cell array
for i = 1:10
matrix = rand(10,10);
matrixcellarray{i} = matrix;
end
or a structure
matrixName = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'};
for i = 1:numel(matrixName)
matrix = rand(10,10);
matrixStructure.(matrixName{i}) = matrix;
end
which is more useful depends on what you are trying to do with the data
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!