Main Content

Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Conéctese a la sesión en ejecuciónJavaMATLAB

Busque y conéctese aMATLAB

Puede conectar el motor a sesiones compartidas que se ejecuten en el equipo local.Java®MATLAB® Para conectarse a una sesión compartida:MATLAB

  • Iniciar como una sesión de motor compartido, o hacer un proceso en ejecución compartido utilizando.MATLABMATLABmatlab.engine.shareEngine

  • Busque los nombres de las sesiones compartidas mediante el método estático o.MATLABMatlabEngine.findMatlabMatlabEngine.findMatlabAsync

  • Pase la cadena que contiene el nombre de la sesión compartida al método estático o.MATLABMatlabEngine.connectMatlabMatlabEngine.connectMatlabAsync Estos métodos conectan el motor a la sesión compartida.Java

Si no especifica el nombre de una sesión compartida al llamar o, el motor utiliza la primera sesión compartida creada.MATLABMatlabEngine.connectMatlabMatlabEngine.connectMatlabAsyncMATLAB Si no hay sesiones compartidas disponibles, el motor crea una sesión compartida y se conecta a esta sesión.MATLABMATLAB

Para obtener una descripción de estos métodos, consultecom.mathworks.engine.MatlabEngine

Conéctese a sincrónicamenteMATLAB

Convierta la sesión a una sesión compartida llamando desde.MATLABmatlab.engine.shareEngineMATLAB

matlab.engine.shareEngine

Busque la sesión y conéctese sincrónicamente desde.Java

import  com.mathworks.engine.*;  public class javaFindConnect {     public static void main(String[] args) throws Exception {         String[] engines = MatlabEngine.findMatlab();         MatlabEngine eng = MatlabEngine.connectMatlab(engines[0]);         // Execute command on shared MATLAB session         eng.eval("plot(1:10); print('myPlot','-djpeg')");         eng.close();     } }

Conéctese a asincrónicamenteMATLAB

Convierta la sesión a una sesión compartida llamando desde.MATLABmatlab.engine.shareEngineMATLAB

matlab.engine.shareEngine

Busque la sesión y conéctese asincrónicamente desde.Java

import  com.mathworks.engine.*; import java.util.concurrent.Future;  public class javaFindConnectAsync {     public static void main(String[] args) throws Exception {         Future<String[]> eFuture = MatlabEngine.findMatlabAsync();         String[] engines = eFuture.get();         Future<MatlabEngine> engFuture = MatlabEngine.connectMatlabAsync(engines[0]);         // Work on other thread         MatlabEngine eng = engFuture.get();         // Execute command on shared MATLAB session         Future<Void> vFuture = eng.evalAsync("plot(1:10); print('myPlot','-djpeg')");         eng.close();     } }

Especifique el nombre de la sesión compartida

Puede especificar el nombre de la sesión compartida al ejecutar la función.MATLABmatlab.engine.shareEngineMATLAB Al hacerlo, se elimina la necesidad de utilizar o encontrar el nombre.MatlabEngine.findMatlabMatlabEngine.findMatlabAsync

Por ejemplo, inicie y asigne un nombre a la sesión compartida.MATLABmyMatlabEngine

matlab -r "matlab.engine.shareEngine('myMatlabEngine')"

Conéctese a la sesión guardada desde.MATLABJava

import  com.mathworks.engine.*;  public class javaNameConnect {     public static void main(String[] args) throws Exception {         String[] myEngine = {"myMatlabEngine"};         MatlabEngine eng = MatlabEngine.connectMatlab(myEngine[0]);         // Execute command on shared MATLAB session         eng.eval("plot(1:10); print('myPlot','-djpeg')");         eng.close();     } }

Temas relacionados