这个一元三次方程,sympy 给出的结果竟然带虚数,我还以为这个是这个方程本身有问题
前面的代码检查了好几遍,都没问题
后来我把这个方程放到网上解,直接解出来了。。。
太窒息了
这种情况如何解决呢?这么复杂的虚数结果,我也没法看出来是多少啊
1
ericls 2022-04-10 09:25:28 +08:00
|
2
movq OP @ericls 这样的结果是:[10*CRootOf(x**3 - 14*x**2 + 6*x + 192, 0), 10*CRootOf(x**3 - 14*x**2 + 6*x + 192, 1), 10*CRootOf(x**3 - 14*x**2 + 6*x + 192, 2)]
|
3
ericls 2022-04-10 09:38:33 +08:00 via iPhone
你 600 是不是少乘以了一个 x
|
4
movq OP @ericls
我一开始的第二个截图上面是少乘了一个 x ,后来加上去了,然后更新了截图 print(real_roots(x ** 3 - 140 * x ** 2 + 600*x + 19200)) [2*CRootOf(x**3 - 70*x**2 + 150*x + 2400, 0), 2*CRootOf(x**3 - 70*x**2 + 150*x + 2400, 1), 2*CRootOf(x**3 - 70*x**2 + 150*x + 2400, 2)] 这个有办法化简吗? 我现在找到的解决办法是,nsimplify(x1,tolerance=0.0000001)这样得到实根 |
5
ericls 2022-04-10 10:08:26 +08:00
polys.polytools.nroots
|
6
dontmind 2022-04-10 10:55:12 +08:00
|
7
Eureka0 2022-04-10 11:23:35 +08:00 1
|