- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性方程组求解matlab实现
3.1 方程组的逆矩阵解法及其MATLAB程序
3.1.3 线性方程组有解的判定条件及其MATLAB程序
判定线性方程组是否有解的MATLAB程序
function [RA,RB,n]=jiepb(A,b)
B=[A b];n=length(b); RA=rank(A);
RB=rank(B);zhica=RB-RA;
if zhica0,
disp(请注意:因为RA~=RB,所以此方程组无解.)
returnend
if RA==RB
if RA==n
disp(请注意:因为RA=RB=n,所以此方程组有唯一解.)
else
disp(请注意:因为RA=RBn,所以此方程组有无穷多解.)
end
end
.1.4 判断下列线性方程组解的情况.如果有唯一解,则用表 3-2方法求解.
(1) (2)
(3) (4)
解 在MATLAB工作窗口输入程序
A=[2 3 -1 5;3 1 2 -7;4 1 -3 6;1 -2 4 -7];
b=[ 0; 0; 0; 0]; [RA,RB,n]=jiepb(A,b)
RA = 4,RB =4,n =4
在MATLAB工作窗口输入X=A\b,
运行后输出结果为 X =(0 0 0 0)’.
(2) 在MATLAB工作窗口输入程序 A=[3 4 -5 7;2 -3 3 -2;4 11 -13 16;7 -2 1 3];b=[ 0; 0; 0; 0];
[RA,RB,n]=jiepb(A,b)
运行后输出结果
请注意:因为RA=RBn,所以此方程组有无穷多解.
RA =2,RB =2,n =4
MATLAB工作窗口输入程序 A=[4 2 -1;3 -1 2;11 3 0]; b=[2;10;8]; [RA,RB,n]=jiepb(A,B)
运行后输出结果
请注意:因为RA~=RB,所以此方程组无解.
RA =2,RB =3,n =3
MATLAB工作窗口输入程序 A=[2 1 -1 1;4 2 -2 1;2 1 -1 -1];
b=[1; 2; 1]; [RA,RB,n]=jiepb(A,b)
运行后输出结果
请注意:因为RA=RBn,所以此方程组有无穷多解.
RA =2,RB =2,n =3
的MATLAB程序
function [RA,RB,n,X]=shangsan(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); X(n)=b(n)/A(n,n);
for k=n-1:-1:1
X(k)=(b(k)-sum(A(k,k+1:n)*X(k+1:n)))/A(k,k);
end
else
disp(请注意:因为RA=RBn,所以此方程组有无穷多解.)
end
end
.2.2 用解上三角形线性方程组的MATLAB程序解方程组
.
解 在MATLAB工作窗口输入程序
A=[5 -1 2 3;0 -2 7 -4;0 0 6 5;0 0 0 3];
b=[20; -7; 4;6];
[RA,RB,n,X]=shangsan(A,b)
请注意:因为RA=RB=n,所以此方程组有唯一解.
RA = RB =
4, 4,
n =
4,
X =[2.4 -4.0 -1.0 2.0]’
Gauss)消元法和列主元消元法及其MATLAB程序
3.3.1 高斯消元法及其MATLAB程序
用高斯消元法解线性方程组的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)
文档评论(0)