C++ 程序实现辛普森 3/8 法则


在本教程中,我们将讨论一个程序,来实现辛普森的 ⅜ 法则。

辛普森的 ⅜ 法则用于进行数值积分。此方法最常见的用例是执行定积分的数值逼近。

在此方法中,图表上的抛物线用于执行逼近。

示例

#include<iostream>
using namespace std;
//function that is to be integrated
float func_inte( float x){
   return (1 / ( 1 + x * x ));
}
//calculating the approximations
float func_calculate(float lower_limit, float upper_limit, int
interval_limit ){
   float value;
   float interval_size = (upper_limit - lower_limit) / interval_limit;
   float sum = func_inte(lower_limit) + func_inte(upper_limit);
   for (int i = 1 ; i < interval_limit ; i++) {
      if (i % 3 == 0)
         sum = sum + 2 * func_inte(lower_limit + i * interval_size);
      else
         sum = sum + 3 * func_inte(lower_limit + i * interval_size);
   }
   return ( 3 * interval_size / 8 ) * sum ;
}
int main(){
   int interval_limit = 8;
   float lower_limit = 1;
   float upper_limit = 8;
   float integral_res = func_calculate(lower_limit,
   upper_limit, interval_limit);
   cout << integral_res << endl;
   return 0;
}

输出

0.663129

更新于: 2019 年 12 月 3 日

910 次浏览

开启你的 职业生涯

完成课程以获得认证

入门
广告