Info
この質問は閉じられています。 編集または回答するには再度開いてください。
how can I create a name like myfunc500?!
1 回表示 (過去 30 日間)
古いコメントを表示
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
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 件)
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
0 件のコメント
この質問は閉じられています。
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!