How to find only positive root of a polynomial

16 Ansichten (letzte 30 Tage)
Atom
Atom am 16 Apr. 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 Kommentare
Matt J
Matt J am 16 Apr. 2013
What do you mean by "without solving a polynomial equation"? A root is, by definition, the solution to such a problem.
Atom
Atom am 16 Apr. 2013
Yes. you are right. Please ignore the words "without solving".

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 16 Apr. 2013
Bearbeitet: Matt J am 16 Apr. 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 Kommentare
Atom
Atom am 16 Apr. 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 am 16 Apr. 2013
Bearbeitet: Matt J am 16 Apr. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Operating on Diagonal Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by