MATLAB计算方法迭代法牛顿法二分法实验报告材料

上传人:M****1 文档编号:469538851 上传时间:2023-07-12 格式:DOC 页数:11 大小:73.50KB
返回 下载 相关 举报
MATLAB计算方法迭代法牛顿法二分法实验报告材料_第1页
第1页 / 共11页
MATLAB计算方法迭代法牛顿法二分法实验报告材料_第2页
第2页 / 共11页
MATLAB计算方法迭代法牛顿法二分法实验报告材料_第3页
第3页 / 共11页
MATLAB计算方法迭代法牛顿法二分法实验报告材料_第4页
第4页 / 共11页
MATLAB计算方法迭代法牛顿法二分法实验报告材料_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《MATLAB计算方法迭代法牛顿法二分法实验报告材料》由会员分享,可在线阅读,更多相关《MATLAB计算方法迭代法牛顿法二分法实验报告材料(11页珍藏版)》请在金锄头文库上搜索。

1、 实验报告成绩评语:指导教师(签名)说明:指导教师评分后,实验报告交院(系)办公室保存实验一方程求根一、实验目的用各种方法求任意实函数方程f(x)0在自变量区间a,b上,或某一 点附近的实根。并比较方法的优劣。二、实验原理(1) 、二分法b ax 对方程f(x)0在a,b求根。将所给区间二分,在分点 2判断b ax 是否f(x)0 ;若是,则有根 2。否则,继续判断是否f(a)?f(x) 0,若是,则令b x,否则令a x。否则令a x。重复此过程直至求出方程 f(x) 0在a,b中的近似根为止。(2) 、迭代法将方程f(x) 0等价变换为x = ( X )形式,并建立相应的迭代公式xk 1

2、J x )。(3) 、牛顿法若已知方程的一个近似根X。,则函数在点X。附近可用一阶泰勒多项式pi(x) f(X0) f(X0)(X X0)来近似,因此方程f(x) 0可近似表示为 f(X0)f(X0) f(X0)(X X)0 设 f(X0) 0,则 x X0 f(X0)。取 x 作为原方程新的近f (Xk)似根X1,然后将X1作为X0代入上式。迭代公式为:Xk 1 X0 f(Xk)。三、实验设备:MATLAB 7.0软件四、结果预测(1) 心=0.09033(2) x5=o.o9O52(3) x2=0,09052五、实验容(1)、在区间0,1上用二分法求方程ex 10x 2 0的近似根,要求误

3、差不超过0.5 10 3(2)、取初值xo 0,用迭代公式Xk1f (Xk)f(Xk),求方程 ex 10x 2 0 的近似根。要求误差不超过0.5 10(3)、取初值x。0,用牛顿迭代法求方程ex 10x 20的近似根。要求误差不超过0.5 10六、实验步骤与实验程序(1)二分法第一步:在MATLAB 7.0软件,建立一个实现二分法的MATLAB函数文件 agui_bisect.m 女口下:fun cti on x=agui_bisect(fname,a,b,e)%fname为函数名,a,b为区间端点,e为精度fa=feval(fname,a); %把a端点代入函数,求fafb=feval(

4、fname,b); %把b端点代入函数,求fbif fa*fb0 error(两端函数值为同号);end%如果fa*fb0,则输出两端函数值为同号 k=0 x=(a+b)/2while(b-a)(2*e) %循环条件的限制fx二feval(fname,x);%把x代入代入函数,求fxif fa*fxfu n=inlin e(exp(x)+10*x-2) x=agui_bisect(fu 门,0,1,0.5*10八-3)第三步:得到计算结果,且计算结果为kx00.00010.00020.00030.00040.00050.00060.00070.00080.00090.000100.000110

5、.000(2) 迭代法第一步 :第一步:在 MATLAB7.0 软件,建立一个实现迭代法的 MATLAB 函数文件 agui_main.m 如下:function x=agui_main(fname,x0,e)%fname为函数名dfname的函数fname的导数,x0为迭代初值%点为精度,N为最大迭代次数(默认为100)N=100;x=x0; %把x0赋给x,再算x+2*e赋给x0x0=x+2*e;k=0;while abs(x0-x)e&kfu n=inlin e(exp(x)+10*x-2) x=agui_ma in(fun, 0,1,0.5*10八-3)第三步:得出计算结果,且计算结果

6、为kx10.00020.24430.95840.43750.437以下是结果的屏幕截图(3)牛顿迭代法第一步 :第一步:在 MATLAB 7.0软件,建立一个实现牛顿迭代法的MATLAB函数文件二agui_newton.m 如下:function x=agui_newton(fname,dfname,x0,e)%fname为函数名dfname的函数fname的导数,x0为迭代初值%点为精度,N为最大迭代次数(默认为100)N=100;x=x0; %把x0赋给x,再算x+2*e赋给x0x0=x+2*e;k=0;while abs(xO-x)e&kfu n=inlin e(exp(x)+10*x-

7、2) dfun=i nlin e(exp(x)+10) x=agui_newto n(fun ,dfu 门,0,0.5*10八-3)第三步:得出结果,且结果为kx10.90920.33930.339以下是结果的屏幕截图七、 实验结果(1) x11 =0.09033 (2) x5=0.09052 (3) x2 =0,09052八、 实验分析与结论 由上面的对二分法、迭代法、牛顿法三种方法的三次实验结果,我们 可以得出这样的结论:二分法要循环 k=11 次,迭代法要迭代 k=5 次,牛 顿法要迭代k=2次才能达到精度为0.5 10 3的要求,而且方程ex 10x 2 0 的精确解经计算,为 0.0905250, 计算量从大到小依次是 :二分法,迭代法, 牛顿法。由此可知,牛顿法和迭代法的精确度要优越于二分法。而这三种 方法中,牛顿法不仅计算量少,而且精确度高。从而可知牛顿迭代法收敛 速度明显加快。可是迭代法是局部收敛的,其收敛性与初值 x0 有关。二 分法收敛虽然是速度最慢,但也有自己的优势,可常用于求精度不高的近 似根。迭代法是逐次逼近的方法 , 原理简单,但存在收敛性和收敛速度的问 题。对与不同的题目, 可以从三种方法的优缺点考虑用哪一种方法比较好。

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

当前位置:首页 > 办公文档 > 活动策划

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