科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道使用simpson规则 完成积分运算

使用simpson规则 完成积分运算

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  构造函数中x_high为积分的上界,x_low为积分的下界,segment为分割的区间数(例如10),error为你需要结果的精度(如果你要求结果精确到小数点后四位,则error=0.0001),function为要积分的函数。

作者:中国IT实验室 来源:中国IT实验室 2007年9月25日

关键字: 编程 java

  • 评论
  • 分享微博
  • 分享邮件

  构造函数中x_high为积分的上界,x_low为积分的下界,segment为分割的区间数(例如10),error为你需要结果的精度(如果你要求结果精确到小数点后四位,则error=0.0001),function为要积分的函数。
  
  class Integrate
  {
  
  private double result=0.0;
  private double oldresult=0.0;
  
  void operate(double x_high,double x_low,int segment,double error,Functions function)
  {
  int j=-1;
  do
  {
  oldresult=result;
  j++;
  int multi=1;
  int k=0;
  while(k<j)
  {
  multi=multi*2;
  k++;
  }
  
  double w=(x_high-x_low)/(double)(segment*multi);
  double sum=0.0;
  
  for(int i=1;(x_low+i*w)<x_high;i++)
  {
  if(i%2==1)
  sum=sum+4*function.operate(x_low+i*w);
  if(i%2==0)
  sum=sum+2*function.operate(x_low+i*w);
  }
  
  result=(w/3)*(function.operate(x_low)+sum+function.operate(x_high));
  
  }while(Math.abs(result-oldresult)>error);
  
  }
  
  double getResult()
  {
  return result;
  }
  }

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件