实验十三线性方程组.ppt
MATLAB,高等数学实验,实验十三 线性方程组,实验目的学习利用MATLAB命令求线性方程组的解,以及解决有关问题。,13.1 学习MATLAB命令,1.命令null(A),给出齐次方程组AX=0的一个基础解系。2.命令Ab给出非齐次线性方程组AX=b的一个特解。(1)在A是可逆方阵时,Ab给出非齐次线性方程组AX=b的唯一解;(2)在非齐次线性方程组AX=b有无穷解时,Ab给出一个具有最多零元素的特解(A不一定是方阵)。但实际操作中有失败的情况。(3)在非齐次线性方程组AX=b无解时,Ab给出最小二乘意义下的近似解(A不一定是方阵)。3.命令rref可以化矩阵为行最简形,因此rref(A,b)可以化增广矩阵为行最简形。这个方法提供了解线性方程组的最可行和最常用方法。4.解一般方程或方程组的solve命令,见实验七的节。,13.2 实验内容,13.2.1 求齐次线性方程组的解空间,给定线性齐次方程组AX=0(这里,A为mn矩阵,X为n维列向量),该方程组必定有解。如果矩阵A的秩等于n,则只有零解;如果矩阵A的秩小于n,则有非零解,且所有解构成一向量空间。MATLAB中,可利用命令null给出齐次方程组的解空间的一个正交规范基。,【例1】求解线性方程组:输入:clear;A=1,1,-2,-1;3,-2,-1,2;0,5,7,3;2,-3,-5,-1;D=det(A)x=null(A),输出为:D=0 x=-0.4714 0.2357-0.4714 0.7071说明该齐次线性方程组的解空间是一维向量空间,且向量:是解空间的一个正交规范基。,假如输入:A=sym(A);%把A变成符号矩阵x=null(A)%这是null(A)输出A的一个基础解系,但不是正交规范基输出为:x=-2/31/3-2/31,【例2】求解线性方程组:输入:clear;A=1,1,2,-1;3,-2,-3,2;0,5,7,3;2,-3,-5,-1;D=det(A)x=null(A)输出为:D=-40.0000 x=Empty matrix:4-by-0因此解空间的基是一个空集,说明该线性方程组只有零解。,【例3】向量组,是否线性相关?根据定义,如果向量组线性相关,则齐次线性方程组:有非零解。,输入:clear;A=1,1,2,3;1,-1,1,1;1,3,4,5;3,1,5,7;A=sym(A);D=det(A)B=A;null(B)输出为:D=0ans=-2-101说明向量组线性相关,且,13.2.2 非齐次线性方程组的特解,【例4】求线性方程组:的特解。输入:clear;A=1,1,-2,-1;3,-2,-1,2;0,5,7,3;2,-3,-5,-1;D=det(A)b=4,2,-2,4;rank(A)rank(A b),输出为:D=0ans=3ans=3说明系数矩阵与增广矩阵的秩都是3,方程组有解。输入:format rat%指定有理式格式输出rref(A b)输出为:ans=1 0 0 2/3 1 0 1 0-1/3 1 0 0 1 2/3-1 0 0 0 0 0因此 是方程组的一个特解。,【例5】求线性方程组:的特解。输入:clear;A=1,1,-2,-1;3,-2,-1,2;0,5,7,3;2,-3,-5,-1;A=sym(A);b=4,2,2,4;b=sym(b);rref(A b)输出为:ans=1,0,0,2/3,0 0,1,0,-1/3,0 0,0,1,2/3,0 0,0,0,0,1说明系数矩阵的秩小于增广矩阵的秩,该方程组无解。,【例6】向量 是否可以由向量,线性表示?根据定义,如果向量 可以由向量组 线性表示,则非齐次线性方程组 有解。输入:clear;A=1,2,-3,1;5,-5,12,11;1,-3,6,3;b=2,-1,3,4;format rat%指定有理式格式输出Ab输出为:ans=1/3 1/3 0因此非齐次线性方程组 有一个特解,说明 可以由 线性表示,且。,13.2.3 非齐次线性方程组的通解,【例7】求方程组 的解。解1 用solve命令输入:clear;x1,x2,x3,x4=solve(x1-2*x2+3*x3-4*x4=4,x2-x3+x4=-3,x1+3*x2+x4=1,-7*x2+3*x3+x4=-3),输出为:x1=-8x2=3x3=6x4=0即方程组有唯一解,解2 这个线性方程组中方程的个数等于未知数的个数,而且有唯一解,此解可以表示为。其中A是线性方程组的系数矩阵,而b是右边常数向量。于是,可以用逆阵计算唯一解。输入:clear;A=1,-2,3,-4;0,1,-1,1;1,3,0,1;0,-7,3,1;b=4,-3,1,-3;D=det(A)x=inv(A)*b输出为:D=16.0000 x=-8.0000 3.0000 6.0000 0.0000,解3:还可以用克莱姆法则计算这个线性方程组的唯一解。为计算各行列式,输入未知数的系数向量,即系数矩阵的列向量。输入:clear;a=1,0,1,0;b=-2,1,3,-7;c=3,-1,0,3;d=-4,1,1,1;e=4,-3,1,-3;x1=det(e,b,c,d)/det(a,b,c,d)x2=det(a,e,c,d)/det(a,b,c,d)x3=det(a,b,e,d)/det(a,b,c,d)x4=det(a,b,c,e)/det(a,b,c,d)输出为:x1=-8.0000 x2=3.0000 x3=6.0000 x4=0,【例8】求方程组 的解。解1 考虑用符号运算解方程组。先用命令Ab给出线性方程组的一个特解,再用null(A)给出对应齐次方程组的基础解系。输入:clear;A=1,-1,2,1;2,-1,1,2;1,0,-1,1;3,-1,0,3;b=1,3,2,5;A=sym(A);b=sym(b);x0=Abx=null(A),输出为:x0=2100 x=1,-1 3,0 1,0 0,1所以原方程组的通解为,解2 输入:clear;A=1,-1,2,1;2,-1,1,2;1,0,-1,1;3,-1,0,3;D=det(A)b=1,3,2,5;B=A b;R1=rank(A)R2=rank(B)RR=rref(B),输出为:D=0R1=2R2=2RR=1 0-1 1 20 1-3 0 10 0 0 0 00 0 0 0 0即有同解方程组,。于是非齐次线性方程组的一个特解为,对应的齐次线性方程组的等价线性方程组为,它的一个基础解系为 与,原方程组的通解,【例9】当a分别为何值时,方程组 分别无解、有唯一解和有无穷多解?当方程组有解时,求通解。先计算系数行列式,并求a,使行列式等于0。输入:clear;syms a;A=a,1,1;1,a,1;1,1,a;D=det(A)输出为:D=a3-3*a+2,再输入:a=solve(a3-3*a+2=0)输出为:a=11-2当 时,方程组有唯一解。输入:clear;x,y,z=solve(a*x+y+z=1,x+a*y+z=1,x+y+a*z=1)输出为:x=1/(a+2)y=1/(a+2)z=1/(a+2),当a=-2时,输入:clear;x,y,z=solve(-2*x+y+z=1,x-2*y+z=1,x+y-2*z=1)输出为:x=empty sym y=z=说明方程组无解。,当a=1时,输入:clear;x,y,z=solve(x+y+z=1,x+y+z=1,x+y+z=1)输出为:x=1-z2-z1y=z2z=z1说明方程组有无穷多个解。非齐次线性方程组的特解为,对应的齐次线性方程组的基础解系为 与。,