• 締切済み

Visual C++からMATLABを呼び出したい

工学系の大学生の者です. 現在,Visual C++で作成したMFCアプリを使って実験機を制御し,その結果にあたるセンサの値を取得してcsvファイルを生成し,それをMATLAB(csvファイルをグラフ化するmファイルを呼び出し)でグラフ化しています. ただ,この手法だとアプリの実行でcsvファイルを生成したのち,MATLAB上でコマンドを打つ必要があり,少し手間がかかります. 私の理想としては,センサ測定値をcsvファイルに書き出したのち,自動でMATLABグラフ化したいと思っております. C#だとMATLABと連携がしやすいとか聞くのですが,VIsua C++ではMATLAB連携や上記のような自動化はできないのでしょうか? できる場合は,やり方や参考資料などを挙げていただけると幸いです. (たとえば,ライブラリやヘッダー,C++ソース側の記述など) ご回答,よろしくお願い致します.

みんなの回答

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.2

連携もいくつか方法があると思います。 ・MATLABを起動しておいて、whileなどでCプログラム側が処理完了後に作成するファイルを監視するなどして、処理終了を検知して、プロットする。 ・Cプログラムで処理を終えたら、system関数等で、"matlab.exe -r "D:\results.m"等を実行し、D:\results.mの中でプロットする。 など。 後者なんかは、比較的簡単だと思いますが。 逆の発想で、MATLAB側からCプログラムを起動し(MATLAB関数:system)、Cプログラムが完了するまで待って、終わったら処理終了として、プロットするなんてこともできるか。

すると、全ての回答が全文表示されます。
回答No.1

マニュアルに書いてある。

参考URL:
http://www.mathworks.co.jp/support/compilers/interface.html
すると、全ての回答が全文表示されます。

関連するQ&A