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