复件2物理学中常用的数值方法.pptxVIP

  • 2
  • 0
  • 约2.32千字
  • 约 33页
  • 2019-12-28 发布于上海
  • 举报
洛阳师范学院物理系;可严格求解;可严格求解; 例2: 单缝衍射问题 已知夫琅和费单缝衍射的光强分布为: 除了中央极大外,另外的光强极大的位置由下式得出: 化简可得: 只能用数值法求解;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;洛阳师范学院物理系;梯形法实际上是把每个子区间上的被积函数近似为线性函数; PROGRAM cha_3 dl=1.0E-06; a=1.0; b=2.0; dx=(b-a)/10.0 x0=(a+b)/2.0 CALL secant (dl, x0, dx, istep) WRITE(*,999) istep, x0, dx 999 FORMAT(I4,2F16.8) END SUBROUTINE secant(dl, x0, dx, istep) Istep=0 x1=x0+dx DO WHILE (ABS(dx).GT.dl) d=f(x1)-f(x0) x2=x1-f(x1)*(x1-x0)/d x0=x1 x1=x2 dx=x1-x0 istep=istep+1 END DO END FUNCTION f(x) f=exp(x)*alog(x)-x*x END ;注:Newton法的收敛性依赖于x0 的选取。; PROGRAM Newton dl=1.0E-06; a=1.0; b=2.0; dx=b-a x0=(a+b)/2.0 Istep=0 DO WHILE (ABS(dx).GT.dl) x1=x0-f(x0)/df(x0) dx=x1-x0 x0=x1 istep=istep+1 END DO WRITE(*,999) istep, x0, dx 999 FORMAT(I4,2F16.8) END FUNCTION f(x) f=exp(x)*alog(x)-x*x END FUNCTION df(x) df= exp(x)*(alog(x)+1.0/x)-2.0*x END ;是允许的误差;设 是f(x)=0的一个近似根,把f(x)在 处作泰勒展开 若取前两项来近似代替f(x)(称为f(x)的线性化),则得近似的线性方程 设 ,则其解为 当然这只是一个近似解,因为我们只取了级数展开的前两项。可以把该x作为新的近似根,记为x1,根据同样的过程可以找到更精确的近似解x2,一般有迭代公式: 只要f(xn)与零足够接近,便认为xn为函数方程的解;;MODULE numerical IMPLICIT none REAL,PARAMETER::zero=0.00001 CONTAINS REAL function bisect (a,b,func) IMPLICIT none REAL a,b ! 输入的猜值 REAL c ! 用来计算(a+b)/2 REAL fa ! 记录f(a) REAL fb ! 记录f(b) REAL fc ! 记录f(c) REAL , EXTERNAL:: func ! 所要求解的函数 c=(a+b)/2.0 ! 先求出c, f(c) 的值 Fc=func(c);DO WHILE(ABS(fc)zero) !f(c)小于zero时,就视f(c)=0,结

文档评论(0)

1亿VIP精品文档

相关文档