- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高斯消元法,列主元素消元法及LU分解法的matlab程序
§2.2.1高斯消元法的MATLAB程序
function [RA,RB,n,X]=gaus(A,b)
B=[A b]; n=length(b); RA=rank(A);
RB=rank(B);zhica=RB-RA;
if zhica0,
disp(请注意:因为RA~=RB,所以此方程组无解.)
return
end
if RA==RB
if RA==n
disp(请注意:因为RA=RB=n,所以此方程组有唯一解.)
X=zeros(n,1); C=zeros(1,n+1);
for p= 1:n-1
for k=p+1:n
m= B(k,p)/ B(p,p);
B(k,p:n+1)= B(k,p:n+1)-m* B(p,p:n+1);
end
end
b=B(1:n,n+1);A=B(1:n,1:n); X(n)=b(n)/A(n,n);
for q=n-1:-1:1
X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)))/A(q,q);
end
else
disp(请注意:因为RA=RBn,所以此方程组有无穷多解.)
end
end
运行命令及结果
a=[2.51 1.48 4.53;1.48 0.93 -1.30 ;2.68 3.04 -1.48];
b=[0.05;1.03;-0.53];[RA,RB,n,X] =gaus (A,b)
请注意:因为RA=RB=n,所以此方程组有唯一解.
RA =
3
RB =
3
n =
3
X =
1.4531
-1.5892
-0.2749
§2.2.2 列主元素消元法的MATLAB程序
function [RA,RB,n,X]=liezhu(A,b)
B=[A b]; n=length(b); RA=rank(A);
RB=rank(B);zhica=RB-RA;
if zhica0,
disp(请注意:因为RA~=RB,所以此方程组无解.)
return
end
if RA==RB
if RA==n
disp(请注意:因为RA=RB=n,所以此方程组有唯一解.)
X=zeros(n,1); C=zeros(1,n+1);
for p= 1:n-1
[Y,j]=max(abs(B(p:n,p))); C=B(p,:);
B(p,:)= B(j+p-1,:); B(j+p-1,:)=C;
for k=p+1:n
m= B(k,p)/ B(p,p);
B(k,p:n+1)= B(k,p:n+1)-m* B(p,p:n+1);
end
end
b=B(1:n,n+1);A=B(1:n,1:n); X(n)=b(n)/A(n,n);
for q=n-1:-1:1
X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)))/A(q,q);
end
else
disp(请注意:因为RA=RBn,所以此方程组有无穷多解.)
end
end
运行命令及结果
a=[2.51 1.48 4.53;1.48 0.93 -1.30 ;2.68 3.04 -1.48];
b=[0.05;1.03;-0.53];[RA,RB,n,X]=liezhu(A,b)
请注意:因为RA=RB=n,所以此方程组有唯一解.
RA =
3
RB =
3
n =
3
X =
1.4531
-1.5892
-0.2749
§2.2.3 LU分解法的MATLAB程序
function hl=zhjLU(A)
[n n] =size(A); RA=rank(A);
if RA~=n
disp(请注意:因为A的n阶行列式hl等于零,所以A不能进行LU分解.A的秩RA如下:), RA,hl=det(A);
return
end
if RA==n
for p=1:n
h(p)=det(A(1:p, 1:p));
end
hl=h(1:n);
for i=1:n
if h(1,i)==0
disp(请注意:因为A的r阶主子式等于零,所以A不能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下:), hl;RA
return
end
end
if h(1,i)~=0
disp(请注意:因为A的各阶主子式都不等于零,所以A能进行LU分
文档评论(0)