如果两个输出是#1和#2,一切都很好,你不必担心其他两个输出。
如果两个输出是另外任意两个,您有两个选择
(1) 创建一个具有两个输出的包装函数(请注意,在较新版本的 Matlab 中,您可以将未使用的输出替换dummy为~.
function [out1,out2] = wrapperFunction(in1,in2,in3)
[dummy,out1,dummy,out2] = mainFunction(in1,in2,in3);
Run Code Online (Sandbox Code Playgroud)
(2) 添加另一个输入变量,允许您切换函数的行为
function varargout = mainFunction(in1,in2,in3,outputSwitch)
%# make output switch optional
if nargin < 4 || isempty(outputSwitch)
outputSwitch = 0;
end
%# calculation here that creates out1-4
if outputSwitch
%# the special case where we only want outputs 2 and 4
varargout = {out2,out4};
else
%# return all four outputs
varargout = {out1,out2,out3,out4}
end
Run Code Online (Sandbox Code Playgroud)
然后您可以像往常一样创建匿名函数。