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

2 次查看(过去 30 天)
>> 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 个评论
Subham Shit
Subham Shit 2015-4-7
编辑:Subham Shit 2015-4-7
Using 'roots' I am getting 2 real solution but using 'solve' I am getting 1 real solution of same equation. How is that possible?

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2015-4-7
编辑:Matt J 2015-4-7
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.

更多回答(0 个)

类别

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

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by