saving multiple vectors with different lengths in one matrix

43 visualizaciones (últimos 30 días)
Marcus
Marcus el 17 de Mayo de 2011
Comentada: Mansoor Ashraf el 13 de Mzo. de 2019
Hi everyone,
For a research project at my university I need to make histograms of several runs of an ecological model.
On my 'main' matix M I keep track of trees, on another matrix 'M3' I keep track of their age.Since there is some stochastic elementes in the model I need to run it for 25 repetitions, I do that using 'for rep = 1:25', then my code, then 'end'.
Now I want to save the age of the trees each repetition in order to make an average histogram of the tree-age for the entire run (25 repetitions), but I can't save it in a matrix because of their different lengths. How can I cicumvent this problem?
Thanks! Marcus Westerman

Respuesta aceptada

Matt Fig
Matt Fig el 17 de Mayo de 2011
You can use cell arrays, or pad with zeros. For example:
v1 = [2 3 4 5];
v2 = [2 3 4 5 6 7];
% Make padded array. Could use rows or columns...
M = zeros(2,6);
M(1,1:length(v1)) = v1;
M(2,1:length(v2)) = v2;
% Or use a cell array.
M2{1} = v1;
M2{2} = v2;
  3 comentarios
Francisco Angel
Francisco Angel el 5 de Dic. de 2018
For anyone interested you can access elements like this:
M2{1}(1), M2{1}(2) , etc.
Mansoor Ashraf
Mansoor Ashraf el 13 de Mzo. de 2019
The first solution is awesome. Thanks.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by