MATLABで外部プログラム開発

MATLABで外部プログラムを開発する場合は、CやFORTRANが利用できる。
DLLを作るような感じになるが、単純なDLLではない。
mexという形式でMATLAB上でコンパイルする。

mex Test.c

なんてすると、

Test.mexw32

ファイルが生成されて、

lh = Test(rh0, rh1)

みたいに実行できる。
実際のコンパイルには、VC++などが利用される。


C++も利用できる。
しかし、ファイルを分割するとデバッグがやりにくいので悩みどころ。


開発の途中で計算方法を検討する場合などは、
その関数だけをm-fileなどにして外部からMATLAB呼び出しが可能。
意外と高速に呼び出しが行えるので便利。


Helpはかなり充実している。
しかし、日本語ヘルプをインストールしてもmex/mx関連のヘルプは日本語にならない。




デバッグをしたい場合は、

mex Test.c -g

VisualStudioからプロセスにアタッチしてMATLABから実行するとデバッグ可能。
ときどき、うまくいかなくなることがある。
原因不明なのではまったらどうにもならない。


詳細は、ヘルプにあるのでそっちを参考にして。
あと、電話で何度でも質問できるので開発するときは安心。