数值分析课程实验报告

《数值分析》课程实验报告

实验名称 用二分法和迭代法求方程的根

成绩

一、实验目的

掌握利用二分法以及迭代法求方程近似根的方法,并学会运用 matlab 软件编写程序,求解出方程的根,对迭代法二分法进一步认识并灵活运用。

二、实验内容

比较求方程 5 0xx e   的根,要求精确到小数点后的第 4 位 1.在区间[0,1]内用二分法;

2.用迭代法1/5kxkx e ,取初值00.25 x  .三、算法描述

1、二分法:二分法是最简单的求根方法,它是利用连续函数的零点定理,将汗根区间逐次减半缩小,取区间的中点构造收敛点列{ }来逼近根 x.2、迭代法:迭代法是一种逐次逼近的方法,其步骤是首先给定一个粗糙的初始值,然后用一个迭代公式反复修正这个值,知道满足要求为止。

四、实验步骤

1 1 、二分法:

(1)计算 f(x)在区间[0,1]端点处的值 f(0)和 f(1)的值;

(2)计算 f(x)在区间【0,1】的中点(0+1)/2=1/2 处的值 f((a+b)/2);

(3)如果函数值 f(1/2)=0,则 1/2 是 f(x)=0 的实根,输出根 x,终止;
否则继续转(4)继续做检验。由于 f(1/2)≠0,所以继续做检验。

(4)如果函数值 f(0)* f(1/2)<0,则根在区间[0,1/2]内,这时以 1/2 代表 1;
否则以 1/2 代表 0;

,此时应该用 1/2 代表 1.(5)重复执行(2)(3)(4)步,直到满足题目所要求的精度,算法结束。

2 2 、迭代法

(1)提供迭代初值25 .00 x;

(2)计算迭代值) (0 1x x  ;

(3)检查|0 1x x |,若   | |0 1x x,则以1x代替0x转(2)步继续迭代;
当   | |0 1x x时

终止计算,取作为所求结果。

五、程序

(1)二分法程序:

function y=bisection(fx,xa,xb,n,delta)

x=xa;fa=5*x-exp(x);

x=xb;fb=5*x-exp(x);

disp("[

n

xa

xb

xc

fc

]");

for i=1:n

xc=(xa+xb)/2;x=xc;fc=5*x-exp(x);

X=[i,xa,xb,xc,fc];

disp(X),

if fc==0,end

if fc*fa<0

xb=xc;

else xa=xc;

end

if (xb-xa)

end

(2)迭代法程序:

function y=diedai(fx,x0,n,delta)

disp("[

k

xk

]");

for i=1:n

x1=(exp(x0))/5;

X=[i,x1];

disp(X);

if abs(x1-x0)

fprintf("The procedure was successful")

return

else

i=i+1;

x0=x1;

end

end

六、实验结果及分析

(1)二分法:

实验结果如下:

[

n

xa

xb

xc

fc

]

1.0000

0

1.0000

0.5000

0.8513

2.0000

0

0.5000

0.2500

- - 0.0340

3.0000

0.2500

0.5000

0.3750

0.4200

4.0000

0.2500

0.3750

0 .3125

0.1957

5.0000

0.2500

0.3125

0.2813

0.0815

6.0000

0.2500

0.2813

0.2656

0.0239

7.0000

0.2500

0.2656

0.2578

- - 0.0050

8.0000

0.2578

0.2656

0.2617

0.0094

9.0000

0.2578

0.2617

0.2598

0.0022

10.0000

0.2578

0.2598

0.2588

- - 0.0014

11.0000

0.2588

0.2598

0.2593

0.0004

12.0000

0.2588

0.2593

0.2590

- - 0.0005

13.0000

0.2590

0.2593

0.2592

- - 0.0001

14.0000

0.2592

0.2 593

0.2592

0.0002

15.0000

0.2592

0.2592

0.2592

0.0001

依据题目要求的精度,则需做二分十四次,由实验数据知 x=0.2592 即为所求的根

(2)迭代法:

实验结果如下:

根据题目精度要求,故所求根为 x=0.2592.

对二分法和迭代法的观察和分析我们可以知道,二分法的优点是方法比较简单,编程比较容易, 只是二分法只能用于求方程的近似根,不能用于求方程的复根,且收敛速度慢。而迭代法的收敛速度明显大于二分法的速度。

九十分!

推荐访问:数值分析实验报告 数值分析实验报告3 数值分析实验课报告 数值分析及实验报告 数值分析课程实验报告