MATLABのEXE化

計算部分をMATLABで、UIをVisualStudioで作りたかった

MATLAB Compiler(コンパイラー)が使えました

vs

MATLABで組まれた既存コードがありまして、 そのmファイル群を活用して、 アプリケーションを作りたかった時の話です。

正直、VisualStudioの方が慣れていた私は、 ユーザーインターフェースをVisualStudioで作って、 計算部分を既存のMATLABコードで処理したかったわけです。

ちなみに、Windowsパソコン向けの アプリケーションです。

いくつかやり方があるようなのですが、 一番簡単なMATLAB Compiler(コンパイラー)を使ってexe化して、 それをVisualStudioから呼び出すという方法を取りました。

具体的な流れはこんな感じ

プログラム処理の一連の流れは、 こんな感じです。

フロー図

基本的にはファイル渡しで、 アプリケーション間のやりとりをします。

Visual Studioでは、System.Diagnostics.Processクラスを使って、 MATLABで作ったEXEファイルを起動します。 その際に、引数で入力ファイルのパスを渡します。

WaitForExit()でMATLABのEXEの処理を待ちます。 MATLABのEXEは、所定の場所に計算結果ファイルを出力します。

処理が終わったら所定の場所を VisualStudioで作ったアプリで結果のファイルを探して、 なければエラーです。

あればそれを読み込んで、 VisualStudioのアプリで表現するというものです。

ちなみに、MATLABのEXEに渡すための引き数…コマンドラインオプションは、 MathWorksのページに載っているので、 そこも合わせて参照ください。

コマンド ラインからのスタンドアロン アプリケーションの作成

MATLAB コンパイラーでのEXE化ですが、 ちょっとハマったのはRuntimeですかね。

MATLABインストールしていないPCでも動くようにする

MATLABがインストールされていれば、 このMATLAB コンパイラーで作ったexeは普通に動くのですが、 そうではないパソコンでは、正常に動きません。

これを解決するには、 MATLAB Runtimeをexeを動かすパソコンにインストールしてください。

MATLAB Runtimeをパソコンにインストールする方法については、 MathWorksのホームページを参照してください。

MATLAB Runtime

これでVisualStudioでUIを作って、 MATLABコンパイラーで作った計算用のEXEを あたかも一つのアプリケーションで動かしているかのようにできます。

既存コードの再利用は重要ですが、 やっぱりMATLAB Compilerもオプションなので、 ここにもコストがかかりますね。

まぁ、VisualStudioで再実装するよりは、 遥かに工数(コスト)が少ないので良しとします。

私のおすすめパソコン

私がおすすめする、 使用用途に合わせたMATLAB向けのパソコンをいくつか紹介しています。

MATLAB向けおすすめパソコン

コストパフォーマンスの高いパソコンを探して紹介していますので、 良かったら参考にしてみてください。

Copyright (C) MATLABパソコンのおすすめスペック. All Rights Reserved.