2010-01-25 29 views

Respuesta

0

Hay 2 formas para hacer esto:

  1. uso del Matlab motor que tiene una interfaz de C (ver el enlace de la primera respuesta para eso). Es obligatorio instalar Matlab en todas las máquinas en las que desee ejecutarlo (consulte la licencia de Matlab para obtener más información)
  2. Utilice el Matlab Builder para Java que compila el código matlab y produce una interfaz Java de sus funciones directamente. Con esta solución, necesita el compilador Matlab y el Matlab Builder para Java, pero luego puede implementar su solución sin pagar nada más. Tenga en cuenta que debe instalar Matlab Compiler Runtime (MCR) en cada equipo, pero esto es gratis.
5

Si no quiere comprar MATLAB Builder for Java Toolbox de MathWork, puede utilizar la JMI no documentada de MATLAB (Interfaz Java-MATLAB). Busque el grupo de noticias de CSSM (o Google) para JMI o JMatLink, que se basa en JMI. El código de MATLAB está lleno de ejemplos de uso de JMI: busque "jmi" utilizando la herramienta de búsqueda del Editor MATLAB durante toda la instalación de MATLAB.

Tenga en cuenta que JMI no está documentado ni es compatible oficialmente con MathWorks. Además, si se utiliza incorrectamente puede colgar o bloquear su aplicación. Pero es gratis, a diferencia de la caja de herramientas.

1

En lugar de utilizar la JMI (Interfaz de Java MATLAB) no documentada mencionada por Yair, puede usar matlabcontrol que es una API de Java que se ajusta a JMI, lo que hace que sea mucho más fácil de usar. Está bien documentado y tiene una introducción a walkthrough. A diferencia del uso directo de JMI, también se puede usar cuando se ejecuta un programa Java fuera de MATLAB.

1

He utilizado Java Builder para ejecutar scripts/funciones de matlab en la aplicación Java, y parece ser muy fácil y útil.

Para este propósito, debe tener la caja de herramientas de Java Builder JA para implementar el script/función de matlab como clase Java.

Luego necesita agregar la clase java (convertida) en su biblioteca de proyectos java, y adicionalmente el archivo javabuilder jar.

Después de seguir los pasos anteriores, puede ejecutar fácilmente el script de matlab (que ahora es una clase de Java en la biblioteca del proyecto) simplemente llamando al nombre de la clase en el código. Si la clase es una función de matlab, puede pasar los parámetros y obtener los valores de retorno fácilmente.

Pero, por supuesto, no es el único método para hacerlo. Pero este me parece fácil comparativamente.

Espero que responda a su pregunta.

Cuestiones relacionadas