Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

how can I create a name like myfunc500?!

1 visualización (últimos 30 días)
mim
mim el 17 de Sept. de 2013
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
I have a lot of matrices with these names:
A200
A300
A400
...
and I want to do some algebra on each of them. I am looking for writing a loop to do all of them together, but how can I do it? I need to write a loop like:
for i =200:100:500
Ai(50,50) = mean (:,50)
end
but it is not possible in this way. Does anyone has a suggestion?
thanks
  1 comentario
Jan
Jan el 17 de Sept. de 2013
A very very frequently asked question. And the solution is always the same: Do not hide indices in the names of variables. Use indices as indices instead. See Walter's answer.

Respuestas (2)

Walter Roberson
Walter Roberson el 17 de Sept. de 2013

Image Analyst
Image Analyst el 18 de Sept. de 2013
If you have just a handful of them (say, less than 7 or 8) then just deal with them one at a time or pass them into a function if you want to do the same things on all of them.
ProcessData(A100);
ProcessData(A200);
....
ProcessData(A800);
If you have more than that, I'd try to change the m-file that created them so it doesn't create them but creates regular indexed arrays, like a 3D array if you have 300 2D arrays to deal with,
for plane = 1 : 800
ProcessData(A(:,:,plane));
end
or (last resort) use a cell array.
for theCellIndex = 1 : 800 % Process 800 arrays inside cells.
ProcessData(A{theCellIndex});
end
See the FAQ for a discussion of cells.

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by