MATLABプログラムをexe化して他のアプリから呼びだす方法

MATLABプログラムをexe化して他のアプリから呼びだす方法

vs

「MATLABで作ったプログラムをEXE化して、他のアプリケーションから 呼び出して使いたいけどどうすればいい?」

ここではそんな悩みについて解説していきます。

私自身も会社の業務でMATLABを使っていて、 MATLABのEXE化が必要になったので そのとき調べたことをもとに解説していきます。

ちなみに私がMATLABで書いたプログラムのEXEを作成した目的には 以下の3つがあります。

  • MATLABで書かれたプログラム資産をそのまま使うため
  • ユーザーインターフェースをVisualStudioで作るため
  • MATLABで書いた方が速いため

MATLABで書いたコードをそのまま流用したかったわけですね。 VisualStudioに移植するのはかなりの時間が必要だったので…。

また、VisualStudioの方がユーザーインターフェースを作るのに自由度が高いので、 MATLABは計算部分だけにしたかったわけです。

そして、MATLABはお金の力でToolboxが購入できて プログラム作成の時間短縮ができるためです。 MATLABの方が簡単なんですよね。

前置きが長くなりましたが…それでは解説していきます。

ちなみに、Windowsのスタンドアローンアプリについての説明です。 Webアプリはまた別の機会に。

目次

MATLABプログラムのEXE化は何が必要?

MATLABで書かれたプログラムをEXE化するには、 Toolboxを購入する必要があります。

EXEを作成するToolboxは「MATLAB Compiler」です。

ちょっと今回は、 コンソールアプリとしてEXE化する方法しか説明しませんが、 スタンドアローンアプリケーションの他にも、 WEBアプリやExcelアドインとしてパッケージ化できるようですね。

MATLAB Compilerについては、 MathWorksの公式ページにも概要が載っているので そこもあわせて参照ください。

MATLAB Compiler・MathWorks公式

作成したEXEはどうやって使う?

EXEをクリックすれば他のアプリケーション同様に起動して画面が出てきます。

しかし、 今回は「コマンドライン引数を渡してEXE化したコンソールアプリを起ち上げる」という 使い方を説明します。

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

フロー図

基本的には「入力も出力結果もファイル渡し」で、 アプリケーション間のやりとりをします。

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

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

MATLABのEXEの処理が終わったら決められた場所を VisualStudioで作ったアプリが探しに行きます。 結果のファイルを読み込んで、 中身を見てエラーかどうかを判別する感じですね。

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

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

作成したEXEを配布するには何が必要?

MATLAB Compilerで作成したEXEを他のパソコンで動かすためには、 そのままEXEを配布しても動きません。

他のパソコンで動かすためには、 MATLAB Runtimeを事前にインストールする必要があります。

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

MATLAB Runtime・MathWorks公式

つまり、アプリケーションとして世に配布するには、 インストーラーにMATLAB Runtimeも入れておいて インストールしてもらう必要があるということですね。

まとめ

今回のまとめになります。

MATLABで書いたプログラムをEXE化するには、 ToolboxのMATLAB Compilerが必要になる。

EXE起動時に引数を渡して、入力値を指定することができる。

コマンドラインオプションもそこそこあるので、 入出力のやりとりは色々カスタイマイズできそう。

EXE化したものはMATLAB Runtimeがインストールされていないパソコンでは 動かないので注意する。

というわけで、MATLABをEXE化して他のアプリから呼びだして使う方法でした。

最後にPRさせてください。 MATLABを使うためのおすすめのMATLABパソコンも紹介しています。

新しいパソコンを検討している方は、 よければそちらものぞいてみてください。

厳選!おすすめMATLABパソコン10選

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