Not enough input arguments from a row vector

1 vue (au cours des 30 derniers jours)
Eric Brown
Eric Brown le 4 Avr 2022
Modifié(e) : Torsten le 4 Avr 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

Réponse acceptée

Torsten
Torsten le 4 Avr 2022
Modifié(e) : Torsten le 4 Avr 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.

Plus de réponses (1)

Fangjun Jiang
Fangjun Jiang le 4 Avr 2022
myquad(3,4,5)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by