Not Enough Input Arguments

Anyone knows how I can fix a 'not enough input arguments' error? I have the code below, and it points to my if statement. Thanl you!
function C = first(x,y)
if (x >= 0 && y >= 0)
C = x + y;
elseif ((x >= 0) && (y < 0))
C = x + y.^2;
elseif ((x < 0) && (y >= 0))
C = x.^2 + y;
elseif ((x < 0) && (y < 0))
C = x.^2 + y.^2;
end
end

Answers (1)

Steven Lord
Steven Lord on 2 Mar 2021
Your function can be called with at most two inputs, and since it uses both inputs on the line you called out it must be called with at least two inputs. So you need to call it with exactly two inputs.

2 Comments

So function C(x,y) = first(x,y) or when I assigned C to the expressions above?
Sorry, I'm still learning MATLAB.
xin = randn()
xin = -1.6940
yin = randn()
yin = -0.3612
output = first(xin, yin)
output = 3.0003
function C = first(x,y)
if (x >= 0 && y >= 0)
C = x + y;
elseif ((x >= 0) && (y < 0))
C = x + y.^2;
elseif ((x < 0) && (y >= 0))
C = x.^2 + y;
elseif ((x < 0) && (y < 0))
C = x.^2 + y.^2;
end
end

Sign in to comment.

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!