1 / 63 MATLAB习题参考答案1、利用基本矩阵产生3*3 和 15*8 的单位矩阵、全 1 矩阵、全 0 矩阵、均匀分布随机阵( [-1,1]之间)、正态分布随机阵(均值为1,方差为 4)。解:A1=eye(3); A2=ones(3); A3=zeros(3); A4=2*rand(3)-1; A5=2*randn(3)+1; B1=eye(15,8); B2=ones(15,8); B3=zeros(15,8); B4=2*rand(15,8)-1; B5=2*randn(15,8)+1; 结果:由于数据是随机产生的,所以在没有给出运行结果。2、利用 diag 等函数产生下列矩阵:a=[0 0 8;0 -7 5;2 3 0] b=[2 0 4;0 5 0;7 0 8] 然后利用 reshape 函数将它们变换成行向量。解:产生 a 的程序:b=diag([8 -7 2]); c=b+diag([5 3],-1); a=fliplr(c) 产生 b 的程序:2 / 63 s=[2 2 8]; t=[4 3 7]; v=diag(s); p=diag(t)+fliplr(v); b=fliplr(p) 运行结果:a = 0 0 8 0 -7 5 2 3 0 b = 2 0 4 0 5 0 7 0 8 利用 reshape 函数将它们变换成行向量:reshape(a,1,9) ans = 0 0 2 0 -7 3 8 5 0 3、产生一均匀分布在(-5,5 )之间的随机阵( 50*2),要求精确到小数点后一位。解:3 / 63 A=5-round(100*rand(50,2))/10 部分数据结果:A = 2.4000 4.2000 -0.1000 2.7000 -4.6000 -3.3000 -0.5000 -0.4000 3.5000 4.2000 4、编程实现当 t ∈[- π , π ], 间隔为 1° 时求解正弦和余弦值。解:t=(-1*pi:1/180:pi); y1=sin(t) y2=cos(t) 部分数据结果: Columns 10 through 18(y1)-0.0500 -0.0555 -0.0611 -0.0666 -0.0722 -0.0777 -0.0832 -0.0888 -0.0943 5、利用 rand 函数产生( 0,1 )间的均匀分布的10*10 随机矩阵 A,然后统计 A中大于等于 0.6 的元素的个数。解:4 / 63 A=rand(10); B=A >= 0.6; C=sum(B); count=sum(C) 运行结果(每次运行结果是不同的,仅作参考):count=32 6、利用 randn 函数产生均值为 0,方差为 1 的 10*10 随机矩阵 A,然后统计 A中大于 -0.5 且小于 0.5 的元素的个数。解:A=randn(10); B=(A<0.5)&(A>-0.5); C=sum(sum(B)) 运行结果(每次运行结果是不同的,仅作参考):C=48 1、解:if and(a<1,b<=0.5) 语句 1; elseif and(a<1,b>0.5) 语句 2; elseif and(a>=1,b<=0.5) 语句 3; 5 / 63 else 语句 4; 2、有一矩阵 A,找出矩阵中值等于1 的元素,并将它们重新排列成...