MATLAB第2章练习参考答案1.在一个MATLAB命令中,6+7i和6+7*i有何区别?i和I有何区别?答:6+7i是一个复数常量;6+7*i是一个表达式,即将i看成一个运算量,参与表达式的运算。在MATLAB中,i作为常用的预定义变量,表示虚数单位,而I可作为一般的变量名使用,因为在MATLAB中变量名区分字母的大小写。2.设A和B是两个同大小的矩阵,试分析A*B和A.*B、A./B和B.\A、A/B和B\A的区别?如果A和B是两个标量数据,结论又如何?答:本题要求理解矩阵的基本算术运算与点运算的区别,可以分别设定两个同大小的矩阵A和B,然后在MATLAB中进行运算,仔细观察运算结果。3.写出完成下列操作的命令(1)删除矩阵A的第7号元素答:A(7)=[](2)将向量t的0元素用机器零来代替答:t(find(t==0))=eps(3)将含有12个元素的向量x转换成3*4矩阵答:reshape(X,3,4)(4)求一个字符串的ASCII答:abs(‘abc’)或double(‘abc’)(5)产生和A同样大小的幺矩阵答:ones(size(A))(6)从矩阵A提取主对角线元素,并以这些元素构成对角阵B答:B=diag(diag(A))4.要产生均值为3,方差为1的500个正态分布的随机序列,写出相应的表达式。答:3+randn(5,100)5.求下列矩阵的主对角元素、上三角矩阵、下三角矩阵、逆矩阵、行列式的值、秩、范数、条件数、迹。答:(1)A=[1-123;51-42;3052;111509];diag(A)ans=1159triu(A)ans=1-12301-4200520009tril(A)ans=100051003050111509inv(A)ans=-0.17580.16410.2016-0.0227-0.1055-0.1016-0.03910.0664-0.0508-0.08590.15160.00230.3906-0.0313-0.18130.0281det(A)ans=1280rank(A)ans=4norm(A)ans=21.3005cond(A)ans=11.1739trace(A)ans=16(2)B=[0.43432;-8.9421];diag(B)ans=0.43004.0000triu(B)ans=0.430043.00002.000004.000021.0000tril(B)ans=0.430000-8.90004.00000pinv(B)ans=0.0022-0.01750.0234-0.0017-0.00350.0405rank(B)ans=2norm(B)ans=43.4271cond(B)ans=1.9354trace(B)ans=4.43006.当A=[34,NaN,Inf,-Inf,-pi,eps,0]时,求函数all(A)、any(A)、isnan(A)、isinf(A)、isfinite(A)的值。答:A=[34,NaN,Inf,-Inf,-pi,eps,0];all(A)ans=0any(A)ans=1isnan(A)ans=0100000isinf(A)ans=0011000isfinite(A)ans=1000111