📅  最后修改于: 2023-12-03 15:21:55.154000             🧑  作者: Mango
在 Matlab 中,有一些函数会返回多个输出参数。但是有时候我们只对其中的某个输出感兴趣,该怎么办呢?
常规的做法是使用 [output1, output2, ...] = function_name(input1, input2, ...)
的方式将所有的输出参数都存储下来,然后再选择其中我们感兴趣的那一个。但是这样做有些麻烦,特别是当输出参数很多的时候。
幸运的是,Matlab 提供了一种非常简单的方式来只获取我们需要的输出参数。下面是具体的做法:
[~, output2, ~] = function_name(input1, input2, ...);
上面代码中,我们使用了波浪线符号 ~
来表示我们不需要的输出参数。这样做的好处是,我们不需要为这些不需要的输出参数指定变量名,从而简化了代码。
需要注意的是,在使用这种方式时,我们需要将每一个不需要的输出参数都用 ~
来表示。同时,我们需要保证 ~
和需要的输出参数都在同一个 [ ]
中,这样才能保证正确地获取需要的输出参数。
下面是一个具体的例子:
function [out1, out2, out3, out4] = myfunc(in1, in2, in3)
out1 = in1 + 1;
out2 = in2 - 1;
out3 = in3 * 2;
out4 = out1 + out2 + out3;
end
[~, out2, ~] = myfunc(10, 5, 2);
disp(out2); % 输出 4
在上面的例子中,myfunc
函数返回了四个输出参数。但是我们只对第二个输出参数 out2
感兴趣。因此,我们使用了 [~, out2, ~]
的方式来只获取 out2
。最后,我们输出了 out2
,得到了我们需要的结果。