Cómo obtener el valor de retorno de la función MATLAB

Cómo obtener el valor de retorno de la función MATLAB

Estoy llamando a una función de MATLAB con un script bash

matlab -nodesktop -nosplash -nodisplay -r "matlabfunction input1 input2; quit"

Estoy tratando de obtener un valor de retorno de un dígito de la función matlab, para poder continuar con otra rutina basada en este valor de retorno.

Respuesta1

Puede salir de matlab con quito exit. Son básicamente iguales excepto que exitpuedes especificar un código de salida. Si está dispuesto a abusar del código de salida, puede hacer algo como

matlab -nodesktop -nosplash -nodisplay -r "exit(times(2, 7));" > /dev/null; echo $?

Si va a hacer esto, tenga en cuenta que bash puede molestarse por los códigos de salida distintos de cero y es posible que necesite algún manejo de errores para asegurarse de que su función devuelva un código de error que la salida pueda manejar.

La otra opción es capturar la salida de matlab y luego analizar lo que quieras.

matlab -nodesktop -nosplash -nodisplay -r "format compact; Answer=times(2, 7), exit" | sed -ne '/Answer =/{n;p}' | sed -e 's/ *//g'

información relacionada