如何将Matlab代码库与Android集成?

时间:2012-03-12 06:41:32

标签: android matlab jar

我有一个算法和MATLAB中的其他代码,我想在我的Android应用程序中使用它。

我该怎么做?

  • 我可以从MATLAB制作一个jar文件用于Android吗?
  • 我还得做点什么吗?

6 个答案:

答案 0 :(得分:14)

如果您有其他产品MATLAB Builder JA for Java,则可以使用MATLAB代码生成.jar文件。

但是,.jar文件需要MATLAB Compiler Runtime(您可以使用MATLAB Compiler和MATLAB Builder产品获得的可自由再分发的组件)。与典型的Android设备相比,MCR的占用空间要大得多(它就像是MATLAB本身的副本,没有用户界面)。

你可以考虑

  1. 在服务器上远程运行MATLAB .jar文件,并将Android应用程序连接到它,或
  2. 使用MATLAB Coder代替使用MATLAB Compiler和Builder产品,它将MATLAB语言的一个子集直接转换为C代码。此C代码不需要MCR,可以编译为直接在Android上运行。确保您的MATLAB算法属于MATLAB语言的适当子集,或者可以用MATLAB语言的相应子集表示。

  3. 编辑:自R2015a起,MATLAB Builder JA for Java的功能已被新产品MATLAB Compiler SDK取代。

答案 1 :(得分:4)

我是Addi的开发者。 http://addi.googlecode.com Addi正迅速成为Octave的完整端口(这是一个使用Matlab语法的开源工具)。 Addi将为其他应用程序提供意图,将其用作数学引擎或绘图引擎。因此,如果您可以在Octave上运行代码,那么很快您就可以在Android上运行它了。

答案 2 :(得分:3)

Matlab 2014a中的一项新功能:

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

您现在可以直接安装(有限的一组)型号到三星Android设备,这应该适用于任何Android设备。

答案 3 :(得分:2)

我们唯一的选择是使用MATLAB Coder工具箱从M代码中获取C ++代码,该工具箱从MATLAB®代码生成独立的C和C ++代码。它仅支持所有Matlab函数的某些子集,因此可能不适合您的需要。

拥有C代码,您可以使用NDK编译它。 MATLAB Compiler不是一个选项。

答案 4 :(得分:0)

您可以将matlab代码转换为python,然后在android中使用python代码。有很多tools来执行此转换。 Python在Android上比matlab好。

答案 5 :(得分:-1)

您有2个选项,

  1. 创建一个JAR并包含在Java应用程序中并开始使用它。 (我没有通过在Eclipse之外创建JAR来测试它)

  2. 您可以在C中编写相同的代码并使用Android NDK进行处理。 (这将更快更安全)