MATLAB习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
答: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