资源描述:
《北航数值分析大作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值分析第三次作业1.设计方案对Fredholm积分方程,用迭代法进行求解:,其中对于公式中的积分部分用数值积分方法。复化梯形积分法,取2601个节点,取迭代次数上限为50次。实际计算迭代次数为18次,最后算得误差为r=0.97E-10。复化Simpson积分法,取迭代次数上限为50次,取2*41+1,即83个节点时能满足精度要求。实际计算迭代次数为17次,最后的误差为r=0.97E-10。Guass积分法选择的Gauss—Legendre法,取迭代次数上限为50次,直接选择8个节点,满足精度要求。实际计算迭代
2、次数为24次,最后算得误差为r=0.87E-10。2.全部源程序moduleintegralimplicitnonecontains!//////////复化梯形subroutinetrapezoid(m)implicitnoneinteger::i,j,k,mreal*8::x(m+1),u(m+1)real*8::sum,sum1,g,r,hreal*8::e=1.0e-10h=2./mdoi=1,m+1x(i)=-1.+(i-1)*henddou=0.02dok=1,50doi=1,m+1sum1=0.g
3、=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.)doj=2,msum1=sum1+dexp(x(i)*x(j))*u(j)enddosum=h/2.*(dexp(x(i)*-1.)*u(1)+dexp(x(i)*1.)*u(m+1)+2*sum1)u(i)=g-sumenddor=h/2.*((dexp(x(1)*4)-u(1))**2+(dexp(x(m+1)*4)-u(m+1))**2)doi=2,mr=r+h*(dexp(x(i)*4)-u(i
4、))**2enddoif(dabs(r)<=e)exitenddowrite(*,*)kopen(1,file="trapezoid.txt")doi=1,m+1write(1,'(3(f18.12))')x(i),u(i),dexp(x(i)*4.)enddowrite(1,'(4x,a2,e9.2)')"r=",rclose(1)returnendsubroutinetrapezoid!///////////复化simpsonsubroutinesimpson(m)implicitnoneinteger::
5、i,j,k,mreal*8::x(2*m+1),u(2*m+1)real*8::sum,sum1,sum2,g,r,hreal*8::e=1.0e-10h=2./(2.*m)doi=1,2*m+1x(i)=-1.+(i-1)*henddou=0.02dok=1,50doi=1,2*m+1sum1=0.sum2=0.g=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.)doj=1,msum1=sum1+dexp(x(i)*x(2*j))*u(2*j)end
6、dodoj=1,m-1sum2=sum2+dexp(x(i)*x(2*j+1))*u(2*j+1)enddosum=h/3.*(dexp(x(i)*-1.)*u(1)+dexp(x(i)*1.)*u(2*m+1)+4*sum1+2*sum2)u(i)=g-sumenddor=h/3.*((dexp(x(1)*4)-u(1))**2+(dexp(x(2*m+1)*4)-u(2*m+1))**2)doi=1,mr=r+4.*h/3.*(dexp(x(2*i)*4)-u(2*i))**2enddodoi=1,m-1r
7、=r+2.*h/3.*(dexp(x(2*i+1)*4)-u(2*i+1))**2enddoif(dabs(r)<=e)exitenddowrite(*,*)kopen(2,file="simpson.txt")doi=1,2*m+1write(2,'(3(f18.12))')x(i),u(i),dexp(x(i)*4.)enddowrite(2,'(4x,a2,e9.2)')"r=",rclose(2)returnendsubroutinesimpson!///////////Gauss_Legendre法s
8、ubroutineGaussimplicitnoneinteger,parameter::m=8integer::i,j,kreal*8::x(m),u(m),a(m)real*8::sum,g,rreal*8::e=1.0e-10datax/-0.9602898565,-0.7966664774,-0.5255324099,-0.1834346425,&0.1834346425,0.