线性代数Matlab开卷考试

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

线性代数开卷考试题目Matlab解析过程:

1.习题1第4题(1)

>> A=[1,2,0,-1;-1,-4,1,2;1,-4,3,1;2,-10,7,3];B=[-1,3,1,4]';

>> C=[A,B];

>> rank(A) %求系数矩阵的秩

ans =

3

>> rank(C) %求增广矩阵的秩

ans =

3

>> rref(C) %用rref()函数求解,最后一列即为解

ans =

1.0000 0 1.0000 0 1.0000

0 1.0000 -0.5000 0 1.0000

0 0 0 1.0000 4.0000

0 0 0 0 0

说明:如果用用除法求X的值或者用inv()函数求解会出现警告:Warning: Matrix is close to singular or badly scaled. Results may be inaccurate.

RCOND = 4.440892e-18.

而且两者的计算结果都为x =

4.0000

-0.5000

-3.0000

4.0000

原因是:矩阵奇异!所以不能求逆!结果可能不准确!必须换成不用求逆的算法

查阅资料如下:

奇异矩阵的判断方法:首先,看这个矩阵是不是方阵(即行数和列数相等的矩阵。若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵)。然后,再看此方阵的行列式|A|是否等于0,若等于0,称矩阵A为奇异矩阵;若不等于0,称矩阵A为非奇异矩阵。同时,由|A|≠0可知矩阵A可逆,这样可以得出另外一个重要结论:可逆矩阵就是非奇异矩阵,非奇异矩阵也是可逆矩阵。如果A为奇异矩阵,则AX=0有无穷解,AX=b有无穷解或者无解。如果A为非奇异矩阵,则AX=0有且只有唯一零解,AX=b有唯一解。

如果A(n×m)为奇异矩阵(singular matrix)<=> A的秩Rank(A)

如果A(n×m)为非奇异矩阵(nonsingular matrix)<=> A满秩,Rank(A)=n.

2.(1)当a取值为学号时

>> A=[1,-1,-2,3;1,-3,-6,2;1,5,0,-10;3,1,7,4];B=[0,-1,112,8]'; % 当a取值为学号时>> C=[A,B];

>> rank(A) %求系数矩阵的秩

ans =

4

>> rank(C) %求增广矩阵的秩

ans =

4

>> x=A\B %用除法求X的值

x =

14.6167

11.4100

-4.4467

-4.0333

>> reef(C) %用rref()函数求解,最后一列即为解

Undefined function 'reef' for input arguments of type 'double'.

>> rref(C)

ans =

1.0000 0 0 0 14.6167

0 1.0000 0 0 11.4100

0 0 1.0000 0 -4.4467

0 0 0 1.0000 -4.0333

>> x=inv(A)*B %用inv()函数求解

x =

14.6167

11.4100

-4.4467

-4.0333

2.(2)当a取值为常数a时

>> syms a %syms表示定义一个符号变量a,用于进行公式的化简和计算。

>> A=[1,-1,-2,3;1,-3,-6,2;1,5,0,-10;3,1,7,4];B=[0,-1,a,8]';

>> C=[A,B];

>> rank(A) %求系数矩阵的秩

ans =

4

>> rank(C) %求增广矩阵的秩

ans =

4

>> rref(C) %用rref()函数求解,最后一列即为解

ans =

[ 1, 0, 0, 0, (7*conj(a))/60 + 31/20] % 说明:y = conj(x)其中x是一个n维的数值数[ 0, 1, 0, 0, (11*conj(a))/100 - 91/100] % 组。该调用将返回x中每个复数的共轭复数。[ 0, 0, 1, 0, 39/50 - (7*conj(a))/150]

[ 0, 0, 0, 1, - conj(a)/30 - 3/10]

>> x=A\B %用除法求X的值

x =

(7*conj(a))/60 + 31/20

(11*conj(a))/100 - 91/100

39/50 - (7*conj(a))/150

- conj(a)/30 - 3/10

>> x=inv(A)*B %用inv()函数求解x =

(7*conj(a))/60 + 31/20

(11*conj(a))/100 - 91/100

39/50 - (7*conj(a))/150

- conj(a)/30 - 3/10

相关文档
最新文档