saving multiple vectors with different lengths in one matrix

조회 수: 51 (최근 30일)
Marcus
Marcus 2011년 5월 17일
댓글: Mansoor Ashraf 2019년 3월 13일
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

채택된 답변

Matt Fig
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
Francisco Angel 2018년 12월 5일
For anyone interested you can access elements like this:
M2{1}(1), M2{1}(2) , etc.
Mansoor Ashraf
Mansoor Ashraf 2019년 3월 13일
The first solution is awesome. Thanks.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by