北航数值分析第三次作业_图文_第1页
北航数值分析第三次作业_图文_第2页
北航数值分析第三次作业_图文_第3页
北航数值分析第三次作业_图文_第4页
北航数值分析第三次作业_图文_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数值分析第三次作业1. 算法的设计方案对Fredholm 积分方程,用迭代法进行求解:u (x ' =A (u (x ,其中A (u (x =g (x -K (x , y u (y dy-11对于公式中的积分部分用数值积分方法。复化梯形积分法,取2601个节点,取迭代次数上限为50次。实际计算迭代次数为18次,最后算得误差为r= 0.97E-10。复化Simpson 积分法,取迭代次数上限为50次,取2*41+1,即83个节点时能满足精度要求。实际计算迭代次数为17次,最后的误差为 r= 0.97E-10。Guass 积分法选择的Gauss Legendre 法,取迭代次数上限为50次

2、,直接选择8个节点,满足精度要求。实际计算迭代次数为24次,最后算得误差为r= 0.87E-10。2. 全部源程序 module integral implicit none contains!/复化梯形 subroutine trapezoid(m implicit none integer : i,j,k,mreal*8 : x(m+1,u(m+1 real*8 : sum,sum1,g,r,h real*8 : e=1.0e-10h=2./m do i=1,m+1x(i=-1.+(i-1*h end dou=0.02 do k=1,50 do i=1,m+1 sum1=0.g=dexp(

3、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 dor=h/2.*(dexp(x(1*4-u(1*2+(dexp(x(m+1*4-u(m+1*2 do i=2,mr=r+h*(dexp(x(i*4-u(i*2 end doif(dabs(r<=e exit end dowrite(*,* kopen(1,file="trapezo

4、id.txt" do i=1,m+1write(1,'(3(f18.12' x(i,u(i,dexp(x(i*4. end dowrite(1,'(4x,a2,e9.2' "r=",r close(1returnend subroutine trapezoid!/复化simpson subroutine simpson(m implicit none integer : i,j,k,mreal*8 : x(2*m+1,u(2*m+1 real*8 : sum,sum1,sum2,g,r,h real*8 : e=1.0e-10h=2

5、./(2.*m do i=1,2*m+1 x(i=-1.+(i-1*h end dou=0.02 do k=1,50do 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,msum1=sum1+dexp(x(i*x(2*j*u(2*j end do do j=1,m-1sum2=sum2+dexp(x(i*x(2*j+1*u(2*j+1sum=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 d

6、or=h/3.*(dexp(x(1*4-u(1*2+(dexp(x(2*m+1*4-u(2*m+1*2 do i=1,mr=r+4.*h/3.*(dexp(x(2*i*4-u(2*i*2 end do do i=1,m-1r=r+2.*h/3.*(dexp(x(2*i+1*4-u(2*i+1*2 end doif(dabs(r<=e exit end dowrite(*,* kopen(2,file="simpson.txt" do i=1,2*m+1write(2,'(3(f18.12' x(i,u(i,dexp(x(i*4. end dowrite

7、(2,'(4x,a2,e9.2' "r=",r close(2returnend subroutine simpson!/Gauss_Legendre法 subroutine Gauss implicit noneinteger,parameter : m=8 integer : i,j,kreal*8 : x(m,u(m,a(m real*8 : sum,g,r real*8 : e=1.0e-10data x /-0.9602898565,-0.7966664774,-0.5255324099,-0.1834346425,& 0.18343464

8、25,0.5255324099,0.7966664774,0.9602898565/data a /0.1012285363,0.2223810345,0.3137066459,0.3626837834,& 0.3626837834,0.3137066459,0.2223810345,0.1012285363/u=0.02 do k=1,50 do i=1,mg=dexp(x(i*4.+(dexp(x(i+4.-dexp(-4.-x(i/(x(i+4. do j=1,msum=sum+dexp(x(i*x(j*u(j*a(j end do u(i=g-sum end do r=0.do

9、 i=1,mr=r+a(i*(dexp(x(i*4-u(i*2 end doif(dabs(r<=e exit end dowrite(*,* kopen(3,file="Gauss.txt" do i=1,mwrite(3,'(3(f18.12' x(i,u(i,dexp(x(i*4. end dowrite(3,'(4x,a2,e9.2' "r=",r close(3returnend subroutine Gaussend module!/主程序 program main use integral implicit noneinteger : code1=2600 integer : code2=41call trapezoid(code1 call simpson(code2 call Gaussend program3. 各种积分方法的节点和数值解(由于数据太多,在打印时用了较计算时少的有效数字)复化梯形法 复化Simpson 法 4. 各方法所得曲线 (由于所取节点太多,且精度高,所以图中很难看出各曲线的区别。 ) 5. 不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论