How can I store nested for loop values to a cell array?

2 visualizaciones (últimos 30 días)
Zara Khan
Zara Khan el 26 de Feb. de 2019
Comentada: Zara Khan el 2 de Mzo. de 2019
I am using a nested for loop. Loop executed values are being stored in cell array but for the first row its working well but from the secong row the last cell value of first row is being repeated . how to solve this ?
  1 comentario
Adam
Adam el 26 de Feb. de 2019
You haven't shown any code so it's rather difficult to guess!

Iniciar sesión para comentar.

Respuesta aceptada

Adam Danz
Adam Danz el 26 de Feb. de 2019
Editada: Adam Danz el 26 de Feb. de 2019
Here's a general sketch of how to store data in a cell array within two nested for-loops. If there is something more specific you're looking for, please add some details.
myCell = cell(n,m);
for i = 1:n
for j = 1:m
myCell{i,j} = myFunction(data);
end
end
  4 comentarios
Adam Danz
Adam Danz el 27 de Feb. de 2019
There are alternative methods of storing values within a loop but the cell-array you've got is already a good method and it consuming microseconds of time.
When possible, you should always initialize storage variables prior to the loops. Your ell array will always have 'numImages' number of rows but since I cannot run your code, I can't easily tell how many columns it will have. If you can know ahead of time the number of columns, allocate the 'A' array prior to the loops. That will save time.
A = cell(numImages, h)
If you want to understand what part of your code is cuasing the bottleneck, you can run matlab's profile() function which will produce a table of processing times for each component of your code.
profile on
myFunction() %<-- run your function / script
profile viewer

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Programming 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!

Translated by