how to solve quadratic equation?

1,278 次查看(过去 30 天)
Hai,
How could I solve a quadratic equation in matlab? Looking for your reply.
BSD

采纳的回答

Walter Roberson
Walter Roberson 2011-11-8
roots(). Or if you have the symbolic toolbox, solve()
  4 个评论
bsd
bsd 2011-11-9
why is that == 0 used?
BSD
Walter Roberson
Walter Roberson 2011-11-9
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...

请先登录,再进行评论。

更多回答(4 个)

Reina Young
Reina Young 2020-5-27
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
Emre Komur 2021-4-10
编辑:Emre Komur 2021-4-10
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
Rick Rosson 2011-11-8
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 个评论
Rick Rosson
Rick Rosson 2011-11-9
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
Walter Roberson 2011-11-9
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
Temidayo Daniel 2022-10-18
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

类别

Help CenterFile Exchange 中查找有关 Equation Solving 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by