MATLABは数学言語と同じくらい優れていますが、その速度はそれほど速くありません。MATLABコードの実行を高速化するための一般的な方法は何ですか?たとえば、forループを実行する代わりに、ベクトル/行列形式で計算を実行できる場合、コードの実行が高速化されることを私は知っています。
私は他の提案は何であるか疑問に思っています。
MATLABは数学言語と同じくらい優れていますが、その速度はそれほど速くありません。MATLABコードの実行を高速化するための一般的な方法は何ですか?たとえば、forループを実行する代わりに、ベクトル/行列形式で計算を実行できる場合、コードの実行が高速化されることを私は知っています。
私は他の提案は何であるか疑問に思っています。
ここにいくつかの基本的なパフォーマンスのヒントがあります:
bsxfun
)を使用する簡単に並列化できる操作を多数実行している場合は、ループparfor
が自動的に並列化されます:http: //www.mathworks.com/help/toolbox/distcomp/parfor.htmlfor
Lightspeedのインストール。
私は最近、TomMinkaのLightspeedをMacにインストールするという苛立たしいプロセスを経験しました。その過程で、他のMacユーザーと共有する価値のあるいくつかの難しい教訓を学びました。私のシステムの仕様は次のとおりです。OSXバージョン10.8.5Xcodeバージョン4.6.3Matlabバージョン2011a
1)Lightspeedが名前にスペースが含まれていないパスにインストールされていることを確認してください。「ライブラリ/アプリケーションサポート/Matlab」に入れるのを間違えたので、とてつもなくトラブルが発生しました。特に、Tomer Levinboim(levinboim.blogspot.co.nz)によって報告された同じ問題が発生しましたが、彼の修正では問題が完全には解決されなかったという問題が追加されました。
2)MichelValstarのメモ「MacでのMatlabMexファイルのコンパイル」を読み、Mathworks(http://www.mathworks.com/matlabcentral/answers/94092)から推奨パッチをインストールします。このパッチは、Levinboimが識別する必要なすべてのフラグ/オプションの変更を適用します。
3)lightspeedフォルダー内のinstall_lightspeed.mファイルの行options.COMPFLAGSを、次のように変更します。
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
4)Matlabで、現在のパスがLightspeedフォルダーを指していることを確認します。コマンドinstall_lightspeedを実行します。成功した場合は、test_lightspeedを実行します。これで、Lightspeedの動作バージョンができました。
5)パス設定はセッション間で保持されるため、ReadMeで提案されているstartup.shアプローチはMacでは不要のようです。ただし、その道を進みたい場合は、最初に次のように読んでください
。startup.mはどこにあるのでしょうか。
http://obasic.net/set-your-customized-startup-file-for-matlab。
私はここでこれを見つけました:高速MATLABコードの記述。Pascal Getreuerとこれはここにあります:LightspeedToolbox。素晴らしいもの...