Store arrays of different size in each for loop itertaion
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Turbulence Analysis
el 10 de Abr. de 2024
Hi,
In the below script, I need to store the output kkkk into a new array but in the same column. Here, size of the kkkk is different during each itertaion.
I know that cell array would solve the issue. But I need to store them in the single colum.
for i=1:4
kkkk = find(A>=sz(i,1) & A<=sz(i,1)+100);
clear kkkk
end
1 comentario
Respuesta aceptada
Matt J
el 10 de Abr. de 2024
kkk=cell(4,1);
for i=1:4
kkkk{i} = find(A>=sz(i,1) & A<=sz(i,1)+100);
end
kkkk=vertcat(kkkk{:});
5 comentarios
Matt J
el 11 de Abr. de 2024
I corrected the varibale name and preallocated the cell array correctly. Still the processing time is very large.
If you profile the code, I think you will see that the bottleneck is coming from find(), not from anything else. It's an expensive function.
Más respuestas (1)
Matt J
el 11 de Abr. de 2024
Editada: Matt J
el 11 de Abr. de 2024
b=sparse(sz(:,1)');
kkkk = nonzeros( (A(:)>=b & A(:)<=b+100).*(1:numel(A))' );
1 comentario
Turbulence Analysis
el 11 de Abr. de 2024
Editada: Matt J
el 11 de Abr. de 2024
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!