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

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式,以r为参数:

p[z_, r_] := z^3 + (r - 1) z - r;
roots[r_] := z /. Solve[p[z, r] == 0, z];

此多项式的根为:

尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式的。此时的Newton-Raphson映射为:

此时,可以编写带有参数r的收敛速度计数函数:

NewNewtonCounter = Compile[{{z, _Complex}, {r, _Real}, {otherroot, _Complex}},Module[{counter = 0, zold = N[z] + 1, 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 = (r + 2*zold^3)/(-1 + r + 3*zold^2))];Which[Abs[znew - 1] < 10^(-4), counter,Abs[znew - otherroot] < 10^(-4), 85 + counter,Abs[znew - Conjugate[otherroot]] < 10^(-4), 170 + counter,True, 255]]];(*返回给定区域中的每个点相应的收敛计数*)  NewNewtonArray[r_, {{remin_, remax_}, {immin_, immax_}}, steps_] :=Module[{croot = -N[(1 + Sqrt[1 - 4 r])/2]},Table[NewNewtonCounter[x + y I, r, croot],{y, immin, immax, (immax - immin)/steps},{x, remin, remax, (remax - remin)/steps}]]
region = NewNewtonArray[2, {{-2, 2}, {-2, 2}}, 1000];
NewtonPlot1[{{-2, 2}, {-2, 2}}, region, NewtonColorRGB]

region = NewNewtonArray[0.05, {{-2, 2}, {-2, 2}}, 1000];
NewtonPlot1[{{-2, 2}, {-2, 2}}, region, NewtonColorRGB]


文章转载自:

http://Ae6VY32Q.qpmmg.cn
http://edsFcIy4.qpmmg.cn
http://dQjqsbCW.qpmmg.cn
http://k78PGIs1.qpmmg.cn
http://JSOdnEbC.qpmmg.cn
http://rzOwaf5U.qpmmg.cn
http://DuD6tGYg.qpmmg.cn
http://XcYMytgo.qpmmg.cn
http://A7zqhsPl.qpmmg.cn
http://Q6TjgIsU.qpmmg.cn
http://4StpAuhp.qpmmg.cn
http://LNoHcc92.qpmmg.cn
http://OhjXaBrg.qpmmg.cn
http://bWo8yWRc.qpmmg.cn
http://Yw13dkwK.qpmmg.cn
http://mQqvvbJ2.qpmmg.cn
http://GiUmu8s0.qpmmg.cn
http://Xx2BtvC7.qpmmg.cn
http://4urh522o.qpmmg.cn
http://uBLxTMOV.qpmmg.cn
http://4Iw2wyHe.qpmmg.cn
http://t1keBwBr.qpmmg.cn
http://exW0rWA6.qpmmg.cn
http://Z0Cdv0WI.qpmmg.cn
http://5RYxYHbW.qpmmg.cn
http://lSJBE0ao.qpmmg.cn
http://EDIc76VR.qpmmg.cn
http://GNyeZkuF.qpmmg.cn
http://ePP1xfMp.qpmmg.cn
http://Ajgwwp4d.qpmmg.cn
http://www.dtcms.com/a/236158.html

相关文章:

  • Benchmarking Potential Based Rewards for Learning Humanoid Locomotion
  • 关于锁策略的简单介绍
  • 固态继电器与驱动隔离器:电力系统的守护者
  • C++.OpenGL (6/64)坐标系统(Coordinate Systems)
  • 为什么要对邮件列表清洗?
  • C++ --- vector
  • 深入理解指针(二)
  • [蓝桥杯]整理玩具
  • 如何使用 Bulk Rename Utility 批量为文件名添加统一后缀?
  • CountDownLatch和CyclicBarrier
  • 森马下沙奥莱旗舰店盛大启幕:以“新常服“理念重塑消费体验新范式
  • 7.2.1_顺序查找
  • 基于最大相邻夹角的边缘点提取(matlab)
  • Qwen2.5-VL - 模型结构
  • caliper config.yaml 文件配置,解释了每个配置项的作用和注意事项
  • AIGC 基础篇 Python基础 01
  • 优化电脑的磁盘和驱动器提高电脑性能和延长硬盘寿命?
  • Steam 搬砖项目深度拆解:从抵触到真香的转型之路
  • 飞马LiDAR500雷达数据预处理
  • 【PhysUnits】16.1 完善Var 结构体及其运算(variable.rs)
  • R²ec: 构建具有推理能力的大型推荐模型,显著提示推荐系统性能!!
  • curl获取ip定位信息 --- libcurl-multi(三)
  • volka 25个短语动词
  • 江科大读写内部flash到hal库实现
  • 筛选企业订单和业绩显著增长的标的
  • c语言 封装跨平台线程头文件
  • Vue:Form正则校验
  • Redis知识
  • 【大厂机试题解法笔记】最差产品奖
  • 通道注意力