MATLAB: Passing arguments to a function

function argumensMATLAB

function val = sum(a,b)
default('a',1); % uses a function from file exchange
default('b',20);
val = a+b
end
I want to pass only the second argument and use the default for first,a. Something like below,
val = sum(b=2)
How can I do this in MATLAB?

Best Answer

One way of doing this is to pass an empty argument, e.g., mySum([], 2) or mySum(2, []). So, you can add the following conditions:
function myVal = mySum(a, b)
if isempty(a)
a = 1;
end
if isempty(b)
b = 20;
end
myVal = a+b;
end