在本教程中,我们将讨论实现SImpson'规则的程序。
Simpson的⅜规则用于进行数值积分。此方法最常见的用例是执行定积分的数值逼近。
在此,图上的抛物线用于执行近似。
#include<iostream> using namespace std; //要集成的功能 float func_inte( float x){ return (1 / ( 1 + x * x )); } //计算近似值 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