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

1

Estou chamando uma função do 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 eu possa prosseguir para outra base de rotina nesse valor de retorno.

    
por ctbird 24.05.2017 / 21:11

1 resposta

0

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

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

Se você vai 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 depois analisar o que você quer

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