Cómo llamar al código Matlab usando Java
Hablemos en orden. El primero debe ser el siguiente matlab. ¿Cuál es el siguiente? Comenzar el próximo 7.0 se siente nuevo. Después pensé que no. Ahora es 7,8. Al mismo tiempo, hay otra información sobre el número de versión que circula en Internet, a saber, la versión 2006, la versión 2006a y la versión 2008b. Más tarde, descubrí por información en línea que Matlab sale dos veces al año, llamadas versión A y versión B. Por ejemplo, para MATLAB 7.2 (versión 2006a), descargué m7.8, versión 2009a. Hay una relación correspondiente en línea. Si está interesado, puede buscarla.
En primer lugar, utilicé la herramienta MABLAB BUILDER JA proporcionada por la gente de matlab para llamar a matlab con java. También quiero comentarles que esta herramienta no estaba disponible antes de la versión 2006b. Creo que Java pudo haber llamado a matlab a través de JNI y C antes. Así que preste atención a la versión al descargar. Otra cosa a tener en cuenta es que si utiliza un procesador AMD en lugar de un procesador Intel, es posible que no pueda ejecutar Matlab después de instalarlo. Específicamente, significa apagarse tan pronto como se enciende. Las máquinas de nuestra empresa utilizan procesadores AMD. La solución es realmente muy sencilla y consiste en crear una nueva variable de sistema para su máquina. El nombre de la variable es BLAS_VERSION y el valor de la variable es d://matlab 7//bin//win32//atlas_athlon.dll (su dirección de instalación de MATLAB).
Luego, aprendimos a utilizar MABLAB BUILDER JA. Al principio no sabíamos cómo leer la ayuda de Matlab. Simplemente miramos lo que otros habían escrito en línea. Los artículos sobre este aspecto básicamente salen del útero de una madre y no los entiendo todos. Más tarde, cuando vi la documentación de ayuda de Matlab, me emocioné mucho. Eso es lo más auténtico. Intentaré seguir sus instrucciones paso a paso.
En primer lugar, ¿presentar MATLAB? ¿Constructor? Bien. ¿Es MATLAB? ¿Compilador? Con este producto de extensión, puede empaquetar sus archivos de código m en un archivo de clase para que su programa Java pueda usar matlab. De hecho, m-codeiv es, por supuesto, el programa matlab al que desea llamar.
Para ser claros, si simplemente instala MATLAB en la máquina, ¿puede usar Java para llamar a MATLAB? ¿Constructor? Por supuesto, es el paquete jar generado por JA.
¿Qué sucede si desea utilizar Java para llamar a estos paquetes jar en una máquina que no tiene matlab instalado? Esto también es posible, pero primero debe instalar MATLAB Compiler Runtime (MCR) proporcionado por MATLAB en su máquina. Su archivo de instalación se llama MCRInstaller.exe en C:/Program Files/Matlab/r 2009 a/Toolbox/Compiler/Deploy/Win32 (en su directorio de instalación).
Preparación:
Entorno Java, JAVA_HOME está configurado correctamente. Otro punto, si su versión de jdk es superior a 1.6, es posible que 1.5 sea incorrecta.
La siguiente es la parte clave. A través de un ejemplo, puede ver que una función de código M se convierte en un componente invocable de Java.
El nombre de este ejemplo es Cubo de Rubik. Este ejemplo le permite comprender cómo crear un componente Java llamado magicsquare, que incluye principalmente una clase mágica, un archivo jar y otros archivos para publicar el componente. magia. La clase es la clave, es el embalaje. Las funciones de MATLAB makeqr y makeqr se usan para calcular la matriz del Cubo de Rubik, y luego usamos el programa java para llamar a esta función.
Matlab Builder JA se puede llamar a través de los comandos de Matlab y deploytool.
Al mismo tiempo, para verificar que MATLAB haya obtenido su entorno Java, puede usar getenv JAVA_HOME para verificar si el JAVA_HOME que se le devolvió es correcto.
En este ejemplo, el código M y el código Java están escritos por matlab. Lo que debes hacer ahora es copiar su código en tu espacio de trabajo. Este es un ejemplo.
Raíz de MATLAB/caja de herramientas/Java builder/Examples/MagicSquareExample.
Matlabroot es el directorio de instalación de MATLAB.