saving multiple vectors with different lengths in one matrix

39 Ansichten (letzte 30 Tage)
Marcus
Marcus am 17 Mai 2011
Kommentiert: Mansoor Ashraf am 13 Mär. 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

Akzeptierte Antwort

Matt Fig
Matt Fig am 17 Mai 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 Kommentare
Francisco Angel
Francisco Angel am 5 Dez. 2018
For anyone interested you can access elements like this:
M2{1}(1), M2{1}(2) , etc.
Mansoor Ashraf
Mansoor Ashraf am 13 Mär. 2019
The first solution is awesome. Thanks.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by