how to store values into array/matrix with different number of rows and only one column

16 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Rik
Rik el 6 de Ag. de 2021
Editada: Rik el 6 de Ag. de 2021
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
result = 3×2
1 1 2 2 0 3

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by