高斯消元法解线性方程组Word文档下载推荐.docx
- 文档编号:19922486
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:23
- 大小:388.25KB
高斯消元法解线性方程组Word文档下载推荐.docx
《高斯消元法解线性方程组Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《高斯消元法解线性方程组Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
W=size(A);
Ah=W
(1);
Al=W
(2);
forj=1:
Al-1;
%找出矩阵的列主元并交换行
z=j;
fori=j:
Ah
ifabs(A(i,j))>
=abs(A(z,j))
c=i;
i=z;
z=c;
else;
end
ifz==j
;
else
q=A(z,:
A(z,:
)=A(j,:
A(j,:
)=q;
ifabs(A(j,j))<
=e
error('
方程系数矩阵为非满秩矩阵'
end
Al-1
fori=j+1:
d=-A(i,j)/A(j,j);
A(i,:
)=d*A(j,:
)+A(i,:
A1=A(1:
Ah,1:
Al-1);
B=A(1:
Ah,Al);
A=A1;
X=zeros(Al,1);
fori=Ah:
-1:
1
S=0;
forj=Al-1:
i
S=S+A(i,j+1)*X(j+1,1);
X(i,1)=(B(i,1)-S)/A(i,i);
X
运行结果:
附:
由P227第3题而产生的三角分解法
Ae=A(1:
p=eye(Ah);
pc=p(z,:
p(z,:
)=p(j,:
p(j,:
)=pc;
p;
U=A(1:
A=Ae;
L=(p*A)/U;
p
A
L
U
B=p*B
W=size(L);
%求解Ly=b
Y=zeros(Al,1);
fori=1:
forj=1:
i-1
S=S+L(i,j)*Y(j,1);
Y(i,1)=(B(i,1)-S)/L(i,i);
Y
W=size(U);
%求解Ux=y
S=S+U(i,j+1)*X(j+1,1);
X(i,1)=(Y(i,1)-S)/U(i,i);
实验二、直接三角法解线性方程组
H=W
(1);
AZ=A(1:
H,1:
H);
H,H+1);
A=AZ;
H%求取矩阵U的第一行
方程系数矩阵为非满秩矩阵,请选择杨雁勇的下一个可以选择列主元的程序'
A(1,j)=A(1,j);
fori=2:
H%求取矩阵L的第1列
A(i,1)=A(i,1)/A(1,1);
forr=2:
H%求取矩阵U的第2-H列和第2-H行
fori=r:
H
A(r,i)=A(r,i)-A(r,1:
r-1)*A(1:
r-1,i);
fori=r+1:
A(i,r)=(A(i,r)-A(i,1:
r-1,r))/A(r,r);
ifabs(A(r,r))<
disp('
经过电算以后得到的A(由U与L中的元素置换而组成)'
)
fori=1:
H%将A拆成L与U
H
ifi==j
L(i,j)=1;
elseifi>
j
L(i,j)=A(i,j);
L(i,j)=0;
ifi<
=j
U(i,j)=A(i,j);
U(i,j)=0;
%回带求取解
实验三、列主元三角法解线性方程组
K=1;
K=K*A(i,i);
ifK==0
方程中有对角元上元素=0'
%检验A(r,r)是否为一个特别小的数
ss=zeros(r+1,1);
s=[A(r,r);
ss];
S(i+1,1)=A(i,r)-A(i,1:
r-1,r);
forj=r:
H%找出分块矩阵的列主元并交换行
ifabs(S(r,1))>
=abs(S(z,1))
c=j;
j=z;
ifz==r
q=A(z,r:
A(z,r:
H)=A(r,r:
A(r,r:
H)=q;
该方程不是满秩矩阵'
补充:
SOR算法matlab实现
程序源代码:
请输入你要求的精度(用无穷范数衡量):
w=input('
请输入松弛因子:
H%将A拆成D与L与U
D(i,j)=A(i,j);
else
D(i,j)=0;
D
ifi>
L(i,j)=-A(i,j);
U(i,j)=-A(i,j);
X=zeros(H,1);
1000
S=X;
fori=1:
a=X(i,1);
X(i,1)=(B(i,1)-A(i,1:
i-1)*X(1:
i-1,1)-A(i,i+1:
H)*X(i+1:
H,1))/A(i,i);
X(i,1)=a+w*(X(i,1)-a);
disp(X'
R=S-X;
c=abs(R(1,1));
ifc<
=abs(R(i,1))
c=abs(R(i,1));
break;
实验体会:
通过实验我掌握了消元法解方程的一些基本算法以及用matlab实现矩阵的几种基本计算。
对MATLAB软件有了更深的了解。
同时,在实验中,在输入向量时错误也很多,比如将:
“(”写成“[”等,致使程序不能运行,无法得到预期的实验结果,有时候还会在结束循环体是落掉“end”等,通过此次练习,我基本上熟悉了Matlab编程的基技能,希望在以后的学习中还能有更多的机会运用它。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高斯消元法解 线性方程组