matlab 习题及答案1

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

第一次上机作业

1.设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)。

2.写出完成下列操作的命令:

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

B=A(:,1:3:5)

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

A(7)=[]

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

A=A+30

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

whos和size(A)

5)将含有12个元素的向量x转换成3×4矩阵

y=reshape(x,3,4)

3.下列命令执行后,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

00010000L2=1

11110000L3=0

00111000

L4=4

564.已知:A=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---14.35454

.9632053256545410778.01023完成下列操作:

(1)取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角3×2子矩阵构成矩阵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)。

1)E

10

001

2)E&D 结果

1

10

11

1

3)E|D 结果

1

11

1114)~E|~D 结果

01

000

5)find(A>=10&A<25)结果

1

5

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

(1)all(A)=0,矩阵A不是所有的元素都非零。

(2)any(A)=1,矩阵A中存在非零元素。

(3)isnan(A)=0100000,矩阵A中元素是nan则相对应位置元素取1,否则取0.

(4)isinf(A)=0011000,矩阵A中元素是+Inf 或—Inf,则相对应位置元素取1,否则取0。

(5)isfinite(A)=1000111,矩阵A中元素值大小有限则相对应位置元素取1,否则取0.。

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

a(1).x1=1;a(1).x2='zhang';a(1).x3='guangdianzi';a(1).x4=[100,100,100,100,100,90]; a(2).x1=2;a(2).x2='wang';a(2).x3='guangdianzi';a(2).x4=[90,90,90,90,90,100];

a(3).x1=3;a(3).x2='li';a(3).x3='guangdianzi';a(3).x4=[100,100,100,80,90,100];

a(4).x1=4;a(4).x2='zhao';a(4).x3='guangdianzi';a(4).x4=[100,6100,100,80,100,100]; a(5).x1=5;a(5).x2='sun';a(5).x3='guangdianzi';a(5).x4=[100,100,70,100,100,100]; 7.建立单元矩阵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)

ans=

43

ndims(B)

ans=

2

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

>>B(2)

ans=

7

B(4)

ans=

1

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

B(3)=[]

B=

1711185212963 8.在[0,3π]区间,求y=sin(x)的值。要求:

(1)消去负半波,即(π,2π)区间内的函数值置0.

x=0:pi/100:3*pi

y=sin(x)

y1=(x2*pi).*y

(2)(π/3,2π/3)和(7π/3,8π/3)区间内取值均为sinπ/3。

q=(x>pi/3&x<2*pi/3)|(x>7*pi/3&x<8*pi/3)

qn=~q

y2=q*sin(pi/3)+qn.*y1

提示:

先根据自变量向量x产生函数值向量y,然后按要求对y进行处理。处理的思路有两个:一是从自变量着手进行处理,二是从函数值着手进行处理。

9.写出完成下列操作的命令:

1)建立3阶单位矩阵。

a=eye(3)

a=

100

010

001

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

A=100+(200-100)*rand(5,6)

A=

195.0129176.2097161.5432140.5706105.7891120.2765

123.1139145.6468179.1937193.5470135.2868119.8722

160.6843101.8504192.1813191.6904181.3166160.3792

148.5982182.1407173.8207141.0270100.9861127.2188

189.1299144.4703117.6266189.3650113.8891119.8814

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

y=1+sqrt(0.2)*randn(50,10)

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

ones(size(A))

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

B=diag(A)+30

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

B=diag(A)

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

相关文档
最新文档