计算方法二分法实验

上传人:re****.1 文档编号:460202821 上传时间:2023-03-25 格式:DOCX 页数:3 大小:46KB
返回 下载 相关 举报
计算方法二分法实验_第1页
第1页 / 共3页
计算方法二分法实验_第2页
第2页 / 共3页
计算方法二分法实验_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《计算方法二分法实验》由会员分享,可在线阅读,更多相关《计算方法二分法实验(3页珍藏版)》请在金锄头文库上搜索。

1、计算方法上机实验报告土木 0804 上机题目;利用二分法求下列方程在【5.5-6.5】的根 实验目的:本实验通过二分法对方程求解,通过观察方程 x1, x2 随二分次数增加而起的变化,以及通过改变方程中七次项系 数微小变化对方程求解的影响,加深对二分法求解方程的理解 并锻炼 C 语言编程能力。实验分析:二分法求解采用的是根的存在定理(零点定理):f(x)为a,b上的连续函数,若f(a) f(b) 0,则a,b中 至少有一个实根。如果f(x)在a,b上还是单调递增或递减取a,b的中点x=(a +b)/2作为问题的近似解,那么我们 可以估计出绝对误差限仅为区间长的一半,即 e=(b-a)/2。 如

2、果这个结果能满足精度要求,我们就停止进一步的计算; 如果不能,就求出f(x),结果只能是下面三种情况之一:(1 ) f(a) f(x)0,此时我们有 x*wa,x;(2) f(x)f(b)O,此时我们有 x*Gx,b;(3) f(x)=0,此时x即为问题的精确解。在前两种情况下,我们可以用x分别替换原问题中的b 或 a, 从而把求解的区间减小了一半。这样我们又可以取新区间a,b的中点。经过N次迭代后,剩下的区间长为(b- a)/2 N 。这也是结果的绝对误差限。如此继续下去 就达到是有根区间逐步缩小的目的,在这一些相互包含的 子区间中构造收敛的数列Xk 来逼近根x *。实验过程:1;C语言程序

3、# include # include # include # define PRECISION 1e12 double f(double c)double m,x,m1,m2,m3;x=c;m1=x*x;m2=m1*x; m3=m1*m1; m=m3*m3-36*m3*m2+546*m2*m3-4536*m3*x+22449*m3-67284*m2+118124*m1-109584*x+40320;return(m);double Root(float a,float b) int i;i=0;double x1,x2;x1=a;x2=b;do printf (n i=%d,x1=%f,x2

4、=%f ,i,x1,x2); if(f(x1)*f(x1+x2)/2)0) x2=(x1+x2)/2;elsex1=(x1+x2)/2;i+;while (i=100);return (x1);void main()float x1,x2,r;printf (n input x1,x2: n ) ;scanf (%f %f,&x1,&x2);r=Root(x1,x2);printf (n Root x=%f,r);2结果分析当 a7=-36 是,迭代到 i=21 时,出现 x1=x2=6.500000 ,不再发 生变化,出现精确解x=root二x1=6.500000,收敛速度在数列xn 越靠近

5、根时越慢。当a7=-36.001时,与a7=-36时根的变化相同,迭代到i=21时, 出 现 x1=x2=6.500000 , 不 再 发 生 变 化 , 出 现 精 确 解 x=root=x1=6.500000,收敛速度在数列xn越靠近根时越慢。由 于整个方程中a(n)有随x的减小而增大,且增大越来越明显,因 而虽然a7中n=7但变化只有0.001,对整个函数f(x)而言,影 响较小。该方程在求5.56.5间解时,为非病态。实验总结:I:在通晓理论的基础上,才能进行计算机编程实际操作,数学 的精髓在于对数学思想的理解;II :编程过程中对变量性质的定义,对求解有很大的影响 ,如 double or float 定义实数;III :对具体问题的分析,需要耐心,需要参考一定资料,并不断的尝试不同的路径。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号