saving multiple vectors with different lengths in one matrix
조회 수: 51 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
채택된 답변
Matt Fig
2011년 5월 17일
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
Francisco Angel
2018년 12월 5일
For anyone interested you can access elements like this:
M2{1}(1), M2{1}(2) , etc.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!