2012-03-12 9 views
14

私はアルゴリズムとMATLABにあるいくつかの他のコードを持っており、私はそれを私のAndroidアプリケーションで使いたいと思います。MatlabコードライブラリをAndroidに統合するには?

どうすればいいですか?

  • Androidで使用するためにMATLABからjarファイルを作成できますか?
  • 私は別のことをしなければなりませんか?
+1

あなたのAndroidプロジェクトにjarを含めることができます。このためには、java builder open librariesタブのプロジェクトプロパティに移動します。ここからあなたのjarファイルを追加することができます –

+3

私はjarファイルを含める方法を知っています..私はMatlabからjarファイルを作る方法を尋ねています。 – Azhar

答えて

13

(これは、より速く、より安全な方法となります)。

しかし、.jarファイルが存在するとのMATLAB Compilerランタイム(あなたはMATLABコンパイラとMATLABビルダー製品を得る自由に再配布可能なコンポーネント)が必要です。 MCRは、典型的なAndroidデバイスに適したフットプリントよりもはるかに大きなフットプリントを持っています(これはMATLAB自体のコピーで、ユーザーインターフェイスはありません)。あなたはどちらか

  1. は、あなたのMATLABは、サーバー上でリモート.jarファイルの実行、およびAndroidのアプリケーションは、それに接続した、または
  2. の代わりにMATLABコンパイラやビルダー製品を使用して考えることができ

    MATLAB Coderを使用これは、MATLAB言語のサブセットを直接Cコードに変換します。このCコードはMCRを必要とせず、Android上で直接実行するようにコンパイルできます。 MATLABアルゴリズムがMATLAB言語の適切なサブセットに含まれているか、またはMATLAB言語の適切なサブセットで表現できることを確認してください。


編集:R2015aのとおり、JavaのためのMATLABビルダーJAからの機能は、新製品、MATLAB Compiler SDKに置き換えられました。

-1

あなたは2つのオプションがあり、

  1. はJARを作成し、Javaアプリケーションに含めると、それを使用し始めます。 (私はEclipseの外にJARを作成することで、これをテストしていない)

  2. あなたはC言語で同じことをコーディングし、それを処理するには、Android NDKを使用することができます。あなたは追加の製品、MATLAB Builder JA for Javaを持っている場合、あなたはMATLABコードから.jarファイルを生成することができ

+0

これは彼の質問に全く言いません。 –

+0

MCRが存在しないため、Android上でjarファイルが実行されません。 – Daniel

3

私はADDIの開発者です。 http://addi.googlecode.com AddiはすぐにOctaveのフルポート(Matlab構文を使用するオープンソースツール)になりつつあります。 Addiは、他のアプリケーションが数学エンジンやプロットエンジンとして使用する意図を持っています。したがって、Octaveでコードを実行することができれば、まもなくAndroid上でコードを実行することができます。

1

私たちの唯一の選択肢は、MATLAB Coderツールボックスを使用してMコードからC++コードを取得し、MATLAB®コードからスタンドアロンのCコードおよびC++コードを生成することです。 Matlabのすべての関数の一部のサブセットのみをサポートしているため、ニーズに合わない可能性があります。

Cコードを使用すると、NDKを使用してコンパイルできます。 MATLAB Compilerはオプションではありません。

0

matlabコードをPythonに変換し、アンドロイドのpythonコードを使用することができます。この変換を行うには多くのtoolsがあります。 Pythonはmatlabよりもアンドロイドに適しています。あなたは今、直接サムスンのAndroidデバイスへのモデル(の限定セット)をインストールすることができ、これは任意のAndroidデバイス上で実際に動作するはず

http://www.mathworks.com/help/simulink/samsung-galaxy-android-devices.html

+0

これは、OPが特殊なツールボックスを使用していないことを前提としています。ネイティブのMATLAB構文を使用しても問題は発生しません。画像処理ツールボックスや信号処理ツールボックスなどを使用する場合、この変換は不可能です。 – rayryeng

関連する問題