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

📄 tixingongsi.txt

📁 梯形公式计算面积近似值:In=Tn=h/2(f(a)+f(b)) 变长梯形面积:T2n=Tn/2+h/2∑f(Xk+h/2) 辛普生面积:I2n=(4T2n-Tn)/3
💻 TXT
字号:
  这样也可以的:   
  double   integral(double   (*f)(double   x),double   start,double   end,int   n)   
  {   
    double   h,al,be,sum;   
    int   i,m;   
    
    if(n<=0||end-start<=0.0)   
    {   printf("Start   is   larger   than   end   ,   or   n<=0   in   integral!");   
        exit(1);   }   
    h=(end-start)/n;   
    al=start+h*0.4226497308;   
    be=start+h*1.577350269;   
    sum=(*f)(al)+(*f)(be);   
    m=n/2-1;   
    for(i=1;i<=m;i++)   
    {   
      al=al+2*h;   
      be=be+2*h;   
      sum=sum+(*f)(al)+(*f)(be);   
    
    }   
    sum=sum*sum;   
    return   sum;   
    
  }   
    
  函数名:integral   
    
  功能:梯形法求曲线积分   
    
  用法:double   _integral2(double   (*f)(double   x),double   start,double   end,int   div)   
    
  参数:f:函数名,start,end:左右区间,div:等分区间的数目   
    
  返回:积分值   
  include<iostream.h>   
  #include<iomanip.h>   
  #include<math.h>   
  double   f(double   x);   
  void   main()   
  {   
      int   n=1;   
      double   a=0,b=1;   
      double   h,Tn,T2n,In,I2n;   
      const   double   eps=1e-8;   
      h=b-a;   
      T2n=I2n=h*(f(a)+f(b))/2;   
      In=0;   
      while(fabs(I2n-In)>=eps)                         //求积分   
      {   
      Tn=T2n;   
      In=I2n;   
      double   sigma=0.0;   
      for(int   k=0;k<n;k++)   
      {   
      double   x=a+(k+0.5)*h;   
      sigma+=f(x);   
      }   
      T2n=(Tn+h*sigma)/2.0;                           //变步长梯形   
      I2n=(4*T2n-Tn);                                       //辛普生公式   
      n*=2;                                                           //划分   
      h/=2;   
      }   
      cout<<"the   intergral   of   f(x)   from"   
      <<a<<"to"<<b<<"is\n"   
      <<setiosflags(ios::fixed)   
      <<setprecision(8)   
      <<setw(10)<<I2n<<endl;   
  }   
  double   f(double   x)   
  {   
  return   exp(x)/(1+x*x);   
  }   
    
    
  梯形公式计算面积近似值:In=Tn=h/2(f(a)+f(b))   
  变长梯形面积:T2n=Tn/2+h/2∑f(Xk+h/2)   
  辛普生面积:I2n=(4T2n-Tn)/3

⌨️ 快捷键说明

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