フィルターのクリア

Info

この質問は閉じられています。 編集または回答するには再度開いてください。

how can I create a name like myfunc500?!

1 回表示 (過去 30 日間)
mim
mim 2013 年 9 月 17 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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 件のコメント
Jan
Jan 2013 年 9 月 17 日
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.

回答 (2 件)

Walter Roberson
Walter Roberson 2013 年 9 月 17 日

Image Analyst
Image Analyst 2013 年 9 月 18 日
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.

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by