数值积分之Simpson 3/8法则 |
您所在的位置:网站首页 › simpson公式的代数精度 › 数值积分之Simpson 3/8法则 |
//实现Simpson 3/8法则 #include #include using namespace std; class simpson2 { private: int n, k; double a, b, f, integral, interval, one_third_interval; double sum_term1, sum_term2, sum_term3, x; public: double func(double x) { f = (5.093e-5 * exp(2 * x)) / pow((1 + x * x), 2); return f; } void integration(); }; void main() { simpson2 simp2; simp2.integration(); } void simpson2::integration() { cout > b >> a; cout n; interval = (b - a) / n; one_third_interval = interval / 3.0; sum_term1 = 0.0; sum_term2 = 0.0; sum_term3 = 0.0; for (k = 1; k < n; k++) { x = a + k * interval; sum_term1 += func(x); sum_term2 += func(x + one_third_interval); sum_term3 += func(x + 2 * one_third_interval); } integral = (2 * sum_term1 + 3 * sum_term2 + 3 * sum_term3 - func(a) + func(b)) * (3 * one_third_interval / 8); cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |