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

在Mathematica中使用Newton-Raphson迭代绘制一个花脸

编写带有参数的Newton-Raphson迭代:

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]]];(*返回含参数数表:其每个值代表NR迭代次数*)  
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}]](*编写颜色函数*)                
SillyFaceColor[x_] :=If[EvenQ[Floor[255*x]], RGBColor[0, 0, 0],RGBColor[1, 1, 1]]SillyFaceColorB[x_] :=Which[x < 0.333, If[EvenQ[Floor[255*x]], RGBColor[0, 0, 0],RGBColor[tr[5 (3 x)], 0, 0]],0.334 < x < 0.666, If[EvenQ[Floor[255*x]], RGBColor[0, 0, 0],RGBColor[0, 0, tr[5 (3 x - 1)]]],0.667 < x < 1, If[OddQ[Floor[255*x]], RGBColor[0, 0, 0],RGBColor[0, 0, tr[5 (3 x - 2)]]],True, RGBColor[0, 0, 0]](*绘制函数*)
FaceNewtonPlot[{{remin_, remax_}, {immin_, immax_}}, data_, colorfn_] :=ListDensityPlot[Reverse[Transpose[data]],Mesh -> False, Frame -> False,PlotRange -> {1, 255}, AspectRatio -> Automatic,ColorFunction -> colorfn]
region = NewNewtonArray[0.5, {{-2.4, -1.85}, {-0.24, 0.24}}, 2000]; 
FaceNewtonPlot[{{-2.4, -1.85}, {-0.24, 0.24}}, region, SillyFaceColor]

FaceNewtonPlot[{{-2.4, -1.85}, {-0.24, 0.24}}, region, SillyFaceColorB]

http://www.dtcms.com/a/237162.html

相关文章:

  • 跳转指令四维全解:从【call/jmp 】的时空法则到内存迷宫导航术
  • 跳跃游戏 dp还是线段树优化
  • 在ubuntu等linux系统上申请https证书
  • OneNet + openssl + MTLL
  • GoC指令测试卷 A
  • 十一、【ESP32开发全栈指南: TCP通信服务端】
  • 零基础入门PCB设计 强化篇 第六章(实验——USB拓展坞PCB绘制)
  • Python爬虫-爬取各省份各年份高考分数线数据,进行数据分析
  • 物联网智慧医院建设方案(PPT)
  • 服务器新建用户无法使用conda
  • [HCTF 2018]admin 1
  • vue3单独封装表单校验函数
  • 基于算法竞赛的c++编程(21)cin,scanf性能差距和优化
  • 题海拾贝:P1091 [NOIP 2004 提高组] 合唱队形
  • 总结html标签之button标签
  • Global Security Markets 第 10 章衍生品知识点总结​
  • 欣佰特科技亮相2025张江具身智能开发者大会:呈现人形机器人全链条解决方案
  • code-server安装使用,并配置frp反射域名访问
  • 磁铁的磁极与方向有什么关系
  • 主流信创数据库对向量功能的支持对比
  • 【教学类-103-02】20250607立体纸盘(3边形-22边形,角度30、45……75、90)
  • Go语言进阶④:Go的数据结构和Java的有啥不一样
  • 力扣-17.电话号码的字母组合
  • LeetCode--24.两两交换链表中的结点
  • Java 常用 API 分类总结(算法竞赛考前速记篇)- 适用于算法竞赛(如 CCF CSP、蓝桥杯、NOI)
  • 音频剪辑软件少之又少好用
  • 13-Oracle 23ai Vector Search VECTOR数据类型和实操
  • 计算机组成原理:计算机发展历程
  • 东芝Toshiba e-STUDIO2110AC打印机信息
  • 基于IDA的bindiff使用