网站大量收购闲置独家精品文档,联系QQ:2885784924

数值分析三.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析三

《数值分析B》 计算实习 题目三 学号:ZY1207227 姓名:丁少行 2012-12-08 设计方案 对Fredholm积分方程,用迭代法进行求解: ,其中 对于公式中的积分部分用数值积分方法。 复化梯形积分法,取2601个节点,取迭代次数上限为50次。实际计算迭代次数为18次,最后算得误差为r= 0.97E-10。 复化Simpson积分法,取迭代次数上限为50次,取2*41+1,即83个节点时能满足精度要求。实际计算迭代次数为17次,最后的误差为 r= 0.97E-10。 Guass积分法选择的Gauss—Legendre法,取迭代次数上限为50次,直接选择8个节点,满足精度要求。实际计算迭代次数为24次,最后算得误差为r= 0.87E-10。 全部源程序 module integral implicit none contains !//////////复化梯形 subroutine trapezoid(m) implicit none integer :: i,j,k,m real*8 :: x(m+1),u(m+1) real*8 :: sum,sum1,g,r,h real*8 :: e=1.0e-10 h=2./m do i=1,m+1 x(i)=-1.+(i-1)*h end do u=0.02 do k=1,50 do i=1,m+1 sum1=0. g=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.) do j=2,m sum1=sum1+dexp(x(i)*x(j))*u(j) end do sum=h/2.*(dexp(x(i)*-1.)*u(1)+dexp(x(i)*1.)*u(m+1)+2*sum1) u(i)=g-sum end do r=h/2.*((dexp(x(1)*4)-u(1))**2+(dexp(x(m+1)*4)-u(m+1))**2) do i=2,m r=r+h*(dexp(x(i)*4)-u(i))**2 end do if(dabs(r)=e) exit end do write(*,*) k open(1,file=trapezoid.txt) do i=1,m+1 write(1,(3(f18.12))) x(i),u(i),dexp(x(i)*4.) end do write(1,(4x,a2,e9.2)) r=,r close(1) return end subroutine trapezoid !///////////复化simpson subroutine simpson(m) implicit none integer :: i,j,k,m real*8 :: x(2*m+1),u(2*m+1) real*8 :: sum,sum1,sum2,g,r,h real*8 :: e=1.0e-10 h=2./(2.*m) do i=1,2*m+1 x(i)=-1.+(i-1)*h end do u=0.02 do k=1,50 do i=1,2*m+1 sum1=0. sum2=0. g=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.) do j=1,m sum1=sum1+dexp(x(i)*x(2*j))*u(2*j) end do do j=1,m-1 sum2=sum2+dexp(x(i)*x(2*j+1))*u(2*j+1) end do sum=h/3.*(dexp(x(i)*-1.)*u(1)+dexp(x(i)*1.)*u(2*m+1)+4*sum1+2*sum2) u(i)=g-sum end do r=h/3.*((dexp(x(1)*4)-u(1))**2+(dexp(x(2*m+1)*4)-u(2*m+1))**2) do i=1,m r=r+4.*h/3.*(dexp(x(2*i)*4)-u(2*i))**2 end do do i=1,m-1 r=r+2.*h/3.*(dexp(x(2*i+1)*4)-u(2*i+1))**2 end do if(dabs(r)=e) exit end do write(*,*) k open(2,file=simpson.txt) do i=1,2*m+1

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档