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.
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.MatlabEngine
feval
fevalAsync
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.MATLABMatlabEngine
putVairable
putVariableAsync
Para obtener información sobre las conversiones de tipos, consulte.Conversiones de tipos de datosJava
Este código de ejemplo pasa los coeficientes de un polinomio, , a la función.MATLABroots
Defina una matriz doble para pasar como argumento para la función.p
MATLABroots
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(); } }
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(); } }