(更新日: 2025年8月18日 )
目次
はじめに
MATLAB で書いた .m スクリプトや App Designer アプリは、スタンドアロン実行可能なアプリケーション(exe など) に変換できる。
これにより、MATLAB がインストールされていない環境でも、MATLAB Runtime (MCR) を導入すれば動作させることが可能。
他言語での類似例として、Ruby の ocra が挙げられます。Ruby の場合は exe ファイル単独で動作しますが、MATLAB の場合は MCR のインストールが必須 という点が大きな違いだ。
スタンドアロン・アプリの仕組み
- MATLAB Compiler を使ってコードをコンパイルすることで、アプリ化できる。
- 実行にはMATLAB Runtimeが必要。MATLAB本体は不要。
- ビルドした OS 専用のアプリになるため、Windows でビルドした exe は Windows 専用。
- 配布の際には「MCR を同梱する」か「ユーザにインストールしてもらう」かを事前に決めておく必要がある。
スタンドアロン・アプリの開発環境の準備
- 必要製品: MATLAB Compiler
- Simulinkをスタンドアロン化したい場合: Simulink Compiler
- 外部コンパイラ:- Windows → Visual Studio (推奨) または MinGW
- macOS / Linux → OS 付属の C/C++ コンパイラ
 
- 利用予定の関数・ツールボックスが Compiler 対応かどうか を事前に確認するのが重要。
例題プログラム
Rubyでやるように標準入力でファイルを喰わせることをMATLABでやるには、単純に関数にすれば良い。
下の例はpdfファイル(他にもテキストが入っているファイルなら可)を読んで表示するだけのプログラム(Text Analytics Toolboxを使っていることに注意)。
function readPDFtoShow(pdfFile)
    data = extractFileText(pdfFile);
    
    fig = uifigure;
    txa = uitextarea(fig, 'Value', data);
    txa.Position = [10 10 750 550];
    fig.Position = [10 10 800 600];
end
スタンドアロン・アプリの生成方法
- アプリケーション・コンパイラの起動アプリケーション・コンパイラは下のようなアイコンをクリックすると起動する:  
- 設定最低限の設定は - “アプリケーション情報”の”アプリケーション名”の設定
- メインファイルでファイルを追加
 の二点。下の図の矢印の部分だ。  あとは - リソースファイル
- アイコン・バージョン情報
 なども設定しておこう。 
- パッケージ化“パッケージ化”ボタンで実行ファイルが生成される。 
注意点
-  初回起動が遅い 
 MCR が展開されるため。スプラッシュ画面を出すと UX が改善される。
-  スタンドアロン化非対応の関数 
 ActiveX、Java 連携など一部の関数は不可。事前に確認が必要。
-  外部リソースの扱い 
 デプロイ環境では ctfroot を使って参照する。function p = assetPath(relpath) if isdeployed p = fullfile(ctfroot, relpath); % CTF内に展開されたパス else p = fullfile(fileparts(mfilename('fullpath')), relpath); end end data = readtable(assetPath('data/config.csv'));
-  エラー処理とログ出力 
 利用者にフィードバックできるように try/catch でログを保存するのがおすすめ。
-  GUI の互換性
 高 DPI 環境ではレイアウト崩れが起きやすいため、GridLayout や相対サイズ指定を利用。
-  外部 DLL / コマンド依存 
 実行環境の PATH 設定を考慮する。
配布と運用
-   MCR の準備 - MathWorks サイトからのダウンロード案内
- インストーラに同梱
 
-  OS 別の注意点- Windows: コードサイン証明書を使うとセキュリティ警告が減る
- macOS: 公証(notarization)が必須
- Linux: glibc 依存に注意
 
-  配布形態 
 zip 配布、インストーラ作成、企業内配布など用途に合わせる





















