河北大学MATLAB习题复习资料.docx
- 文档编号:1600547
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:39
- 大小:27.27KB
河北大学MATLAB习题复习资料.docx
《河北大学MATLAB习题复习资料.docx》由会员分享,可在线阅读,更多相关《河北大学MATLAB习题复习资料.docx(39页珍藏版)》请在冰豆网上搜索。
河北大学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=[008;0-75;230]b=[204;050;708]
然后利用reshape函数将它们变换成行向量。
解:
产生a的程序:
b=diag([8-72]);
c=b+diag([53],-1);
a=fliplr(c)
产生b的程序:
s=[228];
t=[437];
v=diag(s);
p=diag(t)+fliplr(v);
b=fliplr(p)
运行结果:
a=
008
0-75
230
b=
204
050
708
利用reshape函数将它们变换成行向量:
reshape(a,1,9)
ans=
0020-73850
3、产生一均匀分布在(-5,5)之间的随机阵(50*2),要求精确到小数点后一位。
解:
A=5-round(100*rand(50,2))/10
部分数据结果:
A=
2.40004.2000
-0.10002.7000
-4.6000-3.3000
-0.5000-0.4000
3.50004.2000
4、编程实现当t∈[-π,π],间隔为1°时求解正弦和余弦值。
解:
t=(-1*pi:
1/180:
pi);
y1=sin(t)
y2=cos(t)
部分数据结果:
Columns10through18(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、解:
ifand(a<1,b<=0.5)
语句1;
elseifand(a<1,b>0.5)
语句2;
elseifand(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.435439.3214-88.4472
91.1482-28.5962-209.9855
21.2336-74.0239-9.5871
-15.818472.132222.0444
71.442911.077034.8948
4、在给定的100*100矩阵中,删去整行为0的行,删去整列为0的列。
解:
A=diag([1234],1)
B=any(A)
[i,j]=find(B==0)
A(:
i)=[]%删除全为0的列
B=any(A')
[i,j]=find(B==0)
A(j,:
)=[]%删除全为0的行
运行结果:
初始值:
A=
01000
00200
00030
00004
00000
操作后:
A=
1000
0200
0030
0004
1、将窗口分割成四格,分别绘制正弦、余弦、正切和余切函数曲线,并加上适当的标注。
程序为:
x=0:
pi/50:
2*pi;
k=[1265176101];
x(k)=[];%删除正切和余切的奇异点
figure
(1)
subplot(2,2,1)
plot(x,sin(x),'k--'),gridon
legend('\ity=sin(x)')
title('y=sin(x)')
xlabel('x'),ylabel('y')
subplot(2,2,2)
plot(x,cos(x),'r--'),gridon
legend('\ity=cos(x)')
title('y=con(x)')
xlabel('x'),ylabel('y')
subplot(2,2,3)
plot(x,tan(x),'k'),gridon
legend('\ity=tan(x)')
title('y=tan(x)')
xlabel('x'),ylabel('y')
subplot(2,2,4)
plot(x,cot(x),'b-'),gridon
legend('\ity=cot(x)')
title('y=cot(x)')
xlabel('x'),ylabel('y')
运行如下:
2、绘制多峰函数peaks和三角函数多条曲线。
多峰函数peaks:
[x,y]=meshgrid(-3:
0.15:
3);
z=peaks(x,y);
x1=x(1,:
);
figure
(1)
plot(x1,z),gridon
title('二维多峰函数')
图形为:
[x,y]=meshgrid(-3:
0.15:
3);
z=peaks(x,y);
figure
(1)
plot3(x,y,z),gridon
title('三维多峰函数')
三角函数多条曲线:
程序为:
t=-pi:
pi/20:
pi;
y1=sinh(t);%双曲正弦
y2=cosh(t);%双曲余弦
figure
(1)
subplot(2,1,1)
plot(t,y1,'r--',t,y2,'k-'),gridon
legend('\ity1=sinh(t)','\ity2=cosh(t)')
title('三角函数1')
xlabel('t'),ylabel('y')
subplot(2,1,2)
plot(t,sin(t),'k-'),gridon
holdon%保持原有图像函数
plot(t,cos(t),'r--')
legend('\ity2=cos(t)','\ity1=sin(t)')
title('三角函数2')
xlabel('t'),ylabel('y')
运行图形为:
3、将图形窗口分成两个,分别绘制以下函数在[-3,3]区间上的曲线,并利用axis调整轴刻度,使他们具有相同缩放尺度。
y1=2x+5;y2=x2-3x+1。
程序为:
x=-3:
0.1:
3;
y1=2*x+5;
y2=x.^2-3*x+1;
figure
(1)
subplot(2,2,1)
plot(x,y1,'r-'),gridon
legend('\ity1=2*x+5')
title('y1=2x+5')
xlabel('x'),ylabel('y1')
subplot(2,2,2)
plot(x,y2,'k-'),gridon
legend('\ity2=x.^2-3*x+1')
title('y2=x^2-3x+1')
xlabel('x'),ylabel('y2')
subplot(2,2,3)
plot(x,y1,'r-'),gridon
legend('\ity1=2*x+5')
title('调整后的y1=2x+5')
axis([-33-1010])
xlabel('x'),ylabel('y1')
subplot(2,2,4)
plot(x,y2,'k-'),gridon
legend('\ity2=x.^2-3*x+1')
title('调整后的y2=x^2-3x+1')
axis([-33-1010])%调整坐标轴
xlabel('x'),ylabel('y2')
运行后的图形:
4、绘制饼图。
程序为:
x=[19033454245];
explode=[01000];
figure
(1)
subplot(2,1,1)
colormaphsv
pie(x,explode)
gtext('生活费')
gtext('资料费')
gtext('电话费')
gtext('衣服')
gtext('其它')
title('二维饼图')
subplot(2,1,2)
colormaphsv
pie3(x,explode)
title('三维饼图')
图形为:
5、画出函数z=(x-2)2+(y-1.2)2+sin(xy)的三维曲线和网格曲线。
程序为:
[x,y]=meshgrid(0:
0.5:
10);%为三维绘图产生x,y数据矩阵
z=(x-2).^2+(y-1.2).^2;
figure
(1)
subplot(2,1,1)
mesh(x,y,z),gridon%绘制网格曲线
title('网格曲线')
subplot(2,1,2)
plot3(x,y,z),gridon
title('三维曲线')
运行后的图形:
6、画出下列函数的曲面及等高线图z=x2+y2+sin(xy)。
程序为:
[x,y]=meshgrid(0:
pi/10:
2*pi);
z=x.^2+y.^2+sin(x*y);
figure
(1)
subplot(2,1,1)
surfc(x,y,z),gridon
title('曲面和等高线')
subplot(2,1,2)
[c,h]=contour(x,y,z);
set(h,'showtext','on','textstep',get(h,'levelstep')*2);
title('等高线')
运行后的图形:
1、将图形窗口分成两个,分别绘制正割和余割曲线,并加上标注。
程序为:
x1=0:
pi\10:
2*pi;
figure
(1)
subp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 河北大学 MATLAB 习题 复习资料