2012-05-12 1 views
3

私がしようとしていることを説明しましょう。 Matlabでコード化されたアプリケーションがあり、MatlabユーザーとMatlab以外のユーザーの両方に提供したいと考えています。 そうだと思います。それをコンパイルして実行可能ファイルを展開するだけです。ファイン。MATLAB環境の内部と外部の両方でコンパイルされたコードを実行することは可能ですか?

しかし、デプロイされたアプリケーションは何かできることに制限があります(非常に重要なことに、他のM-ファイルを実行できません)。これらの高度な機能を提供します。 それは可能ですか?

もちろん、私は2つのバージョンを提供することができます:.exeと.mですが、これは本当に優雅ではないかもしれませんし、おそらくこれを行うには素晴らしいトリックがあります。

+0

私は何かを理解できません:あなたのアプリは何を意図していますか?つまり、.exeファイルには展開できないものを実行しようとしているのであれば、実質的に2つの異なるアプリケーション(バージョンだけではない)を実際に持っていなければなりません。あなたが本当に求めていることの例を教えてください。 – eulerleibniz

答えて

0

Matlabには組み込み機能がありません.Matlabをインストールしているかどうかは、オペレーティングシステムによって大きく異なります。

+0

組み込みライブラリを呼び出し、同じライブラリを呼び出すMファイルを持つ実行可能ファイルはどうでしょうか?ユーザーは、必要に応じてMまたは実行可能ファイルを起動します。 –

1

デプロイされたアプリケーションでevalを使用できます。 .mファイルは、テキストだけであるため、読むこともできます。 それで、ファイルを読んで、行ごとに評価してください。そこには、あなたのコンパイル済みMatlabプログラムの3dパーティスクリプト.mファイルを使用する能力があります。

この方法ではスクリプトを使用することはできません。

唯一のことは、合法であるかどうかです。私はそれを保証することはできません、あなた自身でMathworksに連絡する必要があります。

+0

私はあなたがこれを行うことができるかどうかはわかりません。 Lorenのブログを参照してください:http://blogs.mathworks.com/loren/2008/06/19/writing-deployable-code/#11 –

+0

@Andrey - これはMatlabスクリプトでもMatlabでは機能しますか? 呼び出す前に定義する必要があるため、行単位で評価することはできませんでした。これを動作させることは可能かもしれませんが、たくさんのコードが必要です。この仕事をするためにあなた自身のMatlabパーサーを書く必要はありませんか? – grantnz

+0

@grantnz、あなたは正しいです、私は答えを更新します –