#include #include #define N1 4 // The four-point Newton-Cotes formula //double w1[N1]={0.25,0.75,0.75,0.25}; //double x1[N1]={-1,-1.0/3,1.0/3,1}; // The four-point Gauss formula double x1[N1]={ -0.86113631159405257523,-0.33998104358485626480, 0.33998104358485626480, 0.86113631159405257523}; double w1[N1]={ 0.34785484513745385736, 0.65214515486254614264, 0.65214515486254614264, 0.34785484513745385736}; //double w1[N1]={0.25,0.75,0.75,0.25}; //double x1[N1]={-1,-1.0/3,1.0/3,1}; #define N2 5 // The five-point Newton-Cotes formula //double w2[N2]={7.0/45,32.0/45,4.0/15, // 32.0/45,7.0/45}; //double x2[N2]={-1,-0.5,0,0.5,1}; #define N2 5 // The five-point Gauss formula double w2[N2]={.23692688505618908753, .47862867049936646802, .56888888888888888891, .47862867049936646802, .23692688505618908753}; double x2[N2]={-.90617984593866399279, -.53846931010568309104, 0, .53846931010568309104, .90617984593866399279}; double g(double x){ // return 1/(1+x*x); // return sqrt(x); return sin(1/x); } double quad1(double a,double delta){ double s=0.0; for(int k=0;k