I have the next code of the quadratic equation:
if b^2-4*a*c<0
disp('No real solutions')
elseif a==0
x=-c/b
elseif abs(b)==sqrt(b^2-4*a*c)
w = b+sign(b)*sqrt(b^2-4*a*c);
x1 = -w/(2*a)
x2 = -(2*c)/w
else
x1=(-2*c)/(b+sqrt(b^2-4*a*c))
x2=(-2*c)/(b-sqrt(b^2-4*a*c))
end
But Matlab doesn't recognize me when b
is equal to sqrt(b^2-4*a*c)
in some cases, such x^2 -100000001+1
, but the equality is true: abs(-100000001)= sqrt((-100000001)^2-4*1*1)
.
What should I change because Matlab recognize me equality in these extreme cases?