Function with two inputs and arguments

7 views (last 30 days)
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!

Accepted Answer

Fabio Freschi
Fabio Freschi on 8 Oct 2019
Edited: Fabio Freschi on 8 Oct 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

More Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!