计算方法实验一

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

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

1、1. 引言 问题重述问题一要求对方程f (x)二x3 - 2x-5二0,用二分法,至少找到一个根,并展示一下 信息:(a)近似根(b)初始猜测(区间)(c)迭代次数(d)停止准则(3)收敛速度 问题二要求用二分法求出以下两个方程的近似根:(a) f (x) = x5 一x一 1 = 0,(b) e2 x 5 x2 + 2 = 0.2. 数学公式 数值方法和参数定义二分法求根原理为:若f e Ca,b,严格单调,且f (a)gf (b) 0,则f在(a,b)上有 一实根。其基本思想为:逐步将区间分半,计算中点处的函数值,根据介值定理选择比原 区间缩小一半的有根区间,如此继续下去,直到得到满足精度

2、要求,从而求出满足给定精 度的根的近似值。针对问题一,本文根据方程,定义函数f(x)=a*x*x*x+b*x*x+c*x+d=0,其中a,b,c,d 为各项系数;精度eps = 1e-6 ; m,n分别为求根区间的左右端点,即收敛区间m,n ; i 为近似根;v为收敛速度,count为当前迭代次数。其中,count为单精度int类型,其余 均为双精度 double 类型。基于以上参数定义,设置收敛准则为:当根和函数值的精度小于所设置精度时,结 束循环,并输出收敛区间、迭代次数、近似根以及收敛速度。具体表现为:每进行一次 循环视近似根i的相对位置对收敛区间进行修正,同时对迭代次数+1;收敛速度可

3、通过 下式计算:x 一 xV n+4n .x 一 xnn 一1针对问题二(a)在问题一的基础上,更改方程f(x)=a*x*x*x+b*x*x+c*x+d=0的系数 以及相关项即可求得相应结果。对于(b)将方程改为:exp(2*x)-5*x*x+2 0。3. 数值实验 讨论和分析数值结果针对方程f (x) x3 - 2x-5 0,首先对其求导,判断单调性,再进行需略估算,发 现f (2)gf(3)0,于是设置初始收敛区间为2,3,进而通过二分法求得结果如图1。结 果为:迭代次数21次,近似跟x* 2.094551,收敛速度为0.5.针对方程f (x) x5 -x-1 0,通过人工求导,判断单调性

4、,粗略估算初始收敛区间 为1,2,同样,通过二分法求解,结果如图2。结果为:迭代次数21,近似跟x* 1.167304, 收敛速度为 0.5.针对方程e2x -5x2 + 2 0,通过求导,判断单调性,粗略估算初始收敛区间为-1,0,图1方程f (x)二x3 - 2x - 5二0的求解结果*+ : : : : : *+ : :+ +w师数数数数数数数数数数数 非我函函函函函函函函函南函近近近近+ : : : : : *+ + + :+ :艮tusi艮艮艮艮艮艮 K艮艮科科科科科申申科科科科 V卫好以以以攻以以以臥以以臥 环印血近近近近迪迫迫回回囲同样,通过二分法求解,结果如图2。结果为:迭代次

5、数17次,近似跟x* = -0.672398收敛速度为 0.5.区间为: 区间为: 区闻为: 区间为: 区间为: 述间为: 区间为: 区阿为:X 日 j_2.目X 日 +X 日/+ J2. +X H + 区间为; 区间为: 区间为: 区间为: 区间为: 区间为: 区间为: 区间为:第0次迭代 第1次迭代 第2次迭代 第3次迭代 第4次迭代 第5次迭代 第&次迭代 第了次迭代 第&次迭代 第9次迭代 第10次迭代 第11次迭代 12&迭代 第13次迭代 第14次迭代 第15次迭代 第次迭代 第口次迭代 第庙次迭代 第19次迭代 第20次迭代 收敛区间:L 167304, 迭代次数:21该方程纽的

6、近似根:炳-1 收敛速度:0. 5000001.1.1.1.1.1.1.1.11111111111000000, 000000, 000000, 125000, 125000, 156250, 156250, 164063, 164063, 166016s .1669921 .1669921 .167236, .167236, .167297, .167297, .167297, .1672973 .167301, .167303, .167303,2.0000001. 500000:1. 2500001. 250000 k 187500 k 187500 k 171875 k 1718751

7、.1679691+1679691+167969L 1674S01.1674801.1673581.1673581.1673281.1673131.1673051.1673051. 1673051.1673041. 167304.167304+ * : + V r r : : : : :艮艮艮艮艮艮艮艮艮艮艮 振隈隈履摭戕眼搬嵌鬼卅师州师熾曲婕熾曲 似似似似似似個個似似HHi 1ifififif右右右 丘丘丘丘丘斤一丘斤一 F-AiiiaV上上上鱼L L L L5-Ta ita II11i1. 5000001. 2500001. 1250001. 1875001.1562501.1718751.

8、1640631. 1679691. 1660161. 1669921. 1674801.1672361.1673581. 1672971. 1673281. 1673131. 1673051.1673011. 1673031. 1673041. 167304L-kJj 需*J13 IMajpLj Jjj j 育 rpj| Wr jfjg rpi 聲J jfjg矽彳首 科彳首 rn&科彳首 55矽彳自 lufci 3Errj 3 np| jmT j pa I*i|i 4k/i j pq lufci 3Errj 3直:5.0937500. 801758-0. 3229680. 173892-0.

9、0S96390.038197-0. 0266840. 005514-0. 010646 -0. 002581:0. 001462:-0. 000560:0. 000451 :-0.000055:0. 000198:0.000072:0.000008:-0. 000023:-0. 000007:0. 000001:-0.000003图2方程f (x)二x5 - x -1二0的求解结果第0次迭代 第1次迭代 第2次迭代 就次迭祀 第4次迭代 第5次迭代 第6次迭代 第了次迭代 第g次迭代 第9次迭代 第10次迭代 第11次迭代 第吃次迭代 第13次迭代 第14次迭代 第15次迭代 第16次迭代 第

10、1了次迭代区简为: 区间为; 当同为: Z向为: 对可总 区间为: 区间为: 区间为:区间为: 区间为; 区间为; 区间为; 盖间为: 区间为; 盖间为; 区间为; 程间为:-1. 000000, -L 000000,-0. 750000,- 7500001-0. 687500,-0, 687500,-0. 687500,-0, 679688,-0, 675781,-0, 673828,-0, 672852,-0. 672852,-0.672607,-0. 673485,-0. 672424,-0. 673424,-0.672409t0. 000000近似根! -0. 500000 函数值:1

11、. 117879 -0. 500000-0. 500000-0. 625000-0. 625000-0. 656250-0. 671875-0. 671875-0. 671875-0. 671875-0. 671875-0, 672363-0. 672363-0, 672363-0. 672363-0, 672394-0. 672394收敛区间,-0. 67240b 迭代次数:17 该方程组的近似根:x=0. 672398 收敛速度:0. 500000-0,67240b -0, 672394 -0. G72394-近似根;近似根;近似根; 近彳以根: 近似根; 近馭根: 近似根; 近徹 近他

12、近似棍 近似椒 近似根 近似椒 近似根 近似痕 近似根及根:-0, 750000-0. 625000-0, 687500-0. 656250-0, 671875-0. 679688-0,675781-0. 673828-0, 672852-0. 672363-0. 572607-0. 672485-0. 672424-0. 672394- 672409-0. 672401-0. 672398朗数值; 函数值:: 函数值.: 函数值:: 朗数值: 函数值:: 函数值; 函数值:: 函数值: 函数血 値;(a=0: 曲函数 函数4 函数彳 函数彳 函数彳 函数彳 函数彳-0. 5893700.33

13、3380-0.1104420. 1158260. 0037860. 053054-0. 0345660. 010373-0.0032900, 000249-0, 001520-0. 000635-0, 0001930, 000028-0, 000083-0. 0000270.000000图3方程e2x 5x2 + 2 = 0的求解结果4. 结论二分法算法简单,容易理解,且总是收敛的,收敛速度与方程无关,恒为0.5,速 度较慢,当精度为eps = 1e 6时,迭代次数基本在1525之间。然而,仅适用于单调函 数,当所求函数非单调时,须进行预估;此外,不能求复根、偶数重根等。5.程序#includ

14、e #include const double eps = 0.5*1e-6; /定义我们计算的精度double a,b,c,d;假定我们输入的函数是一元三次方程组,a*x*x*x+b*x*x+c*x+d=0 double f(double x) /定义我们的函数return a*x*x*x+b*x*x+c*x+d;int main()int count=0;double m,n,v=0.0; 求根区间m,ndouble i,j,sum;printf(请输入一元三次方程组的系数:a,b,c,d:); scanf(%lf%lf%lf%lf,&a,&b,&c,&d);printf(n请输入初始求根区间m,n:);scanf(%lf%lf,&m

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

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

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