c4.cpp
上传用户:zhdd911129
上传日期:2007-05-11
资源大小:722k
文件大小:1k
源码类别:

matlab例程

开发平台:

Matlab

  1. //C4.cpp
  2. //Composite Simpson Rule
  3. #include<iostream.h>
  4. double f(double x)
  5. {
  6. return 1/(1+x*x);
  7. }
  8. double ComSimp(double x0,double xn,int n)
  9. {
  10. double s1,s2,h;
  11. int i;
  12. h=(xn-x0)/n;s1=f(x0+h/2);s2=0;        //Initialization
  13. for (i=1;i<n;i++)
  14. {
  15. s1+=f(x0+i*h+h/2);
  16. s2+=f(x0+i*h);
  17. }
  18.     return h/6*(f(x0)+4*s1+2*s2+f(xn));
  19. }
  20. void main()
  21. {
  22. double x0=0,xn=1;
  23. int n=100;
  24. cout<<ComSimp(x0,xn,n)<<endl;
  25. }
  26. //The answer:0.785398,
  27. //与精度达e-15的精确值0.78539816339745已经相当接近
  28. //算法耗时短,Simpson的确是一种相当理想的的求积方法