C++求积分代码

来源:互联网 发布:单片机步进电机 编辑:程序博客网 时间:2024/05/17 05:51
基本上是靠定义来求的,而且代码也简明扼要,精度为1/1000;
如下:
  1. #include"iostream"
  2. #include"cstdlib"
  3. #include"cmath"
  4. #define N 1000
  5. using namespace std;

  6. double f(double x)
  7. {
  8. return x*x*x;
  9. }
  10. double  intergrate(double(*fp)(double), doublea, double b)
  11. {
  12. fp = f;
  13. int N = (b - a) * N;
  14. double dx = (double)1/N;
  15. double s = 0;
  16. for (int i = 1; i <= N; i++)
  17. {
  18. s += f(a + dx)*dx;
  19. a += dx;
  20. }
  21. return s;
  22. }

  23. int main()
  24. {
  25. cout << "f(x)=x^3" << endl;
  26. cout << "f(x)在(0,1)的积分:" << intergrate(f, 0,1);
  27. system("pause");
  28. return 0;
  29. }
想要更改精度的话可以直接修改N的值
0 0
原创粉丝点击