使用多输出 matlab 函数时,我需要回调所有变量吗?或者我可以只取前两个变量吗?(如果是这样..不推荐吗?)
让我们在function.m中说
[a, b, c] = function( )
在 main.m
[var1, var2] = function;
使用多输出 matlab 函数时,我需要回调所有变量吗?或者我可以只取前两个变量吗?(如果是这样..不推荐吗?)
让我们在function.m中说
[a, b, c] = function( )
在 main.m
[var1, var2] = function;
在 matlab 中调用(几乎)任何函数时,您可以请求比它指定的更少的输出。所以,是的,你给出的例子应该工作得很好。
你可以用它做一些聪明的事情,比如在函数中使用nargout来查看请求了多少输出参数,并且只计算请求的值作为优化技巧。
这取决于函数的定义,以及您想要获得的确切输出。
并非所有功能都允许这样做,您可以在特定功能的帮助文档的开头找到每个功能的所有选项。
如果您只需要第二个或第三个输出,并且还想保存不感兴趣的结果的计算时间,则可以使用~
选项,如下所示(对于 2009b 及更高版本):
[~, var1, var2]=function
许多函数允许传递改变函数行为方式的选项。我使用/编写了各种数值求解函数,其中一个选项非常多,例如LSMR function(s)。
否则,如果您可以操作原始文件,则可以在之前或末尾引入一个输入来执行此操作,并使用内联子例程生成您想要的输出。
或者,如果您不能,它将以元胞数组或向量的形式返回,您可以传递一个匿名函数以这种方式生成所需的输出。
真的,可以通过多种方式完成。非常符合上下文。