Function with two inputs and arguments

17 Ansichten (letzte 30 Tage)
Jonathan Larsson
Jonathan Larsson am 8 Okt. 2019
Bearbeitet: Fabio Freschi am 8 Okt. 2019
Hello I am stuck on a problem. I am supposed to make a function that solves quadratic equations. If however the function gives complex numbers, it is supposed to give me the anwsers x1=888, x2=888. How do I do this?
ax2bxc0.png
x1ochx2.png
if b24ac0.png then xpxm.png
I tried;
function [xp,xm] = find_roots(a,b,c)
if b^2-4*a*c<0
xp=888 & xm=888
else
xp=(-b/(2*a))+sqrt(b^2-4*a*c)/(2*a)
xm=(-b/(2*a))-sqrt(b^2-4*a*c)/(2*a)
end % end function
However it if far from the right anwser. I basically don't know how to do arguments in a function. I even tried the "==" in the if/else statement in my function and it still did not work.
Can anyone help me?
Thanks in advance!

Akzeptierte Antwort

Fabio Freschi
Fabio Freschi am 8 Okt. 2019
Bearbeitet: Fabio Freschi am 8 Okt. 2019
The & is misused. Try:
function [xp,xm] = find_roots(a,b,c)
if b^2-4*a*c<0
xp=888;
xm=888;
else
xp=(-b/(2*a))+sqrt(b^2-4*a*c)/(2*a);
xm=(-b/(2*a))-sqrt(b^2-4*a*c)/(2*a);
end
Also have a look at the built-in roots
doc roots

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by