How to find only positive root of a polynomial

16 visualizaciones (últimos 30 días)
Atom
Atom el 16 de Abr. de 2013
How to find only positive root of a polynomial equation x^4+7*x^2-A=0 where A is varying from 1:.1:3. If rr is the positive real root, then find rr/(rr+1) for each case.
for A=1:.1:3
poly = [1 0 7 0 A];
R = roots(poly);
if isa(R,'complex') && (R<=0)
continue;
else
R/(R+1)
end
Please correct the code.
  2 comentarios
Matt J
Matt J el 16 de Abr. de 2013
What do you mean by "without solving a polynomial equation"? A root is, by definition, the solution to such a problem.
Atom
Atom el 16 de Abr. de 2013
Yes. you are right. Please ignore the words "without solving".

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 16 de Abr. de 2013
Editada: Matt J el 16 de Abr. de 2013
By the quadratic formula, the largest solution for x^2 is
x^2 = (-7+ sqrt(49+4*A))/2
For positive A, this will always be positive. You can then get a positive root for x by doing
x = sqrt( (-7+ sqrt(49+4*A))/2 )
I don't know if this satisfies your requirement "without solving a polynomial equation". It doesn't seem possible that you meant this literally (see my comment above).
  2 comentarios
Atom
Atom el 16 de Abr. de 2013
Please ignore the words "without solving". Please modify the above code so that I can use it for general one.
Matt J
Matt J el 16 de Abr. de 2013
Editada: Matt J el 16 de Abr. de 2013
for A=1:.1:3
b=poly(3);
a=poly(1);
R = sqrt( (-b+ sqrt(b^2+4*A*a))/2/a );
R/(R+1)
end

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by