acllib
acllib
2021-01-16 07:20

用Python验证卡尔丹公式出错,怎么解决

  • python
  • 开发语言

代码如下:
 

import random

p = random.randint(1,10)
q = random.randint(1,10)

#p = 0
#q = 1

print("p = ", p)
print("q = ", q)

#dr为判别式
dr = (q/2)**2 + (p/3)**3
print("dr = ", dr)


u = (-q/2 + dr**0.5)**(1/3)
v = (-q/2 - dr**0.5)**(1/3)
print("u = ", u)
print("v = ", v)

x = u + v
print("x = ", x)

#zero用于判断所求x是否为 x**3 + p * x + q的根
zero = x**3 + p * x + q
print("zero = ", zero)

运行结果如下:

当p = 0,q = 1时效果还好,但是换其他数字时偏差就很大了

请问为什么会这样,如何解决?

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答

为你推荐