MATLAB习题答案

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

习题二

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

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

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

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等效于A的逆左乘B矩阵,即inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,即B*inv(A)。

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

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

答:B=A(2:5,1:2: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.已知

23

100.7780414565532503269.54

54 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥

-⎣⎦

完成下列操作: (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

⎢⎥⎣⎦

,E|D=111111⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,~E|~D=001000⎡⎤

⎢⎥⎢⎥⎢⎥⎣⎦

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)=147258369⎡⎤⎢⎥⎢⎥

⎢⎥⎣⎦

,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 。

147102581136912A ⎡⎤

⎢⎥=⎢⎥

⎢⎥⎣⎦

101112789456123B ⎡⎤

⎢⎥

⎥=⎢⎥⎢⎥⎣⎦

321654987121110C ⎡⎤

⎢⎥

⎥=⎢⎥⎢⎥⎣⎦

答:

B=rot90(A);

C=rot90(A,-1);

3.

建立一个方阵A ,求A 的逆矩阵与A 的行列式的值,并验证A 与A -1

就是互逆的。 答:

A=rand(3)*10;

B=inv(A); C=det(A);

先计算B*A,再计算A*B,由计算可知B*A=A*B,即A ·A -1

= A -1

·A 就是互逆。

4. 求下面线性方程组的解。

1231231

2422

32101238

x x x x x x x x +-=⎧⎪

-+=⎨⎪+=⎩

答:

A=[4,2,-1;3,-1,2;12,3,0];

b=[2;10;8];

x=inv(A)*b

相关文档
最新文档