Different answers from 'roots' & 'solve' command?

2 Ansichten (letzte 30 Tage)
Subham Shit
Subham Shit am 7 Apr. 2015
Bearbeitet: Matt J am 7 Apr. 2015
>> R=roots([3 0 0 0 0 4 1])
R =
0.9017 + 0.6256i
0.9017 - 0.6256i
-0.2767 + 1.0147i
-0.2767 - 1.0147i
-1.0000 + 0.0000i
-0.2502 + 0.0000i
>> R(R == real(R))
ans =
-1.0000
-0.2502
>> solx = solve(3*x^6 + 4*x + 1==0, x)
solx =
-1
RootOf(z^5 - z^4 + z^3 - z^2 + z + 1/3, z)[1]
RootOf(z^5 - z^4 + z^3 - z^2 + z + 1/3, z)[2]
RootOf(z^5 - z^4 + z^3 - z^2 + z + 1/3, z)[3]
RootOf(z^5 - z^4 + z^3 - z^2 + z + 1/3, z)[4]
RootOf(z^5 - z^4 + z^3 - z^2 + z + 1/3, z)[5]
>> solx(solx == real(solx))
ans =
-1
>>
  1 Kommentar
Subham Shit
Subham Shit am 7 Apr. 2015
Bearbeitet: Subham Shit am 7 Apr. 2015
Using 'roots' I am getting 2 real solution but using 'solve' I am getting 1 real solution of same equation. How is that possible?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 7 Apr. 2015
Bearbeitet: Matt J am 7 Apr. 2015
SOLVE was not able to find a closed symbolic form for all the roots (because one doesn't exist for this polynomial). It therefore cannot assess whether the ones not in closed form are real.

Weitere Antworten (0)

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by