maab程序题复习.docx
- 文档编号:4323009
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:11
- 大小:41.65KB
maab程序题复习.docx
《maab程序题复习.docx》由会员分享,可在线阅读,更多相关《maab程序题复习.docx(11页珍藏版)》请在冰豆网上搜索。
maab程序题复习
1.编写m文件要求利用matlab数值绘图功能画出衰减振荡曲线
及其它的包络线
。
的取值范围是
,数值采样间隔点为pi/50,
在图中用红色是线段绘出,
用蓝色虚线绘出,且两函数作在同一张图上。
1.t=0:
pi/50:
4*pi;
y0=exp(-t/3);
y=exp(-t/3).*sin(3*t);
figure;
plot(t,y,'-r')
holdon;
plot(t,y0,':
b');
plot(t,-y0,':
b');
holdoff;
title(‘y=exp(-t/3)sin(3t)’);
xlabel(‘x’)
ylabel(‘y’)
2.利用matlab数值绘图功能,画出
所表示的三维曲面。
的取值范围是
,要求去除当x,y均等于0时,函数z的不连续点,数值坐标采样间隔为0.5.
2.clear;x=-8:
0.5:
8;
y=x';
[XY]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
surf(X,Y,Z);(mesh(X,Y,Z))
colormap(cool)
xlabel('x'),ylabel('y'),zlabel('z')
Title(‘z=sin(sqrt(x^2+y^2)/sqrt(x^2+y^2));
3.利用matlab数值绘图功能,绘制t在区间[-2pi2pi]时函数y=sin(t)/t的图形,采样间隔为pi/10,要求利用逻辑运算求出x=0时函数近似极限,并修补图形缺口。
3.t=-2*pi:
pi/10:
2*pi;
y=sin(t)./t;
tt=t+(t==0)*eps;
yy=sin(tt)./tt;
subplot(1,2,1),plot(t,y),axis([-7,7,-0.5,1.2]),
xlabel('t'),ylabel('y');
subplot(1,2,2),plot(tt,yy),axis([-7,7,-0.5,1.2])
4.编制一个解数论问题的函数文件:
取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
4.functionc=collatz(n)
c=n;
whilen>1
ifrem(n,2)==0
n=n/2;
else
n=3*n+1;
end
c=[cn];
end
5.有一周期为4?
的正弦波上叠加了方差为0.1的正态分布的随机噪声的信号,用循环结构编制一个三点线性滑动平均的程序。
(提示:
①用0.1*randn(1,n)产生方差为0.1的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x1
(2)=(x
(1)+x
(2)+x(3))/3,x1(3)=(x
(2)+x(3)+x(4))/3……)。
5.t=0:
pi/50:
4*pi;
n=length(t);
y=sin(t)+0.1*randn(1,n);
ya
(1)=y
(1);
fori=2:
n-1
ya(i)=sum(y(i-1:
i+1))/3;
end
ya(n)=y(n);
plot(t,y,'c',t,ya,'r','linewidth',2)
6.有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求解y。
并要求图示之。
x
1
1.5
2
2.5
3
3.5
4
4.5
5
y
-1.4
2.7
3
5.9
8.4
12.2
16.6
18.8
26.2
6.>>x=[11.522.533.544.55]'
>>y=[-1.42.735.98.412.216.618.826.2]'
>>e=[ones(size(x))x.^2]
>>c=e\y
>>x1=[1:
0.1:
5]';
>>y1=[ones(size(x1)),x1.^2]*c;
>>plot(x,y,'ro')
holdon;
plot(x1,y1,'k');
xlabel(x);
ylabel(y);
title('拟合曲线');
legend;
7.
,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。
7>>[x,y]=meshgrid([-2:
.2:
2]);
>>z=x.*exp(-x.^2-y.^2);
>>mesh(x,y,z)
>>subplot(2,2,1),plot3(x,y,z)
>>title('plot3(x,y,z)')
>>subplot(2,2,2),mesh(x,y,z)
>>title('mesh(x,y,z)')
>>subplot(2,2,3),surf(x,y,z)
>>title('surf(x,y,z)')
>>subplot(2,2,4),surf(x,y,z),shadinginterp
>>title('surf(x,y,z),shadinginterp')
8.利用matlab绘图功能,分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x),要求作在同一张图上,并标注标题。
8.解:
x=0:
pi/10:
2*pi;
y=2*sin(x);
subplot(2,2,1);
bar(x,y,'g');
title('bar(x,y,''g'')');axis([07–22]);
subplot(2,2,2);
stairs(x,y,'b');
title('stairs(x,y,''b'')');axis([07–22]);
subplot(2,2,3);
stem(x,y,'k');
title('stem(x,y,''k'')');axis([07–22]);
subplot(2,2,4);
fill(x,y,'y');
title('fill(x,y,''y'')');axis([07–22]);
必考9.使用MATLAB画一个圆心在原点、半径等于10的圆,并在圆周上依逆时钟方向取任意四点A、B、C、D,将线段AB、AC、AD、BC、BD、CD用直线画出。
计算线段AB、AC、AD、BC、BD、CD的长度。
clearall;
t=linspace(0,2*pi,50);
r=10;
x=r*cos(t);
y=r*sin(t);
a=r*[cos(0.50*pi),sin(0.50*pi)];
b=r*[cos(0.90*pi),sin(0.90*pi)];
c=r*[cos(1.25*pi),sin(1.25*pi)];
d=r*[cos(1.80*pi),sin(1.80*pi)];
plot(x,y,'b',a
(1),a
(2),'.k',b
(1),b
(2),'.k',c
(1),c
(2),'.k',d
(1),d
(2),'.k');
axisimage
text(a
(1),a
(2),'A');
text(b
(1),b
(2),'B');
text(c
(1),c
(2),'C');
text(d
(1),d
(2),'D');
line([a
(1),b
(1)],[a
(2),b
(2)],'color','r');t=(a+b)/2;text(t
(1),t
(2),'AB');
line([b
(1),c
(1)],[b
(2),c
(2)],'color','r');t=(b+c)/2;text(t
(1),t
(2),'BC');
line([c
(1),d
(1)],[c
(2),d
(2)],'color','r');t=(c+d)/2;text(t
(1),t
(2),'CD');
line([d
(1),a
(1)],[d
(2),a
(2)],'color','r');t=(d+a)/2;text(t
(1),t
(2),'DA');
line([a
(1),c
(1)],[a
(2),c
(2)],'color','r');t=(a+c)/2;text(t
(1),t
(2),'AC');
line([b
(1),d
(1)],[b
(2),d
(2)],'color','r');t=(b+d)/2;text(t
(1),t
(2),'BD');
ab=sqrt((a
(1)-b
(1)).^2+(a
(2)-b
(2)).^2);
fprintf('ab=%f\n',ab);
bc=sqrt((b
(1)-c
(1)).^2+(b
(2)-c
(2)).^2);
fprintf('bc=%f\n',bc);
cd=sqrt((c
(1)-d
(1)).^2+(c
(2)-d
(2)).^2);
fprintf('cd=%f\n',cd);
ad=sqrt((a
(1)-d
(1)).^2+(a
(2)-d
(2)).^2);
fprintf('ad=%f\n',ad);
ac=sqrt((a
(1)-c
(1)).^2+(a
(2)-c
(2)).^2);
fprintf('ac=%f\n',ac);
bd=sqrt((b
(1)-d
(1)).^2+(b
(2)-d
(2)).^2);
fprintf('bd=%f\n',bd);
必考10.试写一函数regPolygon(n),其功能为画出一个圆心在(0,0)、半径为1的圆,并在圆内画出一个内接正n边形,其中一顶点位于(0,1)。
例如regPolygon(8)可以画出如下之正八边型:
10.>>functionregpoly(n)
vertices=[1];
fori=1:
n
step=2*pi/n;
vertices=[vertices,exp(i*step*sqrt(-1))];
end
plot(vertices,'-o');
axisimage
%画外接圆
holdon
theta=linspace(0,2*pi);
plot(cos(theta),sin(theta),'-r');
holdoff
axisimage
11.请用surf指令来画出下列函数的曲面图:
z=x*exp(-x2-y2)其中x在[-2,2]间共等切分为21点,y在[-1,1]间共等切分为21点,所以此曲面共有21*21=441个点。
请以曲面的斜率来设定曲面的颜色。
请以曲面的曲率来设定曲面的颜色。
11.x=linspace(-2,2,21);%在x轴[-2,2]之间取21点
y=linspace(-1,1,21);%在y轴[-1,1]之间取21点
[xx,yy]=meshgrid(x,y);%xx和yy都是21×21的矩阵
zz=xx.*exp(-xx.^2-yy.^2);%计算函数值,zz也是21×21的矩阵
subplot(1,3,1)
surf(xx,yy,zz);axisimage
subplot(1,3,2)
surf(xx,yy,zz,gradient(zz));axisimage
subplot(1,3,3)
surf(xx,yy,zz,del2(zz));axisimage
12.试写一函数regStar(n),其功能为画出一个圆心在(0,0)、半径为1的圆,并在圆内画出一个内接正n星形,其中一顶点位于(0,1)。
12.解:
functionregStar(n)
vertices=[1];
fori=1:
n
step=2*pi*floor(n/2)/n;
vertices=[vertices,exp(i*step*sqrt(-1))];
end
plot(vertices,'-o');
%画外接圆
holdon
theta=linspace(0,2*pi);
plot(cos(theta),sin(theta),'-r');
holdoff
axisimage
13.利用matlab函数功能,编写function文件要求利用matlab数值绘图功能画出衰减振荡曲线
及其它的包络线
。
的取值范围是
,数值采样间隔点为pi/50,
在图中用红色是线段绘出,
用蓝色虚线绘出,且两函数作在同一张图上,并说明其调用方式。
38.
functiony=test(t);
y0=exp(-t/3);
y=exp(-t/3).*sin(3*t);
figure;
plot(t,y,'-r')
holdon;
plot(t,y0,':
b');
plot(t,-y0,':
b');
holdoff;
调用t=0:
pi/50:
4*pi;
y=test(t)
14.有一正弦衰减数据y=cos(x).*exp(-x/5),其中x=0:
pi/5:
4*pi,利用matlab三次样条插值函数进行插值,要求每两个数据点间插入3个数,并作出拟合后曲线。
14.>>x0=0:
pi/5:
4*pi;
>>y0=cos(x0).*exp(-x0/5);
>>x=0:
pi/20:
4*pi;
>>y=spline(x0,y0,x);
>>plot(x0,y0,'or',x,y,'b')
title(‘曲线拟合’);
xlabel(‘x’);
ylabel(‘y’);
15.利用matlab数值绘图功能,画出
所表示的三维曲面。
的取值范围是
,要求去除当x,y均等于0时,函数z的不连续点,数值坐标采样间隔为0.2。
15.clearall;
x=-6:
0.2:
6;
y=x';
[XY]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
surf(X,Y,Z);(mesh(X,Y,Z))
colormap(cool)
xlabel('x'),ylabel('y'),zlabel('z')
16.利用matlab指令计算表达式
的梯度并利用数值绘图功能绘出梯度图。
(x,y的取值范围[-33]采样间隔0.1)
16.>>v=-3:
0.1:
3;
>>[x,y]=meshgrid(v);
>>z=30*(x.^2-y.^3).*exp(-x.^2-y.^2);
>>[px,py]=gradient(z,.1,.1);
>>contour(x,y,z)
>>holdon
>>quiver(x,y,px,py)
>>holdoff
17.有一周期为3?
的正弦波上叠加了方差为0.2的正态分布的随机噪声的信号,利用matlab循环结构编制一个三点线性滑动平均的程序去除噪声。
(提示:
①用0.2*randn(1,n)产生方差为0.2的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x1
(2)=(x
(1)+x
(2)+x(3))/3,x1(3)=(x
(2)+x(3)+x(4))/3……)。
17.t=0:
pi/50:
3*pi;
n=length(t);
y=sin(t)+0.2*randn(1,n);
ya
(1)=y
(1);
fori=2:
n-1
ya(i)=sum(y(i-1:
i+1))/3;
end
ya(n)=y(n);
plot(t,y,'c',t,ya,'r','linewidth',2)
18.分段函数
x取样区间[04
],区间内采样500个点,要求利用逻辑关系运算对函数y=sin(x)逐段解析计算,并绘图。
(给出绘图指令即可)。
18.t=linspace(0,4*pi,500);
y=cos(t);
z1=((t
w=(t>pi/3&t<2*pi/3)+(t>7*pi/3&t<8*pi/3);
w_n=~w;
z2=w*cos(pi/5)+w_n.*z1;
plot(t,z2,'-b'),axis([010-11])
19.有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:
pi/5:
4*pi,用三次样条法进行插值。
19.>>x0=0:
pi/5:
4*pi;
>>y0=sin(x0).*exp(-x0/10);
>>x=0:
pi/20:
4*pi;
>>y=spline(x0,y0,x);
>>plot(x0,y0,'or',x,y,'b')
20.计算表达式
的梯度并利用matlab数值绘图功能绘图。
(x,y的取值范围[-22]采样间隔0.2)
20.>>v=-2:
0.2:
2;
>>[x,y]=meshgrid(v);
>>z=10*(x.^3-y.^5).*exp(-x.^2-y.^2);
>>[px,py]=gradient(z,.2,.2);
>>contour(x,y,z)
>>holdon
>>quiver(x,y,px,py)
>>holdoff
21.分段函数
x取样区间[03
],区间内采样300个点,要求利用逻辑关系运算对函数y=sin(x)逐段解析计算,并绘图。
(给出绘图指令即可)。
21.t=linspace(0,3*pi,500);
y=sin(t);
z1=((t
w=(t>pi/3&t<2*pi/3)+(t>7*pi/3&t<8*pi/3);
w_n=~w;
z2=w*sin(pi/3)+w_n.*z1;
plot(t,z2,'-b'),axis([010-11])
22.有一组测量数据满足
,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线。
并在结果图中添加标题
,并用箭头线标识出各曲线a的取值并添加标题
和图例框。
22.>>t=0:
0.5:
10;
>>y1=exp(-0.1*t);
>>y2=exp(-0.2*t);
>>y3=exp(-0.5*t);
>>plot(t,y1,'-ob',t,y2,':
*r',t,y3,'-.^g')
>>title('\ity\rm=e^{-\itat}')
>>title('\ity\rm=e^{-\itat}','FontSize',12)
>>text(t(6),y1(6),'\leftarrow\ita\rm=0.1','FontSize',11)
>>text(t(6),y2(6),'\leftarrow\ita\rm=0.2','FontSize',11)
>>text(t(6),y3(6),'\leftarrow\ita\rm=0.5','FontSize',11)
>>title('\ity\rm=e^{-\itat}','FontSize',12)
>>legend('a=0.1','a=0.2','a=0.5')
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- maab 程序 复习