How to find only positive root of a polynomial

16 vues (au cours des 30 derniers jours)
Atom
Atom le 16 Avr 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 commentaires
Matt J
Matt J le 16 Avr 2013
What do you mean by "without solving a polynomial equation"? A root is, by definition, the solution to such a problem.
Atom
Atom le 16 Avr 2013
Yes. you are right. Please ignore the words "without solving".

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 16 Avr 2013
Modifié(e) : Matt J le 16 Avr 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 commentaires
Atom
Atom le 16 Avr 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 le 16 Avr 2013
Modifié(e) : Matt J le 16 Avr 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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by