数值积分之Simpson 1/3法则
2013-08-08 18:40
302 查看
//实现Simpson 1/3法则
#include <iostream>
#include <math.h>
using namespace std;
class simpson
{
private:
int n, k;
double a, b, f, half_interval, integral, interval, sum_even_terms;
double sum_odd_terms, x;
public:
double func(double t)
{
f = 2e3 * log(1e5 / (1e5 - 2e3 * t)) - 10 * t;
return f;
}
void integration();
};
void main()
{
simpson simp;
simp.integration();
}
void simpson::integration()
{
cout << "\n输入上限和下限:";
cin >> b >> a;
cout << "\n输入你要使用simpson法则的数目(即等分数):";
cin >> n;
interval = (b - a) / n;
half_interval = interval / 2.0;
sum_even_terms = 0.0;
sum_odd_terms = 0.0;
for (k = 1; k < n; k++)
{
x = a + k * interval;
sum_even_terms += func(x);
sum_odd_terms += func(x + half_interval);
}
integral = (2.0 * sum_even_terms + 4.0 * sum_odd_terms - func(a) + func(b)) * half_interval / 3.0;
cout << endl << "积分值 = " << integral << endl;
}
#include <iostream>
#include <math.h>
using namespace std;
class simpson
{
private:
int n, k;
double a, b, f, half_interval, integral, interval, sum_even_terms;
double sum_odd_terms, x;
public:
double func(double t)
{
f = 2e3 * log(1e5 / (1e5 - 2e3 * t)) - 10 * t;
return f;
}
void integration();
};
void main()
{
simpson simp;
simp.integration();
}
void simpson::integration()
{
cout << "\n输入上限和下限:";
cin >> b >> a;
cout << "\n输入你要使用simpson法则的数目(即等分数):";
cin >> n;
interval = (b - a) / n;
half_interval = interval / 2.0;
sum_even_terms = 0.0;
sum_odd_terms = 0.0;
for (k = 1; k < n; k++)
{
x = a + k * interval;
sum_even_terms += func(x);
sum_odd_terms += func(x + half_interval);
}
integral = (2.0 * sum_even_terms + 4.0 * sum_odd_terms - func(a) + func(b)) * half_interval / 3.0;
cout << endl << "积分值 = " << integral << endl;
}
相关文章推荐
- 数值积分之Simpson 3/8法则
- 数值积分之Simpson公式与梯形公式
- python实现数值积分的Simpson方法实例分析
- python实现数值积分的Simpson方法实例分析
- KMP字符匹配算法+Romberg数值求积分+Simpson求积分
- 数值积分 (辛普森公式 辛普森自适应法则) UVA
- acdream:Andrew Stankevich Contest 3:Two Cylinders:数值积分
- HDU 1724 Ellipse 【自适应Simpson积分】
- 数值作业:龙贝格算法计算积分C语言实现
- Simpson 积分算法
- BZOJ 1502 [NOI2005]月下柠檬树 自适应Simpson积分
- hdu 1724 Ellipse(自适应Simpson积分) (模板)
- Aoj - 1313 Intersection of Two Prisms(数值积分)
- 数值积分-(自适应辛普森法)
- 数值积分之Newton_Cotes闭合积分公式
- bzoj 1502 月下柠檬树【Simpson积分】
- 洛谷.4525.[模板]自适应辛普森法1(Simpson积分)
- 2178: 圆的面积并 (Simpson积分)
- 数值分析实验二 数值积分
- 【数值分析】复化积分公式