数值分析 迭代法

更新时间:2023-06-11 11:25:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二:迭代法、初始值与收敛性

一:实验要求

考虑一个简单的代数方程

x2 x 1 0,

针对上述方程,可以构造多种迭代法,

如xn 1 xn 1,xn 1 1

2

1xn

,xn 1 在实

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

二:实验要求及实验结果

(1) 取定某个初始值,按如上迭代格式进行计算,它们的收敛性如何?重复选取不同放

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

(2) 对三个迭代法中的某一个,取不同的初值进行迭代,结果如何?试分析对不同的初

值是否有差异?

实验内容:

ⅰ)对xn 1 xn 1进行迭代运算,选取迭代次数n=20;分别选择初值-0.6, 1.6进行

2

实验,并画出迭代结果的趋势图。

编写MATLAB运算程序如下:

%迭代法求解 %令x=x^2-1 clear

n=30; x=-0.5;

x1=x^2-1; for i=1:n

end

m=linspace(0,29,n);

x1=x1^2-1; xx(i)=x1;

plot(m,xx) title('x=-0.5')

x=-0.6

x=1.6

如上图所示,选取初值分别为-0.6、1.6时,结果都是不收敛的。

'

2'

分析:g(x) xn 1,g(x) 2x,要想在某一邻域上g(x) 2x 1,则 x [ 1,1]

但是g(x) [ 1,1],所以不存在某个邻域使得该迭代公式收敛。即迭代公式对任何初值都是发散的。

ⅱ)对xn 1 1

1xn

进行迭代运算,选取迭代次数n=30;分别选择初值=-0.7, 2.1进

行实验,并画出迭代结果的趋势图。

编写MATLAB运算程序如下:

%迭代法求解 %令x=x^2-1 clear

n=20; x=-0.5; x1=1+1./x; for i=1:n

end

m=linspace(0,29,n); plot(m,xx,'b') title('x=-0.5')

x1=1+1./x1; xx(i)=x1;

x=-0.7

x=2.1

如上图所示,选取初值分别为-0.7、2.1时,结果都是收敛。

分析:g(x)

1

xn

, 设

g(x) [1.65, ], x [1.65, ],g'(x)

1x

2

[1.65, ]上有界,且g'(x)

1xn

1x

2

1, x [1.65, ]则由迭代式对任意初

始值

1xn

x0 [1.65, ]g(x) 1

,产生的序列都收敛。同时由g(x) 1 ,可以看到,在

x0 [ , ]选取初值,在进行n次迭代后,都会存在一个xn 1.65,此时xn相当于是

在[1.65, ]范围内的初始值,迭代公式产生的序列收敛。所以初值的选取对数列的收敛性没有影响。

ⅲ)对xn 1

n=20;分别选择初值=-0.6,2.1进

行实验,并画出迭代结果的趋势图。

编写MATLAB运算程序如下:

%迭代法求解 %令x=sqrt(1+x) clear

n=20; x=-0.5; x1= sqrt(1.+x); for i=1:n

x1= sqrt(1+x1); xx(i)=x1;

end

m=linspace(0,29,n); plot(m,xx,'b') title('x=-0.5')

x=-0.6

如上图所示,选取初值分别为-0.6、2.1时,结果都是收敛。 分析:g(x)

g(x) [ 1, ], x [ 1, ],g'(x)

[ 1, ]

实数域上

有界,且g(x

'

1 ,x [ 1,则]由迭代式对任意初始值

可以看到,在

x0 [ 1, ]g(x) 产生的序列都收敛。同时由g(x)

x0 [ , 1]选取初值,对迭代结果所产生的虚数的实部和虚部也是收敛的。如初值选取

x=-3,得到20次的迭代结果如下:实部收敛于1.618,虚部收敛于0,

Columns 1 through 5

1.1688 + 0.6050i 1.4867 + 0.2035i 1.5782 + 0.0645i 1.6143 + 0.0062i

Columns 6 through 10

1.6169 + 0.0019i 1.6177 + 0.0006i 1.6179 + 0.0002i 1.6180 + 0.0000i

Columns 11 through 15

1.6180 + 0.0000i 1.6180 + 0.0000i 1.6180 + 0.0000i 1.6180 + 0.0000i

Columns 16 through 20

1.6180 + 0.0000i 1.6180 + 0.0000i 1.6180 + 0.0000i 1.6180 + 0.0000i

1.6058 + 0.0201i

1.6180 + 0.0001i

1.6180 + 0.0000i

1.6180 + 0.0000i

x=-3

上图是初值选取为-3的迭代结果趋势图,可以看出,当迭代结果为虚数时,迭代结果最终还是收敛的。

在进行n次迭代后,实部都会存在一个xn 1,此时xn相当于是在[ 1, ]范围内的初始值,迭代公式产生的序列收敛。所以初值的选取对数列的收敛性没有影响。

(3) 线性方程组迭代法的收敛性是不依赖初值的选取的。比较线性与非线性问题迭代的

差异,有何结论和问题。

ⅰ)对线性方程f(ax1 bx2) af(x1) bf(x2),设f(x) ax b,则f(x) a。 若线性方程的迭代是收敛的,则有f(x) a 1, 1 a 1对f(x) ax b而言,在

'

'

[ , ]上,都有x,f(x) [ , ],所以,对任何初值,方程的迭代都是收敛的,不受

初值的影响。

若线性方程的迭代是发散的,则对任何初值都发散,方程迭代的收敛性也不受初值的影响。

ⅱ)对非线性方程的迭代,就复杂的多。

对于方程迭代发散的方程而言,无论初值如何选择,收敛性是不会改变的。方程的迭代还是发散。

对方程迭代收敛的情况而言,若想要使得初值的选择不会影响收敛性,那必须要使得

x,f(x) [ , ]并且在某一定点的邻域内f'(x) 1,情况是很复杂的。

本文来源:https://www.bwwdw.com/article/lxo1.html

Top