返回介绍

7.5 复习 Julia 集的例子

发布于 2024-01-25 21:44:08 字数 605 浏览 0 评论 0 收藏 0

回到第2章我们剖析了Julia集产生器。这个代码使用整数和复数来生成输出图片。图片的计算是CPU密集型的。在代码中主要的开销就是有个计算输出列表的内循环,这是CPU密集型的本质。这个列表能被当作方形的像素阵列来画出,其中每个值代表了产生那个像素的开销。

内循环的代码显示在例7-1中。

例7-1 复习Julia函数的CPU密集型代码

def calculate_z_serial_purepython(maxiter, zs, cs):
  """Calculate output list using Julia update rule"""
  output = [0] * len(zs)
  for i in range(len(zs)):
    n = 0
    z = zs[i]
    c = cs[i]
    while n < maxiter and abs(z) < 2:
      z = z * z + c
      n += 1
    output[i] = n
  return output

在Ian的笔记本电脑上,原始的Julia集在1000*1000的格子中计算并且maxiter= 300,使用运行在CPython2.7中的纯粹Python实现,计算大概接近于11秒。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文