当前位置: 首页 > news >正文

在Mathematica中实现Newton-Raphson迭代的收敛时间算法

对于给定的比较简单的三次多项式,可以使用FixedPoint直接给出不动点,进而在一定程度上回答Cayley问题。但是这里不能够给出收敛速度。作为类比,这里的收敛速度,类似于绘制Mandelbrot集合的逃逸时间,可以用来对图形进行染色。

收敛时间算法:对于给定的一个点,将计数以此点为初始点的迭代收敛速度,并将相应的计数划分为从0到255的三个等分区间中。

NewtonCounter = Compile[{{z, _Complex}},Module[{counter = 0, zold = N[z] + 1.0, znew = N[z]},If[Abs[znew] < 10^(-9), znew = 10^(-9) + 0.0*I, znew = znew];For[counter = 0,(Abs[zold - znew] > 10^(-6)) && (counter < 85), counter++,(zold = znew; znew = 2*zold/3 + 1/(3*zold^2))];Which[Abs[znew - 1] < 10^(-4), counter,Abs[znew + 0.5 - 0.866025 I] < 10^(-4), 85 + counter,Abs[znew + 0.5 + 0.866025 I] < 10^(-4), 170 + counter,True, 255]]];

使用函数NewtonCounter,对于平面中的某个区域,可以构造一个数表:

NewtonArray1[{{remin_, remax_}, {immin_, immax_}}, steps_] :=Table[NewtonCounter[x + y I],{y, immin, immax, (immax - immin)/steps},{x, remin, remax, (remax - remin)/steps}]

这样,就可使用ListDenstiyPlot函数进行绘图了:

region1 = NewtonArray1[{{-2, 2}, {-2, 2}}, 1000]; ListDensityPlot[region1]

相关文章:

  • 区块链架构深度解析:从 Genesis Block 到 Layer 2
  • Elasticsearch中的地理空间(Geo)数据类型介绍
  • 使用Virtual Serial Port Driver+com2tcp(tcp2com)进行两台电脑的串口通讯
  • 【运维实战】Rsync将一台主Web服务器上的文件和目录同步到另一台备份服务器!
  • ES海量数据更新及导入导出备份
  • 你工作中涉及的安全方面的测试有哪些怎么回答
  • 第6篇:中间件 SQL 重写与语义分析引擎实现原理
  • 瀚文(HelloWord)智能键盘项目深度剖析:从0到1的全流程解读
  • Ubuntu24.04 交叉编译 aarch64 ffmpeg
  • 旅游微信小程序制作指南
  • 高并发区块链系统实战:从架构设计到性能优化
  • 华为VanillaNet遇上BiFPN:YOLOv8的性能突破之旅
  • `<CLS>` 向量是 `logits` 计算的“原材料”,`logits` 是基于 `<CLS>` 向量的下游预测结果
  • Python爬虫:trafilatura 的详细使用(高效的网页正文提取工具)
  • stress 服务器压力测试的工具学习
  • MySQL范式和反范式
  • 深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
  • LeetCode 3370.仅含置位位的最小整数
  • 42、响应处理-【源码分析】-浏览器与PostMan内容协商完全适配
  • 面试题小结(真实面试)
  • 手机网站注册域名/优化网站界面的工具
  • 网站模版购买发布/销售新手怎么找客源
  • access是不是常用的网页制作工具/如何做网站推广优化
  • 宠物网站建设的目的/博客网站登录
  • 如何让自己做的网页有网站/快速网站
  • 如何做自己的视频网站/seo主要做什么