如何从 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 可能会对非零退出代码感到不安,并且您可能需要一些错误处理来确保您的函数返回 exit 可以处理的错误代码。

另一种选择是捕获 matlab 的输出,然后解析你想要的内容

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

相关内容