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.

Pase variables de aJavaMATLAB

Formas de pasar variables

Puede pasar variables al uso de estos métodos:Java®MATLAB®

  • Pasar las variables como argumentos de función en las llamadas a la y métodos.MatlabEnginefevalfevalAsync Las variables pasadas como argumentos a las llamadas de función no se almacenan en el área de trabajo base.MATLAB

  • Coloque las variables en el espacio de trabajo base utilizando los métodos y.MATLABMatlabEngineputVairableputVariableAsync

Para obtener información sobre las conversiones de tipos, consulte.Conversiones de tipos de datosJava

Pasar argumentos de función

Este código de ejemplo pasa los coeficientes de un polinomio, x2x6, a la función.MATLABroots

  • Defina una matriz doble para pasar como argumento para la función.pMATLABroots

  • Defina una matriz doble para aceptar los valores devueltos.r

import com.mathworks.engine.*;  public class javaPassArg{     public static void main(String[] args) throws Exception{         MatlabEngine eng = MatlabEngine.startMatlab();         double[] p =  {1.0, -1.0, -6.0};         double[] r = eng.feval("roots", p);         for (double e: r) {             System.out.println(e);         }         eng.close();     } }

Coloque variables en el espacio de trabajoMATLAB

Este código de ejemplo coloca las variables en el área de trabajo y usa esas variables como argumentos en una llamada a la función.MATLABMATLABMATLABcomplex El comando enumera las variables del espacio de trabajo.MATLABwho

import com.mathworks.engine.*; import java.util.Arrays;  public class javaPutVar {     public static void main(String[] args) throws Exception {         MatlabEngine eng = MatlabEngine.startMatlab();         eng.putVariable("x", 7.0);         eng.putVariable("y", 3.0);         eng.eval("z = complex(x, y);");         String[] w = eng.feval("who");         System.out.println("MATLAB workspace variables " + Arrays.toString(w));         eng.close();     } }

Temas relacionados