是依次传递的,如果不想传递某个参数,可以使用中括号传递空值。
function a=f(a1,a2,a3)
if ~exist('a1','var') || isempty('a1') , a1=1; end
if ~exist('a2','var') || isempty('a2') , a2=1; end
if ~exist('a3','var') || isempty('a3') , a3=1; end
a=a1+a2+a3;
end;
当调用的时候可以这样调用:
re=f(1,2,3);
re=f(1,2);
re=f(1);
re=f(1,[],3);