Not enough input arguments from a row vector

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Torsten
Torsten il 4 Apr 2022
Modificato: Torsten il 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.

Più risposte (1)

Fangjun Jiang
Fangjun Jiang il 4 Apr 2022
myquad(3,4,5)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by