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!