牛顿迭代法实验.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
*/16 牛顿迭代法实验 实验预备知识 实验问题与实验原理 实验程序和实验结果 实验结论 ? ? ? ? 设 x*是方程 f(x)=0 的根, x0是x*的近似值.在 x0 附近,对函数做局部线性化 x0 x1 x* ? ? (n = 0, 1, 2, ·····) 牛顿迭代格式: [X,Y]=meshgrid(-2:.2:2,-2:.2:2); Z=X.*exp(-X.^2-Y.^2); pcolor(Z); shading interp pcolor:用于绘制伪彩色图 Shading inter 使图形更精细 给定初值 z0 , 产生牛顿迭代数列 z0, z1, z2,·········, zn, ······· Newton 迭代法实验 方程 z3 – 1 = 0 在复平面上有三个根 (n = 0, 1, ·····) ? 令 ? 考虑正方形区域 牛顿迭代法具有局部收敛性,如果 z0 使迭代收敛。问迭代数列将收敛于何处? 取定初值 实验将确定 初值 z0 产生的牛顿迭代数列收敛于三个根中哪一个。 选择区域中规则网格点 (x, y) 确定迭代初始值 z = x + i y 进行实验.将导致收敛的初值 z 分为三类,分别标以不同颜色(例如红、黄、蓝)。绘出牛顿迭代法对该方程的收敛域彩色图。 ——收敛到 z1 初值点集合 ——收敛到 z2 初值点集合 ——收敛到 z3 初值点集合 图1 牛顿迭代法收敛区域 在复平面内,使牛顿迭代不收敛的初值点集构成了茹利亚集(为纪念法国数学家Julia). 图2 牛顿迭代法不收敛区域 ——不收敛初值点集合 function p=newton0(z) if z==0,p=0;return;end for n=1:10 p=z-(z^3-1)/(3*z^2); if abs(p-z)0.00001,break;end z=p; end 牛顿迭代法子程序 function A0=Newtonlab(n) if nargin==0,n=101;end t=linspace(-2,2,n); [x,y]=meshgrid(t); X=roots([1,0,0,-1]); [A0,A1,A2,A3]=Nlab(x,y,X); A=A0+2*A1+3*A2+4*A3; figure(1),pcolor(x,y,A),shading interp figure(2),pcolor(x,y,A0), shading interp 实验绘图主程序 function [A0,A1,A2,A3]=Nlab(x,y,X); r1=X(1);r2=X(2);r3=X(3);Z=x+y*i;[M,N]=size(Z); A0=zeros(M,N);A1=A0;A2=A0;A3=A0; for k1=1:M for k2=1:N z=Z(k1,k2);p=newton0(z); %取初值调用牛顿迭代 if abs(p-r1)0.01, A1(k1,k2)=1; elseif abs(p-r2)0.01, A2(k1,k2)=1; elseif abs(p-r3)0.01, A3(k1,k2)=1; else A0(k1,k2)=1; %确定不收敛的初始点 end end end 调用牛顿迭代程序创建矩阵(照片) [m,n]=size(A0); N=m*n; II=find(A0==1);N0=length(II); II=find(A1==1);N1=length(II); II=find(A2==1);N2=length(II); II=find(A3==1);N3=length(II); format bank results=100*[N0,N1,N2,N3]/N 利用矩阵统计各区域百分比程序 function prop=Newtonlab2(n) if nargin==0,n=100;end P=rand(n,2); x=4*P(:,1)-2;y=4*P(:,2)-2; Z=x+i*y; A0=[];A1=[];A2=[];A3=[]; X=roots([1,0,0,-1]);r1=X(1);r2=X(2);r3=X(3); for k=1:n z=Z(k); p=newton0(z); if abs(p-r1)0.01,A1=[A1,1]; elseif abs(p-

文档评论(0)

yuguanyin2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档