how to solve quadratic equation?
Show older comments
Hai,
How could I solve a quadratic equation in matlab? Looking for your reply.
BSD
Accepted Answer
More Answers (4)
Reina Young
on 27 May 2020
This code works for real and imaginary roots.
%%QUADRATIC FORMULA%%
% A(x^2)+B(x)+C=0
begin_prompt = 'Quadratic Formaula (Yes/No)(1/0)';
d = input(begin_prompt)
if d == 1
prompt = 'Ax^2+Bx+C=0...A=';
A = input(prompt)
prompt2 = 'Ax^2+Bx+C=0...B=';
B = input(prompt2)
prompt3 = 'Ax^2+Bx+C=0...C=';
C = input(prompt3)
Answer1= ((-B)+((B^2-4*A*C))^0.5)/(2*A)
Answer2= ((-B)-((B^2-4*A*C))^0.5)/(2*A)
disp(Answer1)
disp(Answer2)
else
disp( 'Error in Start Prompt Input, Please Pick Yes (1) or this code will not work');
end
Emre Komur
on 10 Apr 2021
Edited: Emre Komur
on 10 Apr 2021
Solution Method-1
1- You can create function as below
function quadraticEquation
a = input('please enter a value :');
b = input('please enter b value :');
c = input('please enter a value :');
delta = (b.^2)-(4*a*c);
if(delta < 0)
disp("Delta < 0 The equation does not have a real root");
elseif (delta == 0)
disp('The equation has only one real roots');
disp(-b./(2*a));
else
disp('The equation has two real roots');
disp((-b+sqrt(delta))./(2*a));
disp((-b-sqrt(delta))./(2*a));
end
end
2- You should call the function as below
quadraticEquation
Rick Rosson
on 8 Nov 2011
Please try:
x = zeros(2,1);
d = sqrt(b^2 - 4*a*c);
x(1) = ( -b + d ) / (2*a);
x(2) = ( -b - d ) / (2*a);
HTH.
Rick
4 Comments
Walter Roberson
on 9 Nov 2011
Which is equivalent to x = roots([a,b,c]) except that roots() does not promise any particular order.
Walter Roberson
on 9 Nov 2011
Beware a = 0 !
Rick Rosson
on 9 Nov 2011
If a = 0, then it is not (strictly speaking) a quadratic equation. It's a linear equation, and the solution in that case is trivial to compute.
Walter Roberson
on 9 Nov 2011
Yes, but it is not an uncommon problem for people to calculate or randomly generate the coefficients and forget to double-check that the system is still of the same order.
Temidayo Daniel
on 18 Oct 2022
a = input ('Enter the value of the coefficient of x square ');
b = input ('Enter the value of the coefficient of x ');
c = input ('Enter the third value ');
t = sqrt ((b^2) - (4*a*c));
u = (-b+t)/(2*a);
v = (-b-t)/(2*a);
x1 = u
x2 = v
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!