河北大学MATLAB习题答案分解
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的程序:
s=[2 2 8];
t=[4 3 7];
v=diag(s);
p=diag(t)+fliplr(v);
b=fliplr(p)
运行结果:
a =
0 0 8
matlab考试题库及答案
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),要求精确到小数点后一位。
解:
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的元素的个数。
解:
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;
else
语句4;
2、有一矩阵A,出矩阵中值等于1的元素,并将它们重新排列成列向量B。
解:
A=2*rand(4);
k=find(A<=1);
A(k)=[];%删除下标为k的元素
B=A'
运行结果(每次运行结果是不同的,仅作参考)
B =
1.4769
1.8348
1.5310
1.1524
1.3667
1.0932
1.2889
1.2952
1.3580
3、在一测量矩阵A(100*3)中,存在有奇异值(假设大于100的置认为是奇异值),编程实
现删去奇异值所在的行。
解:
A=120*randn(10,3);
[i,j]=find(A>100);
A(i,:)=[] %删去存在奇异值的行
运行结果(每次运行结果是不同的,仅作参考):
A =
49.5355 -23.7550 -73.0269
-118.4354 39.3214 -88.4472
91.1482 -28.5962 -209.9855
21.2336 -74.0239 -9.5871
-15.8184 72.1322 22.0444
71.4429 11.0770 34.8948
4、在给定的100*100矩阵中,删去整行为0的行,删去整列为0的列。
解:
A=diag([1 2 3 4],1)
B=any(A)
[i,j]=find(B==0)
A(:,i)=[] %删除全为0的列
B=any(A')
[i,j]=find(B==0)
A(j,:)=[] %删除全为0的行
运行结果:
初始值:A =
0 1 0 0 0
0 0 2 0 0
0 0 0 3 0
0 0 0 0 4
0 0 0 0 0
操作后:A =
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
1、将窗口分割成四格,分别绘制正弦、余弦、正切和余切函数曲线,并加上适当的标注。
程序为:
x=0:pi/50:2*pi;
k=[1 26 51 76 101];
x(k)=[];%删除正切和余切的奇异点figure(1)
subplot(2,2,1)
plot(x,sin(x),'k--'),grid on legend('\ity=sin(x)')
title('y=sin(x)')
xlabel('x'), ylabel('y')
subplot(2,2,2)
plot(x,cos(x),'r--'),grid on legend('\ity=cos(x)')
title('y=con(x)')
xlabel('x'), ylabel('y')
subplot(2,2,3)
plot(x,tan(x),'k'),grid on legend('\ity=tan(x)')
title('y=tan(x)')
xlabel('x'), ylabel('y') subplot(2,2,4)
plot(x,cot(x),'b-'),grid on
legend('\ity=cot(x)')

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。