# how to solve quadratic equation?

747 views (last 30 days)

Show older comments

Hai,

How could I solve a quadratic equation in matlab? Looking for your reply.

BSD

##### 0 Comments

### Accepted Answer

Walter Roberson
on 8 Nov 2011

roots(). Or if you have the symbolic toolbox, solve()

##### 4 Comments

Walter Roberson
on 9 Nov 2011

You can tell whether a number has a complex part or not by testing to see if the imaginary part is 0. imag(x) gives you the imaginary part of x, so imag(x)==0 tests whether the imaginary part is 0. TheRoots(imag(TheRoots)==0) thus selects only the roots which are real-valued with no imaginary component.

Of course for a quadratic function over real coefficients, either _neither_ root is complex or _both_ roots are complex...

### 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

##### 0 Comments

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

##### 0 Comments

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

Rick Rosson
on 9 Nov 2011

Walter Roberson
on 9 Nov 2011

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

##### 0 Comments

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!