MATLAB Compiler を使用してシンボリック式から生成された MATLAB 関数の展開
この例では、シンボリック式から MATLAB® 関数を生成し、その関数を使用して、MATLAB Compiler™ でスタンドアロン アプリケーションを作成する方法を示します。
この例は、MATLAB 関数からのスタンドアロン アプリケーションの作成 (MATLAB Compiler)で説明されている手順に従うもので、シンボリック式から MATLAB 関数を生成するための手順を更新しています。
シンボリック式からの展開可能な関数の生成
最初に、次の 2 階微分方程式を作成します。
.
これは syms
を使用したシンボリック方程式とします。
syms y(t);
ode = diff(y,2) + diff(y)/2 + 2*y == 0;
この微分方程式を解くには、関数 odeToVectorField
を使用して 1 階微分方程式に変換します。
V = odeToVectorField(ode);
次に、matlabFunction
を使用してシンボリック式 V
を MATLAB 関数ファイルに変換します。ファイル myODE.m
内の変換された関数は Symbolic Math Toolbox™ なしで使用できます。変換された関数は、MATLAB Compiler を使用して展開できます。
matlabFunction(V,'vars',{'t','Y'},'File','myODE');
MATLAB でのスクリプトの記述
ode45
を使用して微分方程式を解き、解をプロットする plotODESols.m
という名前の MATLAB スクリプトを記述します。それを関数 myODE.m
と同じディレクトリに保存します。
type plotODESols.m
sol = ode45(@myODE,[0 20],[0 4]); x = linspace(0,20,200); y = deval(sol,x,1); plot(x,y) xlabel('Time t') ylabel('Displacement y')
このスクリプトを使用して、アプリケーション コンパイラ アプリでスタンドアロン アプリケーションを作成して展開できます。
アプリケーション コンパイラ アプリを使用したスタンドアロン アプリケーションの作成
MATLAB の [アプリ] タブの [アプリ] セクションで、矢印をクリックしてアプリ ギャラリーを開きます。[アプリケーションのデプロイ] で [アプリケーション コンパイラ] をクリックします。MATLAB Compiler プロジェクト ウィンドウが開きます。
または、MATLAB プロンプトで applicationCompiler
と入力して、[アプリケーション コンパイラ] アプリを開くこともできます。
MATLAB Compiler プロジェクト ウィンドウで、展開する MATLAB アプリケーションのメイン ファイルを指定します。
ツールストリップの [メイン ファイル] セクションで、 をクリックします。
[ファイルの追加] ダイアログ ボックスで、生成されたスクリプトを含むファイルの場所を参照します。
plotODESols.m
を選択し、[開く] をクリックします。アプリケーション コンパイラ アプリによって、関数plotODESols
がメイン ファイルのリストに追加されます。
[パッケージ化オプション] セクションで次の 2 つのオプションのいずれかを選択して、生成されるアプリケーションに MATLAB Runtime インストーラーを含めるかどうかを決定します。
ランタイムを Web からダウンロード — MATLAB Runtime をダウンロードして、展開された MATLAB アプリケーションと共にインストールするインストーラーを生成します。
ランタイムをパッケージに含める — MATLAB Runtime インストーラーを含むインストーラーを生成します。
次のオプションを入力して、パッケージ化されたアプリケーションとその外観をカスタマイズします。
アプリケーション情報 — 展開されるアプリケーションに関する編集可能な情報。アプリケーション アイコンとスプラッシュ スクリーンを変更して、スタンドアロン アプリケーションの外観をカスタマイズすることもできます。生成されたインストーラーは、この情報を使用して、インストールされたアプリケーションのメタデータを入力します。
追加インストーラー オプション — 生成されたインストーラーの既定のインストール パスを編集し、カスタム ロゴを選択するためのオプション。
アプリケーションの実行に必要なファイル — 生成されたアプリケーションの実行に必要な追加ファイル。これらのファイルは、生成されるアプリケーション インストーラーに含められます。ツールストリップの [メイン ファイル] セクションに
plotODESols.m
を追加すると、コンパイラはmyODE.m
をアプリケーションの実行に必要なファイルとして自動的に追加します。エンド ユーザー用にインストールされるファイル — アプリケーションと共にインストールされるファイル。これらのファイルには、自動生成される
readme.txt
ファイルと、ターゲット プラットフォーム用に生成される実行可能ファイルが含まれます。ランタイム追加設定 — 生成される実行可能ファイルを制御するためのプラットフォーム固有のオプション。
これらのオプションの詳細については、アプリケーションのカスタマイズ (MATLAB Compiler)を参照してください。
パッケージ化されたアプリケーションを生成するには、ツールストリップの [パッケージ化] セクションで [パッケージ化] をクリックします。[プロジェクトを保存] ダイアログ ボックスで、プロジェクトを保存する場所を指定します。
[パッケージ] ダイアログ ボックスで、[プロセスが完了したら出力フォルダーを開く] が選択されていることを確認します。
展開プロセスが完了すると、出力には以下のものが含まれているはずです。
for_redistribution
— アプリケーションと MATLAB Runtime のインストール ファイルが格納されたフォルダー。for_testing
—mcc
によって作成されたすべてのアーティファクトが格納されたフォルダー (特定のターゲットのバイナリ、ヘッダー、ソース ファイルなど)。これらのファイルは、インストールのテストに使用します。for_redistribution_files_only
— アプリケーションの再配布に必要なファイルが格納されたフォルダー。MATLAB または MATLAB Runtime がマシンにインストールされているユーザーにこれらのファイルを配布します。PackagingLog.txt
— MATLAB Compiler によって生成されたログ ファイル。
スタンドアロン アプリケーションのインストールと実行
スタンドアロン アプリケーションをインストールするには、for_redistribution
フォルダーで実行可能ファイル MyAppInstaller_web
をダブルクリックします。
プロキシ サーバーを使用してインターネットに接続する場合は、[接続設定] をクリックします。表示されるダイアログ ボックスにプロキシ サーバーの設定を入力します。[OK] をクリックします。
インストールを完了するには、インストール ウィザードの指示に従います。
スタンドアロン アプリケーションを実行するには、以下のようにします。
ターミナル ウィンドウを開きます。
アプリケーションをインストールしたフォルダーに移動します。
アプリケーションを実行します。
スタンドアロン アプリケーションを実行して展開するために、他のマシンの管理者権限があることを確認してください。
ターゲット マシンでのスタンドアロン アプリケーションのテスト
MATLAB で生成されたスタンドアロン アプリケーションをテストするためのターゲット マシンを 1 台選択します。
for_testing
フォルダーのファイルをターゲット マシンにコピーします。
スタンドアロン アプリケーションをテストするには、以下のようにします。
ターミナル ウィンドウを開きます。
for_testing
フォルダーに移動します。アプリケーションを実行します。
ターゲット マシンでのスタンドアロン アプリケーションの展開
for_redistribution_files_only
フォルダーを、すべてのターゲット マシン上の MATLAB または MATLAB Runtime のファイルがインストールされている場所にコピーします。
for_redistribution_files_only
フォルダーの実行可能ファイルを使用して、MATLAB で生成されたスタンドアロン アプリケーションをすべてのターゲット マシンで実行します。