2008-08-07 8 views
9

研究者がMATLABで小さなシミュレーションを作成しました。他の人がMATLABにアクセスできるようにしたいと考えています。私の計画は、シミュレーションを行い、いくつかのものをクリーンアップし、一連の機能に変えることです。それから私はそれをCライブラリにコンパイルし、SWIGを使ってPythonラッパーを作成する予定です。その時点で私は小さなDjangoアプリからシミュレーションを呼び出すことができます。少なくとも私はそう願っています。誰かがMATLABで共有ライブラリを作成した経験がありますか?

私は正しい計画を持っていますか?他の誰かが似たようなことをしています現時点で私が気づいていない重大な落とし穴があるかどうか教えてください。

答えて

3

私はあまり役に立ちませんが、MATLABシミュレーションをDLLにラップし、Delphiアプリケーションから呼び出すことができたことを覚えています。それは本当にうまくいった。

1

おそらくSWIGの代わりにctypesを試してください。もしそれがPython 2.5の一部として含まれていたら、それは良いものでなければなりません:-)

2

私は最初にctypesを試してみたいと思います。

  1. DLLにCコードをコンパイルC.
  2. にコードをコンパイルするためにMatlabのコンパイラを使用します。このDLLからコードをロードし、呼び出し
  3. 使用するctypes

最も困難なステップは、おそらく1ですが、あなたはすでに、MATLABを知っているし、Matlabのコンパイラを使用している場合、あなたはそれで深刻な問題を持つべきではありません。

5

Matlabコンパイラは実際にMatlabコードをネイティブマシンの命令にコンパイルしないことを覚えておいてください。スタンドアローンの実行可能ファイルまたはそれを実行する独自のランタイムエンジンを持つライブラリに単純にラップします。 Matlabがインストールされていない状態でコードを実行すると、他の言語とのインターフェースが可能になりますが、Matlabコードが解釈されるため、スピードアップはありません。

関連する問題