MATLAB 迭代法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a1 =-1/2
a2 =1
(2) 取什么值时,求以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、(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迭代式是收敛的'
根据以上数据可知以 为系数矩阵线性方程组的Jacobi迭代式收敛的,而Gauss-Seidel方法是发散的。
(2)以 为系数矩阵线性方程组的两种迭代式收敛性结果:
A=[2 -1 1;2 2 2;-1 -1 2];
>> jacobi(A)
k =
1.1180
ans =
1
ans =
该线性方程组的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);
实验名称
1.矩阵
,
证明:求解以 为系数矩阵线性方程组的Jacobi迭代式收敛的,而Gauss-Seidel方法是发散的;求解以 为系数矩阵线性方程组的Gauss-Seidel是收敛的,而Jacobi方法是发散的.
2.矩阵
(a)参数 取什么值时,矩阵是正定的.
(b) 取什么值时,求以 为系数矩阵线性方程组的Jacobi迭代式收敛的.
A=[2 -1 1;2 2 2;-1 -1 2];
>> Gauss(A)
k =0.5000
ans =
该线性方程组的Gauss-Seidel迭代式是收敛的
根据以上数据可知以 为系数矩阵线性方程组的Gauss-Seidel是收敛的,而Jacobi方法是发散的.
2、(1)参数 取什么值时,矩阵是正定的.
ans =
end
2、(1)参数 取什么值时,矩阵是正定的.(矩阵的特征值全为正)
ቤተ መጻሕፍቲ ባይዱ>> 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
小结(对本次实验的思考和建议)
在使用迭代法进行计算时要注意,迭代法的适用范围,因为不是所有的系数矩阵线性方程组都是收敛的。而且不同的迭代法的收敛性也是不同的,在选取迭代法进行求解时适用范围也要注意。
备注或说明(成功或失败的原因、实验后的心得体会)
要把普我们常用解方程的方法写成计算机能识别的语言开始些不适应,不过多练习练习后感觉就有些感觉了,其实多练习,学习后才能写出好的程序。
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 =
1/2
-1/2
所以a的取值范围为(-1/2,1/2)时,求以A为系数矩阵线性方程组的Jacobi迭代式收敛的.
实验目的
1、根据迭代收敛性的充分必要条件来判断Jacobi迭代式与Gauss-Seide迭代式的收敛性,迭代收敛性仅与方程组系数矩阵有关,与右端无关;而且不依赖于初值的选取。
2、根据矩阵的判断定理求得矩阵元素a的取值,同时根据矩阵线性方程组的Jacobi迭代式收敛的充分条件(严格对角占优)来求a得取值。
(结果)
(1)以 为系数矩阵线性方程组的两种迭代式收敛性结果:
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迭代式是发散的
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迭代式是发散的'
相关文档
最新文档