Puede ejecutar funciones desde el uso de los métodos y.MATLAB®Java®MatlabEngine
Feval.
Fevalasync.
Estos métodos funcionan como la función.MATLABFeval.
Utilice y cuando desee devolver el resultado de la ejecución de la función a o para pasar argumentos de.Feval.
Fevalasync.
JavaJava
Para Llamar A UNAFunción:Matlab
Pase el Nombre de laFunciónComoUna Cadena。
Defina los argumentos de entrada requeridos por la función.MATLAB
Especifique el número de salidas que se esperan de la función (1 se asume si no se especifica).MATLAB
Defina el tipo devuelto adecuado para las salidas de la función.MATLAB
Utilice escritores para redirigir la salida de la ventana de comandos a.MATLABJava
TambiénPuedeUtherizarLosMétodosy para excuar expresiones。MatlabEngine
eval
evalAsync
MATLAB Estos métodos le permiten crear variables en el espacio de trabajo, pero no devuelven valores.MATLAB
Este código de ejemplo utiliza la función para encontrar la raíz cuadrada de los elementos en una matriz de dobles.MATLABsqrt
Elmétododevuelve Una matriz doble que contiene lossuteados de la llamada a laFunción。Feval.
sqrt
import com.mathworks.engine.*; public class javaFevalFunc{ public static void main(String[] args) throws Exception{ MatlabEngine eng = MatlabEngine.startMatlab(); double[] a = {2.0 ,4.0, 6.0}; double[] roots = eng.feval("sqrt", a); for (double e: roots) { System.out.println(e); } eng.close(); } }
EsteCódigode Ejetimo uteriza laFuncióneNcontrar elMáximoComún除容器Y Los Cofitiedes deBézoutde los dos valores entospasados como asjamesos de entrada.matlabgcd
El método devuelve una matriz de objetos que contiene los resultados de la llamada a la función.Feval.
gcd
Los valores devueltos son enteros.
Dado que la función devuelve tres argumentos de salida, especifique el número de valores devueltos como el primer argumento al método.MATLABgcd
Feval.
import com.mathworks.engine.*; public class javaFevalFcnMulti { public static void main(String[] args) throws Exception { MatlabEngine eng = MatlabEngine.startMatlab(); Object[] results = eng.feval(3, "gcd", 40, 60); Integer G = (Integer)results[0]; Integer U = (Integer)results[1]; Integer V = (Integer)results[2]; eng.close(); } }
Los métodos y permiten especificar el número de argumentos de salida devueltos por la función.MatlabEngine
Feval.
Fevalasync.
Matlab de Forma Predetermadada,Se Supone Que ElNúmerodejamerosde salida de lafunciónes.matlab1
Si Desea Llamar A UnaFunciónInsalidas omásdeefasalida,ecomificiqueesenúmerocomoelprimer alighto pasado a o.matlabFeval.
Fevalasync.
Por ejemplo, este código llama a la función con la sintaxis de tres argumentos de salida:MATLABgcd
对象[]结果= ENG.FEVAL(3,“GCD”,40,60);
funciones pueden comportarse de manera diferente dependiendo del número de salidas solicitadas.MATLAB Algunas funciones no pueden devolver ninguna salida o un número especificado de salidas. Por ejemplo, la función mantiene la ejecución durante un número especificado de segundos.MATLABpause
Sin Embargo,Si Llama Con联合国Argumento de Salida,LaFunciónDevuelveInmediatame Con Ven Ve Estado。pause
Por lo tanto, este código no causa pausa porque solicita un argumento de salida.MATLABFeval.
eng.feval("pause", 10);
帕拉pausar la ejecucion de los 10 segundos solicitados, especifique el número de salidas como.MATLAB0
eng.feval(0, "pause", 10);
Nota
Para asegurarse de que se llama a una función sin salidas, especifique el número de argumentos devueltos como.MATLAB0