MATLAB 함수에서 반환 값을 얻는 방법

MATLAB 함수에서 반환 값을 얻는 방법

Bash 스크립트를 사용하여 MATLAB 함수를 호출하고 있습니다.

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

matlab 함수에서 한 자리 반환 값을 얻으려고 하므로 이 반환 값을 기반으로 다른 루틴을 진행할 수 있습니다.

답변1

quit또는 를 사용하여 MATLAB을 종료할 수 있습니다 exit. exit종료 코드를 지정할 수 있다는 점을 제외하면 기본적으로 동일합니다 . 종료 코드를 남용하려는 경우 다음과 같이 할 수 있습니다.

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

이 작업을 수행하려는 경우 bash가 0이 아닌 종료 코드로 인해 화를 낼 수 있으며 함수가 종료가 처리할 수 있는 오류 코드를 반환하는지 확인하기 위해 일부 오류 처리가 필요할 수 있다는 점을 인식하십시오.

다른 옵션은 matlab의 출력을 캡처한 다음 원하는 것을 구문 분석하는 것입니다.

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

관련 정보