⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 longbege621.java

📁 数值分析之计算方法与实验6:数值积分 by java
💻 JAVA
字号:
//龙贝格方法
import java.io.*;
class Longbege621{
   static double f(double x){
     return 1/(1+x*x);
   }  
   public static void main(String[]args)throws IOException{
  	 PrintWriter out = new PrintWriter(new FileWriter("result.txt"));
     double n[]=new double[100];
     double a,b,exp,sum=0.0;
     double eps=0.5*0.00001;
     double h[]=new double [100];
     double x[][]=new double [100][4];
     a=0.0;b=1.0;
     x[0][0]=(b-a)*(f(a)+f(b))/2;
     for(int k=0;k<=50;k++){
       n[k]=Math.pow(2,k-1);
       h[k]=(b-a)/Math.pow(2,k);
     }
     for(int k=1;k<=3;k++){       
       for(int j=0;j<n[k];j++)
          sum=sum+f((k+0.5)*(b-a)/n[k]);
          x[k][0]=0.5*x[0][0]+h[k]*sum;
          sum=0.0;
     }
     for(int k=1;k<=3;k++)x[k][1]=x[k][0]*4/3-x[k-1][0]/3;
     for(int k=2;k<=3;k++)x[k][2]=x[k][1]*16/15-x[k-1][1]/15;
     x[3][3]=x[3][2]*64/63-x[2][2]/63;
     for(int k=4;k!=0;k++){     	
       sum=0.0;
       for(int j=0;j<n[k];j++)sum=sum+f((k+0.5)*(b-a)/n[k]);
       x[k][0]=0.5*x[0][0]+h[k]*sum;
       x[k][1]=x[k][0]*4/3-x[k-1][0]/3;
       x[k][2]=x[k][1]*16/15-x[k-1][1]/15;
       x[k][3]=x[k][2]*64/63-x[k-1][2]/63;
       exp=Math.abs(x[k][3]-x[k-1][3])/255;    
       if(exp<eps){
       	   out.print("R["+(k-2)+"]");
       	   out.println(x[k][3]);     
           k=-1;
                   }                
      }
      out.close(); 
   }    
}      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -