2012-03-12 14 views
14

Tengo un algoritmo y algún otro código que está en MATLAB y quiero usarlo en mi aplicación Android.¿Cómo integrar la biblioteca de códigos de Matlab con Android?

¿Cómo puedo hacer esto?

  • ¿Puedo hacer un archivo jar de MATLAB para usar con Android?
  • Tengo que hacer otra cosa?
+1

Puede incluir jar en su proyecto de Android. Para esto, vaya a la propiedad del proyecto, en la pestaña bibliotecas abiertas del generador de Java. Puede agregar su archivo jar aquí –

+3

Lo sé, cómo incluir un archivo jar ... Estoy preguntando cómo hacer un jarrón de Matlab o si no jar, entonces qué hacer. – Azhar

Respuesta

13

Si usted tiene un producto adicional, MATLAB Builder JA for Java, se puede producir un archivo .jar de su código de MATLAB.

Sin embargo, el archivo .jar requiere el MATLAB Compiler Runtime (un componente libremente redistribuible que se obtiene con el compilador MATLAB y los productos MATLAB Builder) para estar presente. El MCR tiene una huella mucho más grande que la adecuada para el dispositivo Android típico (es como una copia de MATLAB, sin la interfaz de usuario).

Se podría pensar, ya sea

  1. El funcionamiento de su MATLAB .jar archivo de forma remota en un servidor, y tener su aplicación para Android conectarse a ella, o
  2. En lugar de utilizar el compilador MATLAB y los productos constructor, utilizar MATLAB Coder , que convertirá un subconjunto del lenguaje MATLAB directamente en código C. Este código C no requiere el MCR, y podría compilarse para ejecutarse directamente en Android. Asegúrese de que su algoritmo MATLAB se encuentre dentro del subconjunto apropiado del lenguaje MATLAB o pueda expresarse en este.

Edición: A partir de R2015a, la funcionalidad de MATLAB Constructor JA para Java se ha sustituido por un nuevo producto, MATLAB Compiler SDK.

-1

Tienes 2 opciones,

  1. Crear un frasco y se incluyen en la aplicación Java y empezar a usarlo. (No he probado esto creando un JAR fuera de Eclipse)

  2. Puede codificar lo mismo en C y usar Android NDK para procesarlo. (Esto será más rápido y más seguro camino)

+0

Esto no responde a su pregunta en absoluto. –

+0

El jar no se ejecutará en Android porque falta MCR. – Daniel

3

Soy el desarrollador de Addi. http://addi.googlecode.com Addi se está convirtiendo rápidamente en un puerto completo de Octave (que es una herramienta de código abierto que utiliza la sintaxis de Matlab). Addi va a tener la intención de que otras aplicaciones lo utilicen como motores matemáticos o motores de trazado. Entonces, si puede ejecutar su código en Octave, muy pronto podrá ejecutarlo en Android.

1

Nuestra única opción es obtener el código C++ del código M usando la caja de herramientas MATLAB Coder, que genera códigos C y C++ independientes del código MATLAB®. Solo admite algunos subconjuntos de todas las funciones de Matlab, por lo que puede no ser adecuado para sus necesidades.

Al tener el código C, puede compilarlo usando NDK. El compilador MATLAB no es una opción aquí.

0

Puede convertir el código matlab en python y luego usar el código python en el Android. Hay muchos tools para hacer esta conversión. Python va bien con Android que con Matlab.

+0

Esto supone que el OP no está utilizando ninguna de las cajas de herramientas especializadas. Usar solo la sintaxis nativa de MATLAB no representará un problema, si él/ella usara cosas como la caja de herramientas de procesamiento de imágenes o la caja de herramientas de procesamiento de señal, esta conversión no sería posible. – rayryeng

Cuestiones relacionadas