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

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

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

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

해당 반환 값을 기반으로 다른 루틴을 계속 실행할 수 있도록 matlab 함수에서 한 자리 반환 값을 얻으려고 합니다.

답변1

quitmatlab 을 사용하거나 종료 할 수 있습니다 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'

관련 정보