《06实验六_线性代数的有关计算》由会员分享,可在线阅读,更多相关《06实验六_线性代数的有关计算(6页珍藏版)》请在金锄头文库上搜索。
1、 实验六线性代数的有关计算一、实验目的:1. 了解 detrankrref函数的格式和用法。2. 了解 solvesubs函数的格式和用法。3. 了解 nulleigsize函数的的格式和用法。4. 初步了解格式输入与输出,编程的基本思想。二、实验涉及 matlab 基本命令:1求行列式的 MATLAB 命令MATLAB 中主要用 det,determ 分别求行列式的数值解和符号解。det(A) 计算矩阵 A 对应的行列式,A 为数值方阵detertm(A) 计算矩阵 A 对应的行列式的符号值,A 为符号方阵可以用 help det,help determ 查阅有关这些命令的详细信息例 1 计
2、算行列式 351102423D的值。相应的 MATLAB 代码为:D=3 1 -1 2; -5 1 3 -4; 2 0 1 -1; 1 -5 3 -3;det(D) 算得 40D.如果用 determ命令, 相应的 MATLAB 代码为:D=3 1 -1 2; -5 1 3 -4; 2 0 1 -1; 1 -5 3 -3;determ(D) 仍算得 例计算行列式 dcbacbaD361063242的值。相应的 MATLAB 代码为:clear;syms asyms bsyms csyms dD=a b c d;a a+b a+b+c a+b+c+d;a 2*a+b 3*a+2*b+c 4*a+
3、3*b+2*c+d;. a 3*a+b 6*a+3*b+c 10*a+6*b+3*c+d; determ(D)计算可得 4D。本题中,如果用 det 就不能算出结果。determ(D)命令等同于 det(sym(D)命令,本题如果用 det(sym(D)命令也能算出同样的结果.例 3 用练习 1、2 种的两个行列式验证行列式的性质。例如用练习 1 中的行列式验证性质 1,相应的 MATLAB 代码为:D=3 1 -1 2; -5 1 3 -4; 2 0 1 -1; 1 -5 3 -3;det(D) %D表示 D的转置算得 40D。说明转置不改变行列式的值。如果将第一行和第二行互换,相应的 MA
4、TLAB代码为:D=-5 1 3 -4;3 1 -1 2; 2 0 1 -1; 1 -5 3 -3;det(D)算得 40,说明互换行列后,行列式变号。其他的各个性质,也可验证。例 4 解线性方程组 .0674,5293,84312431xx相应的 MATLAB 代码为: D=2 1 -5 1;1 -3 0 -6;0 2 -1 2;1 4 -7 6D =2 1 -5 11 -3 0 -60 2 -1 21 4 -7 6 D=det(D)D= 27D1=8 1 -5 1;9 -3 0 -6;-5 2 -1 2;0 4 -7 6D1 =8 1 -5 19 -3 0 -6-5 2 -1 20 4 -
5、7 6D!= det(D1)D1 =81D2=2 8 -5 1;1 9 0 -6;0 -5 -1 2;1 0 -7 6D2 =2 8 -5 11 9 0 -60 -5 -1 2 1 0 -7 6 D2=det(D2)D2 = -108 D3=2 1 8 1;1 -3 9 -6;0 2 -5 2;1 4 0 6; D3=det(D3)D3 = -27 D4=2 1 -5 8;1 -3 0 9;0 2 -1 -5;1 4 -7 0; D4=det(D4)D4 = 27根据克莱姆法则计算得 x=D1/D D2/D D3/D D4/Dx =3 -4 -1 1即 1,4,4321 x.2线性方程组求解的
6、 MATLAB 命令MATLAB 中主要用 inv,null 分别求矩阵的逆和齐次方程组的基础解系。inv(A) 计算矩阵 A 的逆矩阵null(A) 计算齐次方程组的一个基础解系可以用 help inv,help null 查阅有关这些命令的详细信息例 5 解方程组 234yx. 相应的 MATLAB 代码为:clear;A=1 2;4 -3; b=23;2; X=Ab %左除法 ,解方程组 AX=b算得(x,y)=(6.6364,8.1818).如果用 inv命令, 相应的 MATLAB 代码为:clear;A=1 2;4 -3; b=23;2; x=inv(A)*b仍算得(x,y)=(6
7、.6364,8.1818).例 6 求不定方程组 23zyx的一个特解.相应的 MATLAB 代码为:clear;A=1 2 1;3 -2 1; b=2;2; x=Ab求得一个特解 )0,5.1(),(zyx.例 7 求超定方程组243yx的最小二乘解.显然,此方程组无解.所谓方程组 bAX的最小二乘解指使得向量 bAX的长度达到最小的解.相应的 MATLAB 代码为:clear;A=1 2;3 -2;1 -1; b=1;4;2; x=Ab求得一最小二乘解 )175.0,283.(),yx.例 8 求奇异方程组 4的一个特解.如果用前面的方法,相应的 MATLAB 代码为:clear;A=1
8、2;-2 -4; b=1;-2; x=Ab结果为x=Inf %说明不能直接求解Inf如果用clear;A=1 2;-2 -4;0 0; b=1;-2;0;x=Ab仍能求出一特解(x,y)=(0,0.5000).例 9 求方程组12431xx的通解.我们首先看方程组解的结构,计算系数矩阵和增广矩阵的秩,相应的 MATLAB 代码为:clear;a=1 -1 1 -1;-1 1 1 -1;2 -2 -1 1; b=1;1;-1;rank(a) %系数矩阵的秩rank(a,b) %增广矩阵的秩计算表明,系数矩阵和增广矩阵的秩都为 2,小于变量的个数 4,说明原方程组有无穷组解.有几种方法求原方程组的
9、通解.一种是用 rref 命令化为行最简形式求解. 相应的 MATLAB 代码为:clear;a=1 -1 1 -1;-1 1 1 -1;2 -2 -1 1; b=1;1;-1;rref(a,b)得最简形式为ans =1 -1 0 0 00 0 1 -1 10 0 0 0 0从而通解为 ,4321xx42为自由变量.另外一种方法用 null 命令求齐次方程组的一个基础解系.由于非齐次方程的通解等于齐次方程的通解加非齐次方程的一个特解,故可用如下的 MATLAB 代码:clear;a=1 -1 1 -1;-1 1 1 -1;2 -2 -1 1; b=1;1;-1;x0=ab %齐次方程的一个特解
10、x1=null(a) %非齐次方程的通解结果为x0 =0010x1 =-0.7071 0-0.7071 -0.0000-0.0000 0.70710 0.7071原方程组的通解为 )701.,.,0(),701.,.()0,1(),( 24321 ccx 式中 ,c为任意常数.三、实验内容: 1.计算下列各行列式:(1) 710254(2) 2605314(3) efcfbda(4) dcba102、设向量组 。判断此1234,3,2,31向量组是线性相关还是线性无关?并求向量组的秩及一个极大无关组。3.求下列齐次方程组的一个基础解系(1)0224321xx(2) 037161427542432xx4.求解下列非齐次线性方程组:(1)8310241x(2)253441wzyx5. 取何值时,非齐次方程组2321321x(1)有唯一解; (2)无解; (3)有无穷多个解?6 .非齐次方程组 2321321x当 取何值时有解?并求出它的全部解.7已知 0 是 3 阶矩阵 的一个特征值。021Aa(1)求矩阵 的特征值和特征向量;(2)求一正交矩阵 ,使得 为对角阵。Q18求矩阵的行简化阶梯型: 02133写出过程。