二分法上机实验报告.doc
1中国矿业大学(北京)理学院数值分析实验报告实验名称 二分法求方程的近似解 实验时间 年 3 月 13 日组长签名 1110720011011107200101111072001021110720010311107200119组员签名班级 信息与计算科学 一班 学号11107200120成绩一、实验目的,内容 二、相关背景知识介绍 三、代码四、数值结果 五、计算结果的分析 六、计算中出现的问题,解决方法及体会一、实验目的,内容通过用二分法求一个具体的方程 , 精确到 的近似根,掌握二分法,会编写相关代码。02x1,502、相关背景知识介绍(1)算法原理或计算公式 二分法的基本思路是通过计算隔根区间的中点,逐步将隔根区间缩小,从而可得方程的近似根数列 。nx1*2kab(2)程序设计思路二分法原理不妨设方程 在隔根区间 上 .0xf ,ba0,bff1将区间 二分得中点 ,计算 在中点的函数值 ,若 ,则 就是方程的根;,ba2x2baf02baf 2bax否则,若 ,由于 在 内不变号,所以隔根区间变为 .同理,若 , 隔根区间变为 .将新区间记为2fxf , 0f 2,ba.1ba2将 重复上述步骤 1.得到一系列隔根区间1,kb,aa并有 ,且后一区间的长度都是前一区间长度的一半,所以 的长度为 ,区间 的长度趋向0f*kkxb kb,a ,2kabk kb,a于零,即这些区间最终收缩于一点 , 显然 就是方程 的根。x0xf三、代码(Matlab)cleara0;b1;eps10-5;k0;y a - 2-a;while absa-bepskk1xab/2if a-2-a02xbreakelseif y*x-pow2-x0bx;else ax;endendendxfx-pow2-xK四、数值结果k 1 2 3 4 5 6 7 8 9x 0.5000 0.7500 0.6250 0.6875 0.6563 0.6406 0.6484 0.6445 0.6426k 10 11 12 13 14 15 16 17x 0.6416 0.6411 0.6414 0.6412 0.6412 0.6412 0.6412 0.6412f -5.4870e-006k 17五、计算结果的分析这个方程运用二分法求得四位有效数字的解为 x0.6414。图一6、计算中出现的问题,解决方法及体会1.刚开始设计程序,出现死循环,无法得出结果,要经过不断调试。2.不熟悉 Matlab 的用法,导致解决问题效率下降,要学好相关基础知识。3.由图一可以看出二分在区间很大时,收敛接近根的速度很快,而当区间较小时,靠近要求精度根速度变得相当缓慢,计算量也很大,对满足高精度的要求比较困难。我们想象此法可以和别的后半段接近根较快的方法结合,先求出适用于别的方法的初值,应当会优化算法。3教 师 评 语指导教师 年 月 日