how to store values into array/matrix with different number of rows and only one column
16 次查看(过去 30 天)
显示 更早的评论
Hi, how i want to store values from loop which has only 1 cols but may have different numbers rows.
For example, in 1st loop the result is
1
2
Meanwhile 2nd loop the results is
1
2
3
Thus, i want to store it as:
1 1
2 2
0 3
Is it possible? Since within the loop...the row can be any numbers.
0 个评论
采纳的回答
Rik
2021-8-6
编辑:Rik
2021-8-6
It is best to pre-allocate your output array as close to the size you think you need, because extending a matrix hurts performance substantially.
cols=2;
est_rows=5;%estimate of the largest number of rows
result=zeros(est_rows,cols);keep_rows=0;
for col=1:2
if col==1 ,part_result=(1:2).';
elseif col==2,part_result=(1:3).';
end
keep_rows=max(keep_rows,numel(part_result));
result(1:numel(part_result),col)=part_result;
end
result((keep_rows+1):end,:)=[];%will only crop unused rows
result
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!