Como obter o valor de retorno da função MATLAB

Como obter o valor de retorno da função MATLAB

Estou chamando uma função MATLAB com um script bash

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

Estou tentando obter um valor de retorno de um dígito da função matlab, para que possa prosseguir para outra rotina com base nesse valor de retorno.

Responder1

Você pode sair do matlab com quitou exit. Eles são basicamente os mesmos, exceto que exitvocê pode especificar um código de saída. Se você estiver disposto a abusar do código de saída, poderá fazer algo como

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

Se você for fazer isso, perceba que o bash pode ficar chateado com códigos de saída diferentes de zero e você pode precisar de algum tratamento de erros para garantir que sua função retorne um código de erro que a saída possa manipular.

A outra opção é capturar a saída do matlab e então analisar o que você deseja

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

informação relacionada