MATLABのプログラミングにおいてどのように関数をコールすれば高速化ができますか?
古いコメントを表示
MATLABのプログラミングにて、以下のような方法で関数をコールした場合の所要時間について教えてください。どの方法が一番高速に処理できますか。
1. 処理を別関数化せず、メインルーチンに直接記述する方法 (inline)。
2. 関数を他のMATLABファイルに記述する方法。データは関数の引数で渡します (file-pass)。
3. 関数を他のMATLABファイルに記述する方法。データはグローバル変数を介して渡します。インデックスのみ、関数の引数で渡します (file-global)。
4. 入れ子関数による方法。データは関数の引数で渡します。クローズされた関数内のみ (nest-pass)。
5. 入れ子関数による方法。データは共有変数を介して渡します。クローズされた関数内のみ (nest-share)。
6. サブ関数による方法。データは関数の引数で渡します (sub-pass)。
7. サブ関数による方法。データは参照可能なグローバル変数を介して渡します。インデックスのみ関数の引数で渡します (sub-global)。
詳細についてはサンプルプログラム testTop.m, testCompute および testComputeGlobal.m をご覧ください。
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で 実行速度 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!