How to construct an array with varying dimension?
Mostrar comentarios más antiguos
I want to save some data using a "for loop". Within each iteration, I will get a 2D matrix (which I want to save). the size of the matrices is NOT the same, i.e. first 10*10, then 23*23, next 20*20 and so on (no pattern between the sizes). I clearly cannot use a 3D matrix to save the data since the third dimension is not constant. I cannot save them manually/separately either since there is a lot of 2D matrices (this is actually why i am putting it in a for loop). I also do NOT know the size of the largest 2D matrix.
what can I use to do the above? cell? structure?
tnx in advance
Respuesta aceptada
Más respuestas (1)
Geoff Hayes
el 30 de Jun. de 2014
A cell array would work well for this problem. Since you have a for loop, you have an idea of how many matrices you will need to save. Try the following:
% size the cell array where n is the number of iterations in the for loop (and
% the number of matrices to save)
cellArray = cell(n,1);
% iterate
for k=1:n
% do stuff
% save kth matrix A to cell array
cellArray{k} = A;
end
And that is it - all matrices will be saved to the cellArray object.
1 comentario
ramin bba
el 30 de Jun. de 2014
Categorías
Más información sobre Multidimensional Arrays en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!