C++求积分代码
2015-10-30 18:57
489 查看
基本上是靠定义来求的,而且代码也简明扼要,精度为1/1000;
如下:
#include"iostream"
#include"cstdlib"
#include"cmath"
#define N 1000
using namespace std;
double f(double x)
{
return x*x*x;
}
double intergrate(double(*fp)(double), double
a, double b)
{
fp = f;
int N = (b - a) * N;
double dx = (double)1/N;
double s = 0;
for (int i = 1; i <= N; i++)
{
s += f(a + dx)*dx;
a += dx;
}
return s;
}
int main()
{
cout << "f(x)=x^3" << endl;
cout << "f(x)在(0,1)的积分:" << intergrate(f, 0,
1);
system("pause");
return 0;
}
想要更改精度的话可以直接修改N的值
如下:
#include"iostream"
#include"cstdlib"
#include"cmath"
#define N 1000
using namespace std;
double f(double x)
{
return x*x*x;
}
double intergrate(double(*fp)(double), double
a, double b)
{
fp = f;
int N = (b - a) * N;
double dx = (double)1/N;
double s = 0;
for (int i = 1; i <= N; i++)
{
s += f(a + dx)*dx;
a += dx;
}
return s;
}
int main()
{
cout << "f(x)=x^3" << endl;
cout << "f(x)在(0,1)的积分:" << intergrate(f, 0,
1);
system("pause");
return 0;
}
想要更改精度的话可以直接修改N的值
相关文章推荐
- c++电话本程序
- c++任意数循环赛另一种递归实现方…
- C++中文乱码转为十六进制和转为正常中文
- c++11实现异步定时器
- c++函数模板的使用
- C++ CDialogEx 类的调用流程
- VC++绘图:windows图形环境
- 微软承诺将在今年的 Visual C++ 更新中加入 Clang 编译器
- C语言结构体的初始化
- c++ 时间与字符串转换
- C++primer学习:面向对象程序设计(5):再探文本查询程序
- 0012闰年计算的C++实现
- C/C++中的数学函数double pow( double x, double y )
- C++、C#、java算法学习日记04----二分插入排序
- 头文件互相包含问题
- C++中的定位放置new(placement new)
- C++中的定位放置new(placement new)
- 人事管理系统(C语言实现)
- Java入门-C++基础
- c++ 实现井字棋