matlab课后习题答案

  • 格式:docx
  • 大小:48.06 KB
  • 文档页数:10

下载文档原格式

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

习题二

1.如何理解“矩阵是MATLAB最基本的数据对象”?

答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。

因此,矩阵是MATLAB最基本、最重要的数据对象。

2.设A和B是两个同维同大小的矩阵,问:

(1)A*B和A.*B的值是否相等?

答:不相等。

(2)A./B和B.\A的值是否相等?

答:相等。

(3)A/B和B\A的值是否相等?

答:不相等。

(4)A/B和B\A所代表的数学含义是什么?

答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。

3.写出完成下列操作的命令。

(1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。

答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5])

(2)删除矩阵A的第7号元素。

答:A(7)=[]

(3)将矩阵A的每个元素值加30。

答:A=A+30;

(4)求矩阵A的大小和维数。

答:size(A);

ndims(A);

(5)将向量t的0元素用机器零来代替。

答:t(find(t==0))=eps;

(6)将含有12个元素的向量x转换成34

矩阵。

答:reshape(x,3,4);

(7)求一个字符串的ASCII码。

答:abs(‘123’); 或double(‘123’);

(8)求一个ASCII码所对应的字符。

答:char(49);

4.下列命令执行后,L1、L2、L3、L4的值分别是多少?

A=1:9;B=10-A;...

L1=A==B;

L2=A<=5;

L3=A>3&A<7;

L4=find(A>3&A<7);

答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0]

L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0]

L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0]

L4的值为[4, 5, 6]

5.已知

完成下列操作:

(1)取出A的前3行构成矩阵B,前两列构成矩阵C,右下角32

⨯子矩阵构成矩阵D,B与C 的乘积构成矩阵E。

答:B=A(1:3,:);

C=A(:,1:2);

D=A(2:4,3:4);

E=B*C;

(2)分别求E=10&A<25)。

答:E

01

00

01

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

,E&D=

11

01

11

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

,E|D=

11

11

11

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

,~E|~D=

00

10

00

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

find(A>=10&A<25)=[1; 5]。

6.当A=[34, NaN, Inf, -Inf, -pi, eps, 0]时,分析下列函数的执行结果:all(A),any(A),isnan(A),isinf(A),

isfinite(A)。

答:all(A)的值为0

any(A) 的值为1

isnan(A) 的值为[0, 1, 0, 0, 0, 0, 0]

isinf(A) 的值为[0, 0, 1, 1, 0, 0, 0]

isfinite(A) 的值为[1, 0, 0, 0, 1, 1, 1]

7.用结构体矩阵来存储5名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和6门课

程的成绩。

答:student(1).id='0001';

student(1).name='Tom';

student(1).major='computer';

student(1).grade=[89,78,67,90,86,85];

8.建立单元矩阵B并回答有关问题。

B{1,1}=1;

B{1,2}='Brenden';

B{2,1}=reshape(1:9,3,3);

B{2,2}={12,34,2;54,21,3;4,23,67}; (1)size(B)和ndims(B)的值分别是多少?答:size(B) 的值为2, 2。

ndims(B) 的值为2。

(2)B(2)和B(4)的值分别是多少?

答:B(2)=

147

258

369

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

,B(4)=

[12][34][2]

[54][21][3]

[4][23][67]

⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

(3)B(3)=[]和B{3}=[]执行后,B的值分别是多少?

答:当执行B(3)=[]后,

B={1, [1, 4, 7; 2, 5, 8; 3, 6, 9], {12, 34, 2; 54, 21, 3; 4, 23, 67}}

当执行B{3}=[]后,

B={1,[]; [1, 4, 7; 2, 5, 8; 3, 6, 9], {12, 34, 2; 54, 21, 3; 4, 23, 67}}

习题三

1.写出完成下列操作的命令。

(1)建立3阶单位矩阵A。

答:A=eye(3);

(2)建立5×6随机矩阵A,其元素为[100,200]范围内的随机整数。

答:round(100+(200-100)*rand(5,6));

(3)产生均值为1,方差为0.2的500个正态分布的随机数。

答:1+sqrt(0.2)*randn(5,100);

(4)产生和A同样大小的幺矩阵。

答:ones(size(A));

(5)将矩阵A对角线的元素加30。

答:A+eye(size(A))*30;

(6)从矩阵A提取主对角线元素,并以这些元素构成对角阵B。

答:B=diag(diag(A));

2.使用函数,实现方阵左旋90o或右旋90o的功能。例如,原矩阵为A,A左旋后得到B,右旋后得

到C。

答:

B=rot90(A);

C=rot90(A,-1);

3.建立一个方阵A,求A的逆矩阵和A的行列式的值,并验证A与A-1是互逆的。

答: