计算方法实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1计算方法实验指导姓名______________学号______________院系______________专业______________哈尔滨工业大学2计算方法实验指导根据实际问题建立的数学模型,一般不能求出所谓的解析解,必须针对数学模型的特点确定适当的计算方法,编制出计算机能够执行的计算程序,输入计算机,进行调试,完成运算,如果计算结果存在问题或不知是否正确,还需要重新确定新的计算方法,再编制出计算程序,输入计算机,重新调试,完成运算,直至获得正确的计算结果,这就是数值计算的全部过程。学生在学习“计算方法”和“高级语言”等课程时普遍存在的问题是:只会套用教科书中的标准程序进行数值计算,很少有人能够独立地将学过的数值算法编制成计算机程序,至于灵活应用已经掌握的算法求解综合性较大的课题,则更是困难的事情。编写《计算方法实验指导》的目的是:突出数值计算程序结构化的思想。提高学生的编程能力,加深对“计算方法”课程内容的理解和掌握,为”计算方法“课程的教学服务,进一步奠定从事数值计算工作的基础。具体地1.根据“计算方法”课程内容的特点,给出五个典型算法的分析流程,学生可以利用所掌握的“高级语言”顺利地编制出计算机程序,上机实习,完成实验环节的教学要求。2.所有的计算实习题目都经过任课教师逐一检验,准确无误。3.充分利用循环的思想、迭代的思想,给出算法结构描述和程序语言的对应关系,有利于学生编制相应的程序。4.结合实习题目,提出实验要求,要求学生按规范格式写出相应的实验报告,实验报告成绩记入期末总成绩。需要提醒学生:不能简单地套用现成的标准程序完成实验题目,应当把重点放在对算法的理解、程序的优化设计、上机调试和计算结果分析上,否则就失去实验课的目的啦。5.五个具体的实验题目是:实验题目1拉格朗日(Lagrange)插值实验题目2龙贝格(Romberg)积分法实验题目3四阶龙格—库塔(Runge—Kutta)方法实验题目4牛顿(Newton)迭代法实验题目5高斯(Gauss)列主元消去法要求必须完成其中三个(如果全部完成更好)。3实验题目1拉格朗日(Lagrange)插值方法概要:给定平面上1n个不同的数据点(,())kkxfx,0,1,,kn,ijxx,ij;则满足条件()()nkkPxfx,0,1,,kn的n次拉格朗日插值多项式0()()()nnkkkPxfxlx是存在唯一的。若[,],0,1,,kxabkn,且函数()fx充分光滑,则当[,]xab时,有误差估计式(1)01()()()()()()(1)!nnnffxPxxxxxxxn,[,]ab拉格朗日插值算法实验实验目的:利用拉格朗日插值多项式()nPx求()fx的近似值输入:1n个数据点(,())kkxfx,0,1,,kn;插值点x输出:()fx在插值点x的近似值()nPx程序流程:1置0.0y;0k2当kn时,做2.1—2.42.1置1.0l;2.2对0,1,,1,1,,jkkn,置()/()jkjllxxxx2.3置()kyylfx2.4置1kk3输出,xy4停机问题1拉格朗日插值多项式的次数n越大越好吗?4考虑下面两个拉格朗日插值问题:(1)设21()1fxx,[5,5]x,考虑等距节点的拉格朗日插值多项式()nPx,即将区间[5,5]进行n等分,记10.0hn,5.0kxkh,0,1,,kn,构造()nPx,利用拉格朗日插值多项式()nPx作为()fx的近似值。分别取5n,10n,20n,同时计算()nPx在0.75x,1.75x,2.75x,3.75x,4.75x处的函数值。(2)设()xfxe,[1,1]x,考虑等距节点的拉格朗日插值多项式()nPx,即将区间[1,1]进行n等分,记2.0hn,1.0kxkh,0,1,,kn,构造()nPx,利用拉格朗日插值多项式()nPx作为()fx的近似值。分别取5n,10n,20n,同时计算()nPx在0.95x,0.05x,0.05x,0.95x处的函数值。问题2插值区间越小越好吗?考虑下面两个拉格朗日插值问题:(1)设21()1fxx,[1,1]x,考虑等距节点的拉格朗日插值多项式()nPx,即将区间[1,1]进行n等分,记2.0hn,1.0kxkh,0,1,,kn,构造()nPx,利用拉格朗日插值多项式()nPx作为()fx的近似值。分别取5n,10n,20n,同时计算()nPx在0.95x,0.05x,0.05x,0.95x处的函数值。(2)设()xfxe,[5,5]x,考虑等距节点的拉格朗日插值多项式()nPx,即将区间[5,5]进行n等分,记2.0hn,1.0kxkh,0,1,,kn,构造()nPx,利用拉格朗日插值多项式()nPx作为()fx的近似值。分别取5n,10n,20n,同时计算()nPx在4.75x,0.25x,0.25x,4.75x处的函数值。5问题3在区间[1,1]考虑拉格朗日插值问题,为了使得插值误差较小,应如何选取插值节点?考虑下面两个拉格朗日插值问题:(1)设21()1fxx,[1,1]x,考虑非等距节点的拉格朗日插值多项式()nPx,记(21)cos2(1)kkxn,0,1,,kn,构造()nPx,利用拉格朗日插值多项式()nPx作为()fx的近似值。分别取5n,10n,20n,同时计算()nPx在0.95x,0.05x,0.05x,0.95x处的函数值。(2)设()xfxe,[1,1]x,考虑非等距节点的拉格朗日插值多项式()nPx,记(21)cos2(1)kkxn,0,1,,kn,构造()nPx,利用拉格朗日插值多项式()nPx作为()fx的近似值。分别取5n,10n,20n,同时计算()nPx在0.95x,0.05x,0.05x,0.95x处的函数值。问题4考虑拉格朗日插值问题,内插比外推更可靠吗?考虑下面两个拉格朗日插值问题:(1)设()fxx,关于以01x,14x,29x为节点的拉格朗日插值多项式2()Px,利用拉格朗日插值多项式2()Px作为()fx的近似值。同时计算2()Px在5x,50x,115x,185x处的函数值。(2)设()fxx,关于以036x,149x,264x为节点的拉格朗日插值多项式2()Px,利用拉格朗日插值多项式2()Px作为()fx的近似值。同时计算2()Px在5x,50x,115x,185x处的函数值。(3)设()fxx,关于以0100x,1121x,2144x为节点的拉格朗日插值多项式2()Px,利用拉格朗日插值多项式2()Px作为()fx的近似值。同时计算2()Px6在5x,50x,115x,185x处的函数值。(4)设()fxx,关于以0169x,1196x,2225x为节点的拉格朗日插值多项式2()Px,利用拉格朗日插值多项式2()Px作为()fx的近似值。同时计算2()Px在5x,50x,115x,185x处的函数值。思考题:1.对实验1存在的问题,应如何解决?2.对实验2存在的问题的回答,试加以说明3.对实验3存在的问题的回答,试加以说明4.如何理解插值问题中的内插和外推?写出实验报告7实验题目2龙贝格(Romberg)积分法方法概要:利用复化梯形求积公式、复化辛普生求积公式、复化柯特斯求积公式的误差估计式计算积分()bafxdx。记bahn,kxakh,0,1,,kn,其计算公式:111[()()]2nnkkkThfxfx21111()222nnnkkTThfxh21(4)3nnnSTT21(16)15nnnCSS21(64)63nnnRCC一般地,利用龙贝格算法计算积分,要输出所谓的T数表1214218421TTSTSCTSCR龙贝格(Romberg)积分法实验实验目的:利用龙贝格(Romberg)积分法计算积分()bafxdx输入:,,,abN输出:龙贝格T数表程序流程:1置bahn,1m11[()()]2Thfafb2输出1T3对2,3,,iN,做3.1—3,583.1置12iii置211111(())222iikTThfakh输出2T3.2置2211(4)3STT输出2S3.3对1m,置2211(16)15CSS输出2C,转3.63.4对2m,置2211(64)63RCC输出2R,转3.63.5对3m,置21tolRR如果tol,则停机,否则转3.63.6置12RR,12CC,12SS,12TT,2hh,1mm4停机问题1:利用龙贝格(Romberg)积分法计算积分(1)120exxdx,610(2)31esinxxdx,610(3)12041dxx,610(4)1011dxx,610问题2:被积函数无界,如何处理?(1)10sinxdxx,6109提示:0sin(0)lim1xxfx(2)10cos1xdxx,610提示:引进变换1tx(3)10cosxdxx,610提示:利用等式111000cos1cos1xxdxdxdxxxx,第一个积分值等于2,第二个积分,利用0cos1(0)lim0xxfx;也可以考虑利用分部积分1100cos2cos()xdxxdxx(4)121sin1xxdxx,610提示:利用第一类Gauss-Chebyshev求积公式问题3:积分区间无限,如何处理?(1)2e,xdx,610提示:利用21010exdx作近似(2)11(1)dxxx,610提示:利用变换1tx(3)23ecosxxdx,610提示:Gauss-Hermite求积公式(4)20esinxxdx,610提示:Gauss-Lagurre求积公式10思考题:1.输入的参数N有什么意义?2.在实验1中二分次数和精度的关系如何?3.在实验2中给出的提示具有普遍性吗?存在其它的方法吗?试加以说明。4.在实验3中给出的提示具有普遍性吗?存在其它的方法吗?试加以说明。写出实验报告11实验题目3四阶龙格—库塔(Runge—Kutta)方法方法概要:给定常微分方程初值问题d(,),d()yfxyaxbxbayahN记nxanh,0,1,,nN,利用四阶龙格—库塔方法112234311234(,)(,)22(,)22(,)1(22)6nnnnnnnnnnKhfxyKhKhfxyKhKhfxyKhfxhyKyyKKKK0,1,,1nN可逐次求出微分方程初值问题的数值解ny,1,2,,nN。四阶龙格—库塔(Runge—Kutta)方法实验实验目的:利用四阶龙格—库塔(Runge—Kutta)方法求解微分方程初值问题输入:,,,abN输出:初值问题的数值解,nnxy,0,1,2,,nN。程序流程:1置00,,baxayhN2对1,2,,nN,做2.1—2.42.1置100(,)Khfxy121200(,)22KhKhfxy2300(,)22KhKhfxy4003(,)KhfxhyK2.2置10xxh1012341(22)6yyKKKK2.3输出11,xy2.4置0101,xxyy3停机问题1(1)d,01,5,10,20d(0)1yxyxNxbayhN准确解1yx(2)2d,01,5,10,20d(0)1yyxNxba

1 / 41
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功