震荡的瑕积分的数值算法wangtianyi.docVIP

  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文档。上传文档
查看更多
武汉大学数学与统计学院 数值分析实验报告 实验名称 对于震荡的瑕积分的数值算法的讨论 实验时间 2006年 12 27 日 姓名 王天怡 班级 数类一班 学号 200531000227 成绩 一、实验目的,内容 二、相关背景知识介绍 三、代码 四、数值结果 五、计算结果的分析 六、计算中出现的问题,解决方法及体会 一、实验目的,内容 通过对一个具体的震荡的函数在瑕点的积分(),讨论对于震荡的瑕积分的数值算法。 二、相关背景知识介绍 在瑕积分中,如果自变量在趋向瑕点时原函数值趋向于某个正常极限,在求积分时可以用补点的方法构造一个按段光滑的函数(可积),再对构造出的按段光滑的函数积分即可。如果自变量在趋向瑕点时原函数值趋向于某个反常极限,在求积分时可以用局部的方法构造改变积分区间使之变成一个正常的数值积分(对上一种情况也可以使用类似的处理手法)。但对于当自变量在趋向瑕点时原函数值震荡的瑕积分,则只对积分进行一些变化。其中比较有效的是:级数法,换元法和复积分。 Ⅰ级数法: 则: 然后可以近似: Ⅱ换元法 其余的部分和方法Ⅰ类似 注:方法Ⅰ的收敛速度比方法Ⅱ快,但方法Ⅱ的原函数振幅为1可以进行误差分析。 Ⅲ复积分 参考文献:Cleve B.Moler ,Numerical Computing with MATLAB F.Bornemann,D.Laurie,S.Wagon,and ,J.Waldogel,The SIAM 100-DigitChallenge 三、代码(Matlab) Ⅰ级数法 1.在积分的局部使用Simposon公式积分的代码: x1=2; x2=1; s=0; k=0; sq=0; while k1000 psq=sq; sq=0; x1=x2; k=k+1; w=(k-1/2)*pi; x2=lambertw(w)/w; c=x2; h=(x1-x2)/1000; for i=1:1000 sq=sq+(fun(c)+4*fun(c+h)+fun(c+2*h))*h/6; c=c+2*h; end s=s+sq; end st=s-sq^2/(sq-psq) 2.在积分中fun的代码 function y=fun(x); y=(cos(log(x)/x))/x; end 3.在积分的局部使用自适应积分的代码: x1=2; x2=1; s=0; k=0; sq=0; while k500 psq=sq; sq=0; x1=x2; k=k+1; w=(k-1/2)*pi; x2=lambertw(w)/w; sq=quadl(fun1,x2,x1,1.e-12); s=s+sq; end st=s-sq^2/(sq-psq) 4.在积分中fun1的代码 function y=fun1(x); y=(cos(log(x)./x))./x; end Ⅱ换元法 主程序: x1=2; x2=0; s=0; k=0; sq=0; pst=0; while k10000 psq=sq; sq=0; x1=x2; k=k+1; w=(k-1/2)*pi; x2=-lambertw(w); sq=quadl(fu,x2,x1,1.e-12); s=s+sq; if k==1 st=s; else st=s-sq^2/(sq-psq); end pst=st; if (x1-x2)1.e-11 k break; end end st 在积分中fu的代码: function y=fu(x) y=cos(x.*exp(-x)); end Ⅲ复积分 function y=func(t) z=t+i.*t.*(1-t); y=real(z.^(i./z-1).*(1+i*(1-2*t))); end 在求值时使用命令: quad(func,0,1,1.e-14) 四、数值结果 Ⅰ级数法 在积分的局部使用Simposon公式积分方法的结果: st = 0.41280001534037 2. 在积分的局部使用自适应积分方法的结果: st = 0.32336743114790 Ⅱ换元法 st = 0.323367431677

文档评论(0)

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

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

1亿VIP精品文档

相关文档