Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

MATLAB 関数からのスタンドアロン アプリケーションの作成

この例では、MATLAB® Compiler™ を使用して MATLAB® 関数をスタンドアロン アプリケーションにパッケージ化する方法を説明します。このアプリケーションを実行するには、ターゲット システムでは MATLAB Runtime インストール環境のみが必要であり、MATLAB のライセンス コピーは不要です。

サポートされるプラットフォーム: Windows、Linux、macOS

MATLAB での関数の作成

コマンド プロンプトに魔方陣行列を出力する magicsquare という名前の MATLAB 関数を作成します。この関数を magicsquare.m という名前のファイルに保存します。

function m = magicsquare(n) 
if ischar(n)
    n=str2double(n);
end
m = magic(n); 
disp(m)

コマンド プロンプトでこの関数をテストします。

magicsquare(5)
17    24     1     8    15
23     5     7    14    16
 4     6    13    20    22
10    12    19    21     3
11    18    25     2     9

"compiler.build.standaloneApplication" を使用したスタンドアロン アプリケーションの作成

関数 compiler.build.standaloneApplication を使用して、MATLAB 関数からスタンドアロン アプリケーションを作成します。

appFile = "magicsquare.m";
buildResults = compiler.build.standaloneApplication(appFile);

compiler.build コマンドで名前と値の引数を使用して、追加オプションを指定できます。詳細については、compiler.build.standaloneApplicationを参照してください。

buildResults オブジェクトには、ビルド タイプ、生成ファイル、含まれるサポート パッケージ、およびビルド オプションに関する情報が含まれています。詳細については、compiler.build.Resultsを参照してください。

この関数により、現在の作業ディレクトリにある magicsquarestandaloneApplication という名前のフォルダー内に以下のファイルが生成されます。

  • includedSupportPackages.txt — アプリケーションに含まれている、すべてのサポートされるファイルをリストしたテキスト ファイル。

  • magicsquare.exe または magicsquare — Windows システムでコンパイルされた場合は .exe 拡張子をもつ実行可能ファイル、Linux システムまたは macOS システムでコンパイルされた場合は拡張子のない実行可能ファイル。

  • run_magicsquare.sh — ライブラリ パスを設定し、アプリケーションを実行するシェル スクリプト ファイル。このファイルは Linux システムおよび macOS システムでのみ生成されます。

  • mccExcludedFiles.log — アプリケーションに含まれていないすべてのツールボックス関数のリストが含まれるログ ファイル。サポートされていない関数の詳細については、制限を参照してください。

  • readme.txt — デプロイの前提条件に関する情報と、デプロイ用にパッケージ化するファイルのリストが含まれるテキスト ファイル。

  • requiredMCRProducts.txt — MATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。

  • unresolvedSymbols.txt — 未解決のシンボルに関する情報が含まれるテキスト ファイル。

メモ: 生成されたスタンドアロン実行可能ファイルには MATLAB Runtime やインストーラーが含まれていません。buildResults オブジェクトを使用してインストーラーを作成するには、compiler.package.installer を使用したスタンドアロン アプリケーション インストーラーの作成を参照してください。

スタンドアロン アプリケーションのテスト

入力引数 4 を指定して MATLAB 内から magicsquare を実行するには、MATLAB デスクトップ環境内から magicsquarestandaloneApplication フォルダーに移動し、オペレーティング システムに基づいて以下のコマンドのいずれかを実行します。

Windows

!magicsquare 4

Linux

!./magicsquare 4

macOS

system(['./run_magicsquare.sh ',matlabroot,' 4']);

MATLAB デスクトップ環境外でスタンドアロン アプリケーションを実行するには、Run Standalone Application を参照してください。

compiler.package.installer を使用したスタンドアロン アプリケーション インストーラーの作成

buildResults オブジェクトを関数 compiler.package.installer の入力引数として使用して、インストーラーを作成します。

compiler.package.installer(buildResults);

この関数は、スタンドアロン アプリケーション インストーラーが含まれる新しいフォルダーを作成します。

既定では、インストーラーは MATLAB Runtime を Web からダウンロードするように構成されています。名前と値の引数を使用することで、これの変更および追加オプションの指定を行うことができます。詳細については、compiler.package.installerを参照してください。

たとえば、インストーラー名を指定し、インストーラーに MATLAB Runtime を含めるには、以下を実行します。

compiler.package.installer(buildResults, ...
'InstallerName','MyMagic_Install','RuntimeDelivery','installer');

スタンドアロン アプリケーションのインストール

関数compiler.package.installerで作成されたインストーラーを使用してアプリケーションをインストールするには、デプロイされたアプリケーションのインストールを参照してください。

スタンドアロン アプリケーションの実行

システム コマンド プロンプトで、スタンドアロン実行可能ファイルが含まれているフォルダーに移動します。

オペレーティング システムに基づいて次のいずれかのコマンドを使用し、入力引数 5 を指定して magicsquare を実行します。

Windows

magicsquare 5

Linux

シェル スクリプトを使用:

./run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR> 5

実行可能ファイルを使用:

./magicsquare 5

macOS

シェル スクリプトを使用:

./run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR> 5

実行可能ファイルを使用:

./magicsquare.app/Contents/macOS/magicsquare 5

メモ: Linux や macOS でシェル スクリプトを使用せずにアプリケーションを実行するには、まず MATLAB Runtime をライブラリ パスに追加しなければなりません。詳細については、デプロイ用の MATLAB Runtime パスの設定を参照してください。

アプリケーションにより 5 行 5 列の魔方陣がコンソールに出力されます。

17    24     1     8    15
23     5     7    14    16
 4     6    13    20    22
10    12    19    21     3
11    18    25     2     9

Linux または macOS でアプリケーションのコマンド ライン ショートカットを作成するには、alias コマンドを使用します。

alias mymagic='/path/to/run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR>'

入力引数 4 を指定してアプリケーションを実行するには、ターミナルで「mymagic 4」と入力します。

エイリアスを永続的なものにするには、Bash シェルのファイル ~/.bash_aliases または Zsh シェルの ~/.zprofile にコマンドを追加します。たとえば、

echo "alias mymagic='~/MATLAB/apps/run_magicsquare.sh /usr/local/MATLAB/MATLAB_Runtime/R2023a'" >> ~/.bash_aliases

ヒント

  • 関数 compiler.build.standaloneApplication を使用してスタンドアロン アプリケーションを作成する代わりに、アプリケーション コンパイラアプリを使用してスタンドアロン アプリケーションを作成することもできます。

  • Windows コマンド シェルを起動しないスタンドアロン アプリケーションを生成するには、compiler.build.standaloneWindowsApplicationを使用します。

  • また、mccコマンドを使用して、MATLAB Runtime やインストーラーが含まれないスタンドアロン アプリケーションを生成することもできます。

参考

| | | | |

関連するトピック