
matalabで画像処理をしたいのですが、 同じ処理を複数回、違う変数に対して行いたいのですがやり方がよくわからりません。
たとえば、
[output1 ,model_color1] = func_AAAA( imgdata,center1);
[output2 ,model_color2] = func_AAAA( imgdata,center2);
…
[output10 ,model_color10] = func_AAAA( imgdata,center10);
というようなことを行いたいのですが、
いちいち全部記述すると
output5までしかいらない時にわざわざ6~10を消さなければならないので
for文を使って書けるようにしたいと考えています
イメージとしては下のように処理したいのですがこれでは当然エラーになります。
for NUM=1:10
[outputNUM ,model_colorNUM] = func_AAAA( imgdata,centerNUM);
end
num2strを使えばできそうな感じがするのですがどのようにすればよいでしょうか?
お願いします
No.1ベストアンサー
- 回答日時:
cell array を使って,
for NUM=1:10
[output{NUM} ,model_color{NUM}] = func_AAAA( imgdata,center{NUM});
end
こんな感じに書けば,loop できる
doc の matlab-> Programing -> Data Types -> Cell Arrays
辺りを参考にすること.
No.2
- 回答日時:
まあ全ての出力を別々の変数に出そうとすると変数の数がエライことになるので、
No.1の方が書かれているようにセル配列に入れるのが楽なんでしょうが、
あくまでも別々の変数に、ということであればevalを使うのがいいでしょう。
eval関数はeval('String')の形で使い、文字列をそのまま実行します。
例えば、eval('a=1+2;')とすれば、a=3になります。
よって、今回で言えば
eval(['[output' num2str(1) ',model_color' num2str(1) '] = func_AAAA( imgdata,center' num2str(1) ');']);
とすれば、
[output1 ,model_color1] = func_AAAA( imgdata,center1);
を実行したのと同じ結果が得られます。
また、わざわざnum2strを使って文字列をつないで行くのがめんどくさければ、
sprintfを使って文字列を生成してやるという手もあります。
参考になれば幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAで重複データを合算したい(時間) 1 2022/12/08 23:06
- 電気工事士 【訂正版】空調服用のDCモバイルバッテリー Li-ion RECHARGE BATTE 2 2023/08/24 08:50
- 工学 Pythonの3次元描画に関する質問です 3 2022/12/07 20:07
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- Android(アンドロイド) ライトユーザーのスマホ機種選び 10 2023/02/20 19:02
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- HTML・CSS HTMLソースの質問 3 2022/07/28 13:29
- UNIX・Linux iptablesを設定するとメール送信処理が遅くなる!? 6 2022/06/07 01:11
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA ステータスバー DoEvents
-
【JavaScript】DOMContentLoade...
-
以下のコードを実行しても、オ...
-
VBA SORT Applyでエラー
-
PowerPointで時計表示
-
リクエスト結果が一瞬しか表示...
-
innerHTMLなどの反映タイミング
-
jqueryのbxsliderをマウスオー...
-
JSPの処理の途中で、JavaScript...
-
アクセスのフォームでタイマー...
-
csvファイルを読み込み、該当項...
-
エクセルVBA/ Formatで文字列が...
-
VB.NET2003 テキストボックスに...
-
Javascriptエラーの原因が分か...
-
どんなオブジェクトでも表示で...
-
ファイルパスの取得について
-
VBS作動中のブラウザのmsgboxに...
-
ホームページビルダーでスクリ...
-
html組込み時のカレントフォル...
-
VBScriptでのforms[0]など配列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
if(1){...}とはどういうことで...
-
JSPの処理の途中で、JavaScript...
-
JavaScriptでショートカットキ...
-
以下のコードを実行しても、オ...
-
デザイン時のVisible=Falseは実...
-
C#でボタン名を変更しても動く
-
〔Excel:VBA〕マクロの実行が異...
-
VBA ステータスバー DoEvents
-
リクエスト結果が一瞬しか表示...
-
ラベルの色がかわってくれない
-
1つのVBAコードをすべてのコア...
-
VBA SORT Applyでエラー
-
初心者です。gulpでコンパイル...
-
eval()の危険性の具体例を教え...
-
列を非表示にするマクロが実行...
-
PowerPointで時計表示
-
innerHTMLなどの反映タイミング
-
JavaScriptで、実行するたび値...
-
VB.netでタイマーがスタートし...
-
alert()が実行できない
おすすめ情報