4

別のチームが使用できるように、MATLAB でアプリケーションをパッケージ化したいと考えています。このアプリケーションを実行するのに適切なバージョンの MATLAB を持っていますが、アプリケーションで使用されるすべてのツールボックスのライセンスを持っているとは限りません。

ツールボックスを実行するために高価なライセンスを必要としないように、ツールボックスをアプリケーションに「バンドル」する方法はありますか?

そうでない場合、スタンドアロン/ライセンスに依存しない MATLAB アプリケーションを別の方法で作成することは可能ですか?

編集: これらのアプリケーションの一部は、GUI とコマンド ライン インターフェイスを備えている場合があります。

4

2 に答える 2

4

MATLAB で実行できるコードを生成するには、MATLAB Coderが必要です。このcodegenコマンドは、MATLAB で実行できる実行可能ファイルを生成します。MathWorks の Loren は、この製品に関するすばらしいブログ投稿を行っています。

codegen以下は、 MATLAB コードから MEX 関数を作成するために使用する方法の例です。

1 つの大きな注意点は、MATLAB Coder では、MATLAB の完全な機能がまだコンパイルに使用できないことです。これは、生成されたバイナリが、本質的にヘッドレス MATLAB 仮想マシンである MATLAB Compiler Runtime (MCR) を必要としないためです。代わりに、MATLAB Coder は完全にスタンドアロンの C コードを生成しますが、その結果、コード生成は多少制限されます。 ここでは機能のサブセットについて説明し、サポートされている機能の完全なリストを次に示します。カテゴリ リストによると、ほとんどのツールキット機能がサポートされているようです。

必要な関数がサポートされていない場合は、MrAzzaman が指摘したように、コンパイラを使用してスタンドアロン ライブラリを生成し、独自の MEX インターフェイスをそれらのライブラリにロールする必要があります。別の可能性は、loadlibrary関数を使用してコンパイラ生成ライブラリを直接ロードすることですが、この最後のオプションを試したことはありません。MATLAB でこれらのライブラリと正常に連携できない場合は、もちろん、MATLAB コンパイラを使用してスタンドアロンの実行可能ファイルを生成できます。これdeploytoolにより、コードとその依存関係をパッケージ化するプロセスが簡素化されます。

于 2013-10-29T05:08:07.613 に答える
3

MATLAB Compilerはまさに必要なもののように思えます。残念ながら、これは別のツールボックスを購入する必要があります。

編集:これにより、MATLABコードではなく、MATLABコードがアプリケーション/ライブラリにコンパイルされることに注意してください。他のチームは引き続き MATLAB で使用できると思いますが、コード自体を見ることはできないと思います。

于 2013-10-29T04:40:20.880 に答える