matlab 迭代法[精品]

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab 迭代法[精品]

1. 矩阵

122,211,,,,,,,,,A,111A,222, 11,,,,,,,,221,,112,,,,

证明:求解以为系数矩阵线性方程组的Jacobi迭代式收敛的,而A1 Gauss-Seidel方法是发散的;求解以为系数矩阵线性方程组的A2实验名称Gauss-Seidel是收敛的,而Jacobi方法是发散的. 2. 矩阵

1aa,,,,Aaa,1 ,,,,aa1,,

(a) 参数取什么值时,矩阵是正定的. a

(b) 取什么值时,求以为系数矩阵线性方程组的Jacobi迭代式收aa

敛的.

1、根据迭代收敛性的充分必要条件来判断Jacobi迭代式与Gauss-Seide 迭代式的收敛性,迭代收敛性仅与方程组系数矩阵有关,与右端无关;而且不依赖于初值的选取。实验目的

2、根据矩阵的判断定理求得矩阵元素a的取值,同时根据矩阵线性方程组的Jacobi迭代式收敛的充分条件(严格对角占优)来求a得取值。

1、(1)检验线性方程组的Jacobi迭代式的收敛性: function jacobi(A) D=zeros(3);

for i=1:3

D(i,i)=A(i,i);

实验内容end

(算法、程B=D^(-1)*(D-A);

序、步骤和k=max(abs(eig(B)))

方法) if k<1

'该线性方程组的Jacobi迭代式是收敛的' else k>=1

'该线性方程组的Jacobi迭代式是发散的' end

(2)检验线性方程组的Gauss-Seide迭代式的收敛性:

function Gauss(A)

D=zeros(3);

L=zeros(3);

U=zeros(3);

for i=1:3

D(i,i)=A(i,i);

end

L(2:3,1)=A(2:3,1);

L(3,2)=A(3,2);

U(1,2:3)=A(1,2:3); U(2,3)=A(2,3);

B=-(D+L)^(-1)*U; k=max(abs(eig(B))) if k<1

'该线性方程组的Gauss-Seidel迭代式是收敛的'

else k>=1

'该线性方程组的Gauss-Seidel迭代式是发散的'

end

2、(1)参数取什么值时,矩阵是正定的.(矩阵的特征值全为正) a >> syms a

>> A=[1 a a;a 1 a;a a 1]; >> eig(A)

ans =

2*a+1

1-a

1-a

>> a1=solve('2*a+1=0','a'); >> a2=solve('1-a','a'); >> a1,a2

a1 =-1/2

a2 =1

(2)a取什么值时,求以A为系数矩阵线性方程组的Jacobi迭代式收敛的.

syms a

A=[1 a a;a 1 a;a a 1]; %系数矩阵严格对角占优时,以A为系数矩阵线性方程组的Jacobi迭代

式收敛,则1>2|a|. a=solve('1-2*abs(a)','a')

(1)以为系数矩阵线性方程组的两种迭代式收敛性结果: A1

A=[1 2 -2;1 1 1;2 2 1];

>> jacobi(A)

k =

5.8106e-006

ans =

该线性方程组的Jacobi迭代式收敛

A=[1 2 -2;1 1 1;2 2 1];

>> Gauss(A)

k = 2

ans =

该线性方程组的Gauss-Seidel迭代式是发散的

根据以上数据可知以为系数矩阵线性方程组的Jacobi迭代式收敛A1的,而Gauss-Seidel方法是发散的。

结论 (2)以为系数矩阵线性方程组的两种迭代式收敛性结果: A2

A=[2 -1 1;2 2 2;-1 -1 2]; (结果) >> jacobi(A)

k =

1.1180

ans =

1

ans =

该线性方程组的Jacobi迭代式不收敛

A=[2 -1 1;2 2 2;-1 -1 2];

>> Gauss(A)

k =0.5000

ans =

该线性方程组的Gauss-Seidel迭代式是收敛的

A根据以上数据可知以为系数矩阵线性方程组的Gauss-Seidel是收敛2 的,而Jacobi方法是发散的.

2、(1)参数取什么值时,矩阵是正定的. a

ans =

2*a+1

1-a

1-a

>> a1=solve('2*a+1=0','a');

>> a2=solve('1-a','a');

>> a1,a2

a1 =-1/2

a2 =1

所以参数a的取值范围为(-1/2,1)

(2)、取什么值时,求以A为系数矩阵线性方程组的Jacobi迭代式收敛a

的.

a =

1/2

-1/2

所以a的取值范围为(-1/2,1/2)时,求以A为系数矩阵线性方程组的

Jacobi迭代式收敛的.

小结(对本在使用迭代法进行计算时要注意,迭代法的适用范围,因为不是所有的系数矩阵线次实验的性方程组都是收敛的。而且不同的迭代法的收敛性也是不同的,在选取迭代法进行思考和建求解时适用范围也要注意。

议)

备注或说要把普我们常用解方程的方法写成计算机能识别的语言开始些不适应,不过多练习明(成功或练习后感觉就有些感觉了,其实多练习,学习后才能写出好的程序。失败的原

因、实验后

的心得体

会)

指导教师评分(包括对实验的预习、操作和结果的综合评分):

指导教师总评:

签名: 日期:

相关文档
最新文档