文档详情

三解线性方程组的直接方法.doc

发布:2017-04-02约1.6万字共14页下载文档
文本预览下载声明
在这章中我们要学习线性方程组的直接法,特别是适合用数学软件在计算机上求解的方法. 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,所以此方程组无解.) return end if RA==RB if RA==n disp(请注意:因为RA=RB=n,所以此方程组有唯一解.) else disp(请注意:因为RA=RBn,所以此方程组有无穷多解.) end end 例3.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=RB=n,所以此方程组有唯一解. 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 (3) 在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 (4)在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 3.2 三角形方程组的解法及其MATLAB程序 3.2.2 解三角形方程组的MATLAB程序 解上三角形线性方程组的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 例3.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]’ 3.3 高斯(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 di
显示全部
相似文档