数值分析实验报告指导老师: 宛艳萍姓名: 班级: 学号: 实验三复化辛卜生法,龙贝格法 1. 实验名称: 复化辛卜生法,龙贝格法 2. 实验目的 1) 通过实际计算体会各种方法的精确度。 2) 会编写用复化辛卜生、龙贝格算法求定积分的程序。 3. 算法描述 1) 用复化辛卜生法计算积分 dxxI??? 10 2)1 /(1 算法:复化辛卜生公式为 S n =h/6????????)]()2/(4)([ 1 10 kkk nkxfhxfxf , 计算过程为: 1 .令,/)(nabh??),2/( 1hafs??;0 2?s 2 .对 1,,2,1??nk?计算),2/( 11h khafss????)( 22 khafss??? 3. ))(24)((6/ 21bfssafhs????。 2 )龙贝格算法计算 dxxI??? 10 2)1 /(1 5 6 e?? ?算法),)(( 10 2/12?????? nk knnnxfhTT;/)(nabh n?? nkhkx)2/1( 2/1???)(3/1 22nnnnTTTS???)_(15 /1 22nnnnSSSC??)(63 /1 R???用事后估计法控制精度 2 | 5e-6 n n R R ? ?。 4. 源程序: 1) /* 用复化辛卜生公式求积分*/ #include "" float fx(float x) { double f; f=/(+x*x); return f; } double fs(int n) { double a=,b=,h,s,s1,s2=0; int i; h=(b-a)/n; s1=fx(a+h/2); for(i=1;i<n;i++) { s1=s1+fx(a+i*h+h/2); s2=s2+fx(a+i*h); } s=(h/)*(fx(a)+fx(b)+4*s1+2*s2); return s;} void main() { printf(" 实验三复化辛卜生法计算机 112 耿向飞学号: 112434\n"); printf("s(2)=%lf\ns(4)=%lf\ns(8)= %lf",fs(2),fs(4),fs(8)); }2) /* 龙贝格法*/ #include "" #include "" #define E // 被积函数 f(x) double fx(double x) { double f; f=1/(1+x*x); return f; } // 梯形公式求 tn double tx(int n) { double s3=,h,t,b=,a=; int i; h=(b-a)/n; for(i=1;i<n;i++) s3=s3+fx(i*h); t=(h/2)*(fx(a)+fx(b)+2*s3); return t; } double s(int n) { double s; s=tx(2*n)+()*(tx(2*n)-tx(n) ); return s; } double c(int n) { double c; c=s(2*n)+()*(s(2*n)-s(n)) ; r
河北工业大学数值分析实验三实验四实验报告 来自淘豆网m.daumloan.com转载请标明出处.