数值计算方法上机作业

发布 2022-07-08 07:59:28 阅读 5518

地球科学与技术学院地球探测与信息技术研11—6班孙殿强s1***

实验2.1迭代法、初始值与收敛性。

实验目的:初步认识非线性问题的迭代法与线性问题的迭代法的差别,**迭代法及初始值与迭代收敛性的关系。

问题提出:迭代法是求解非线性方程(组)的基本方法,与线性方程的情况一样,其构造方法多种多样,但关键是怎样才能使迭代收敛且有较快的收敛速度。

实验内容:考虑一个简单的代数方程。

12=x x 针对上述方程,可以构造多种迭代法,如1,11,11121+=+n n n

n n n x x x x x x 等。在实轴上取初始值0x ,分别用以上迭代法做实验,记录各算法的迭代过程。

实验要求:1)取定某个初始值,按如上迭代格式进行计算,它们的收敛性如何?重复选取不同的初始值,反复实验。

请读者自行设计一种比较形象的记录方式(如利用matlab 的图形功能),分析3种迭代法的收敛性与初始值选取的关系。

2)对3种迭代法中的某一个,取不同的初始值进行迭代,结果如何?试分析不同初始值的迭代结果是否有差异。迭代法程序如下(matlab 编程处理):

function [x]=diedai(g,x0,tol,nmax)

g 表示给定的迭代函数。

x0表示给定的初始值。

tol 表示允许的误差。

nmax 表示最大允许迭代次数。

x 是输出的迭代值。

x(1)=x0;

for i=2:nmax

x(i)=feval('g',x(i-1));

i;if (abs(x(i)-x(i-1))break ;

endif(i==nmax)

disp('the method failed after nmax iterations');

endend

x分别编辑如下格式迭代函数:

1)function y=g(x)

y=x^2-1;

2)function y=g(x)

y=1+1./x;

3)function y=g(x)

y=sqrt(x+1);

在matlab中运行如下**:

fplot('[x.^2-x-1]',23]);grid

可得如下图形:

从图中可以得知方程的两个解分别位于【-1,-0.5】及【1.5,2】这两个区间内。实验时分别选取初始值为代入。

1)迭代格式1,a.选取处置为1.

diedai('g',1,10^(-5),20)

the method failed after nmax iterations

x=columns1through16

columns17through20

b.选取初值为1.5代入。

diedai('g',1.5,10^(-5),20)

the method failed after nmax iterations

x=columns1through9

columns10through18

columns19through20

c.选取初值为5代入。

diedai('g',5,10^(-5),20)

the method failed after nmax iterations

x=1.0e+176*

columns1through9

columns10through18

inf inf inf inf inf inf inf inf inf

columns19through20

inf inf

从以上迭代过程可见采用第一种迭代格式不满足收敛要求。

2)迭代格式2

a.选取初值为1代入。

diedai('g',1,10^(-5),20)i=

x=columns1through9

columns10through15

b.选取初值为1.5代入。

diedai('g',1.5,10^(-5),20)i=

x=columns1through9

columns10through13

c.选取初值为5代入。

diedai('g',5,10^(-5),20)i=

x=columns1through9

columns10through15

3)采用迭代格式3处理。

a.选取初值为1代入。

diedai('g',1,10^(-5),20)i=

x=columns1through9

columns10through12

b.选取初值为1.5代入。

diedai('g',1.5,10^(-5),20)i=

x=columns1through9

column10

c.选取初值为5代入。

diedai('g',5,10^(-5),20)i=

x=columns1through9

columns10through13

综合观察发现迭代格式3的收敛性较好,收敛速度较快,而迭代格式1收敛性很差,不能满足要求。

综合比较个方法及初始值选取对迭代收敛性影响的示意图如下:

3在初始值选取为1.5时的收敛性好于另外两个初始值。

计算方法上机作业

计算方法上机报告。姓名 学号 班级 上课班级 1 算法思想。2 算法结构。3 matlab源程序。clear 清除工作空间变量。clc 清除命令窗口命令。m input 请输入有效数字的位数m输入有效数字的位数。s 0for n 0 50 t 1 16 n 4 8 n 1 2 8 n 4 1 8 n...

计算方法上机作业

表2 新算法迭代结果1 初值 0,精度ep 初始选择因子p 修正因子 0.1,最大迭代次数n 0,局部修正次数m分别取1,2,3次,f 49881192646492934000000000000.000000 表3 新算法迭代法结果2 初值 0,精度ep 初始选择因子p 修正因子 0.05,最大迭代...

计算方法上机作业

计算方法第四次上机报告。2.用欧拉方法解初值。y 10x 1 y 0 x 1 y 0 0 取步长h 0.1,保留5位有效数字,并与准确解相比较。分析 该题目考察欧拉方法解初值问题。程序如下 function heun a,b,y0,n h b a n x a h b y y0 ones 1,n 1 ...