云南大学数学与统计学实验教学中心实验报告课程名称:数值计算方法学期:2011—2012学年第一学期成绩:指导教师:学生姓名:学生学号:实验名称:牛顿-科茨公式计算积分实验编号:No.6实验日期:2011年12月20日实验学时:3学院:数学与统计学院专业:数学与应用数学年级:2010级一、实验目的练习使用牛顿-科茨公式计算积分。二、实验内容已知函数表:x1.82.02.22.42.6()fx3.120144.425696.042418.0301410.46675试用牛顿-科茨公式计算积分2.61.8()fxdx。三、实验环境C语言,Turboc四.实验方法N—C公式是在[,]ab上用拉格朗日插值多项式()nLx代替被积函数()fx,然后求其积分,即要求()bafxdx将区间[,]abn等分,并令,,0,1,,bahxiaihinn。以(0,1,,)xin为节点,对被积函数()fx建立n次拉格朗日插值多项式。0()()()nniiiLxlxfx。则()(),[,]nfxLxxab所以()()[()()]nbbbniiaaainfxdxLxdxlxfxdx0()()()()nnbbiiiiaaiiolxfxdxfxlxdx0()niiiAfx其中()biiaAlxdx,0(),0,1,,njijijjixxlxinxx,令()1()bniiaClxdxba,则()()niiAbaC由此可得()00()()()()nnbniiiiaiifxdxAfxbaCfx此公式称为牛顿—科茨求积分公式,(0,1,,)xin称为求积分的节点,iA称为求积分的系数,()niC称为Cotes系数。Cotes系数()(0,1,,)niCin的性质和计算()niC只与节点的个数n及节点的次序i有关有关,事实上令xath,则dxhdt。banh,()jxxtjh,()ijxxijh于是()01nbjniajijjixxCdxbaxx001nnjjitjdtnij几个常用的牛顿—科茨求积分公式当1n时1()[()()]()bafxdxfafbban1''()()()()2bafRxxaxbdx''()()()2bafxaxbdx3()''(),[,]12bafab当2n时()[()4()()]62bababafxdxfaffb5(4)2()()(),[,]2880baRxfab当4n时01234()[7()32()12()32()7()]90babafxdxfxfxfxfxfx,(0,1,2,3,4,)ixaihi五、实验过程1实验步骤(1)编程:根据所用算法及选用语言编出源程序(2).开机,打开所用语言系统输入所编源程序.(3).调试程序,修改错误直至能正确运行.(4).运行程序并输出计算结果.2关键代码及其解释a,b,c,d分别表示积分下限,积分上限,计算积分时用到的两个中间变量fx[]={3.12014,4.42569,6.04241,8.03014,10.46675}表示节点对应的函数值。3调试过程Inputaandb:1.82.6结果:5.0329六、实验总结1.遇到的问题及解决过程答:所设计的程序不能运行。2.产生的错误及原因分析答:一是做题还不够细心,仔细,逻辑不够强二是部分知识掌握不牢,不会运用,无法去解决问题。3.体会和收获。答:无论干什么事都要认真,踏实!努力做好自己该做的。上课要认真听讲,专心学习,做作业才省力!各门课程之间相互联系,应搞好各科的学习。七:程序源代码:#includestdio.h#includemath.hintmain(){doublea,b,c,d,I,fx[]={3.12014,4.42569,6.04241,8.03014,10.46675};printf(inputaandb:\n);scanf(%lf,%lf,&a,&b);c=7*fx[0]+32*fx[1]+12*fx[2]+32*fx[3]+7*fx[4];d=(b-a)/90;I=d*c;printf(%7.6f,I);}八.教师评语: