Not enough input arguments from a row vector

1 Ansicht (letzte 30 Tage)
Eric Brown
Eric Brown am 4 Apr. 2022
Bearbeitet: Torsten am 4 Apr. 2022
My code is to find the roots of a quadratic using a row vector as the input. The function is called using myquad([3 4 5]) and I keep getting the error that i dont have enough input arguments. I am VERY new to matlab so please explain your answer like you're talking to a bump on a log.
function x = myquad(a,b,c)
if b^2 - 4*a*c > 0
x = 2;
else if b^2 - 4*a*c == 0
x = 1;
else
x = 0;
end
end

Akzeptierte Antwort

Torsten
Torsten am 4 Apr. 2022
Bearbeitet: Torsten am 4 Apr. 2022
function x = myquad(vec)
a = vec(1);
b = vec(2);
c = vec(3);
if b^2 - 4*a*c > 0
x = 2;
else if b^2 - 4*a*c == 0
x = 1;
else
x = 0;
end
end
Since you pass a vector and not three scalars, you must take it as a vector in myquad and split it in its components.

Weitere Antworten (1)

Fangjun Jiang
Fangjun Jiang am 4 Apr. 2022
myquad(3,4,5)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by