(完整word版)哈工大matlab期末考试题试题及答案(95分)分解,推荐文档 下载本文

和伪逆矩阵区别。

A=[1,2,3;4,5,6;7,8,9]; rank=rank(A) trace=trace(A) [V,D]=eig(A) norm=norm(A) cond=cond(A)

结果:rank = 2 trace = 15 V =

-0.2320 -0.7858 0.4082 -0.5253 -0.0868 -0.8165 -0.8187 0.6123 0.4082 D =

16.1168 0 0 0 -1.1168 0 0 0 -0.0000 norm =16.8481 cond =3.8131e+16

A=[1,2,3;4,5,6;7,8,9] a=magic(5) detA=det(A) invA=inv(A) pinvA=pinv(A) deta=det(a) inva=inv(a) pinva=pinv(a)

如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A‘同型的矩阵B,使得: A·B·A=A B·A·B=B 此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。

12. 已知:a=6; A=pascal(4); B=randn(4);求A*B, A.*B, B/A,B./A, B\\A,

B.\\A ,A.^a, A^a,并且说明数组和矩阵在上述运算中的区别。

a=6; A=pascal(4); B=randn(4); A*B A.*B B/A B./A B\\A B.\\A A.^a A^a

ans =

-3.3843 -0.7710 0.2884 -0.4321 -5.7672 -3.9198 1.6239 1.0912 -6.7793 -10.8330 4.2172 4.3328 -4.9821 -23.2219 8.3812 9.9203 ans =

-1.0689 0.3252 -0.1022 -0.8649 -0.8095 -1.5099 -0.7243 -0.1202 -2.9443 4.1109 1.9152 -1.6488 1.4384 -6.8461 3.1286 12.5541 ans =

-5.7707 9.4959 -6.2804 1.4863 0.3558 -3.1462 2.7419 -0.7610 -18.5572 32.8440 -23.1637 5.9327 16.6463 -34.1498 25.8257 -6.8838

ans =

-1.0689 0.3252 -0.1022 -0.8649 -0.8095 -0.3775 -0.0805 -0.0075 -2.9443 0.4568 0.0532 -0.0165 1.4384 -0.4279 0.0313 0.0314 ans =

-0.6348 -1.6245 -2.9494 -4.6346 -1.1688 -2.9031 -5.9575 -10.7762 1.7679 6.3637 16.2994 33.0876 -1.0201 -0.9924 -1.6780 -3.3918 ans =

-0.9356 3.0751 -9.7807 -1.1562 -1.2353 -2.6493 -12.4251 -133.1057 -0.3396 2.1893 18.7966 -60.6505 0.6952 -2.3371 31.9633 31.8620 ans =

1 1 1 1 1 64 729 4096 1 729 46656 1000000 1 4096 1000000 64000000 ans =

1200089 4011200 9133680 17222240 4011200 13407257 30529056 57564976 9133680 30529056 69516457 131078976 17222240 57564976 131078976 247160297

数组运算是指数组对应元素之间的运算,也称点运算.矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所以数组乘法、乘方和除法的运算符前特别加了一个点。 (1)对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都不同:矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符; (2)数与矩阵加减、矩阵除法在数学是没有意义的,在MATLAB中为简便起见,定义了这两类运算

13. 分别采用不循环语句和循环语句For和while计算级

数:S=1+6+62+63+···+633 ,并且说明循环语句For和while之间的区别。

While 语句

s=0;

i=0;

while i<34 s=s+6^i; i=i+1; end S

For 语句: s=0;

for i=(0:1:33) s=s+6^i; end S

不循环语句:

i=(0:1:33); sum(6.^i)

for和while的区别:while循环语句与for循环语句不同的是,前者是以条件的满足与否来判断循环是否结束的,而后者则是以执行次数是否达到指定值来判断的。

14. 采用M函数文件编写特殊矩阵函数Hilbter,Hilbter矩阵特点是每个元素

A(i,j)?1,并且调用matlab中的函数Hilb,进行对比。

i?j?1 A=zeros(6,6) A =

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

>> for i=1:1:6 for j=1:1:6

A(i,j)=1./(i+j-1); end end >> A