【发布时间】:2016-02-20 14:07:46
【问题描述】:
我正在尝试使用 python 绘制多项式z^3-1 的牛顿吸引力盆地。
我正在使用 Newton-Raphson 迭代方法来绘制图形。
有人可以建议我该怎么做吗?
更新 1
更新 2
这是 Newton-Raphson 循环的代码。代码中是否有错误导致运行缓慢?
def newtonraphson(z):
if z == 0:
return False
z1 = 0
z2 = z
tolerance = 1.0e-12
while True:
z1 = z2
z2 = z1 - function(z1)/derivative(z1)
if abs((z2 - z1).a) < tolerance:
break
return z2
【问题讨论】:
-
这个问题需要更多细节。你能展示你现有的代码吗?您认为人们可以帮助您解决某个特定问题吗?还是你不了解底层概念(这可能超出了 Stack Overflow 的范围)?
-
@Conor 我觉得我需要采样更多点。问题是,当我尝试采样更多点时,CPU 使用率达到 100%,我的计算机开始滞后,有时会挂起。在普通电脑上生成这样的图需要多长时间?
-
如果您至少添加了您使用的牛顿循环的代码,这将有所帮助。在这个分辨率下,几分钟的情节几乎是不可接受的,不再暗示编程错误。假设域在两个方向上都是 [-3..3],这是 60x60 点,具有 4-15 次牛顿循环迭代,或者步长 0.05 的 4 倍,这应该非常快。
-
你使用什么复数实现?在 'cmath' 我没有找到
z.a方法。 -
类似stackoverflow.com/q/12486828/3088138这个?如果
z.a代表绝对值,为什么要多出abs?牛顿循环看起来不错,运行时间的质量变化应该有其他原因,可能是用于记住计算点的数据结构。
标签: python newtons-method