matlab程序题复习.docx

上传人:b****8 文档编号:8942608 上传时间:2023-05-16 格式:DOCX 页数:13 大小:41.40KB
下载 相关 举报
matlab程序题复习.docx_第1页
第1页 / 共13页
matlab程序题复习.docx_第2页
第2页 / 共13页
matlab程序题复习.docx_第3页
第3页 / 共13页
matlab程序题复习.docx_第4页
第4页 / 共13页
matlab程序题复习.docx_第5页
第5页 / 共13页
matlab程序题复习.docx_第6页
第6页 / 共13页
matlab程序题复习.docx_第7页
第7页 / 共13页
matlab程序题复习.docx_第8页
第8页 / 共13页
matlab程序题复习.docx_第9页
第9页 / 共13页
matlab程序题复习.docx_第10页
第10页 / 共13页
matlab程序题复习.docx_第11页
第11页 / 共13页
matlab程序题复习.docx_第12页
第12页 / 共13页
matlab程序题复习.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

matlab程序题复习.docx

《matlab程序题复习.docx》由会员分享,可在线阅读,更多相关《matlab程序题复习.docx(13页珍藏版)》请在冰点文库上搜索。

matlab程序题复习.docx

matlab程序题复习

1.编写m文件要求利用matlab数值绘图功能画出衰减振荡曲线

及其它的包络线

的取值范围是

,数值采样间隔点为pi/50,

在图中用红色是线段绘出,

用蓝色虚线绘出,且两函数作在同一张图上。

=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的不连续点,数值坐标采样间隔为.

;x=-8:

:

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时函数近似极限,并修补图形缺口。

=-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,,]),

xlabel('t'),ylabel('y');

subplot(1,2,2),plot(tt,yy),axis([-7,7,,])

4.编制一个解数论问题的函数文件:

取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。

c=collatz(n)

c=n;

whilen>1

ifrem(n,2)==0

n=n/2;

else

n=3*n+1;

end

c=[cn];

end

5.有一周期为4的正弦波上叠加了方差为的正态分布的随机噪声的信号,用循环结构编制一个三点线性滑动平均的程序。

(提示:

①用*randn(1,n)产生方差为的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如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)+*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

2

3

4

5

y

3

6.>>x=[12345]'

>>y=[3]'

>>e=[ones(size(x))x.^2]

>>c=e\y

>>x1=[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*pi),sin*pi)];

b=r*[cos*pi),sin*pi)];

c=r*[cos*pi),sin*pi)];

d=r*[cos*pi),sin*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个点。

请以曲面的斜率来设定曲面的颜色。

请以曲面的曲率来设定曲面的颜色。

=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的不连续点,数值坐标采样间隔为。

all;

x=-6:

:

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]采样间隔)

16.>>v=-3:

:

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的正弦波上叠加了方差为的正态分布的随机噪声的信号,利用matlab循环结构编制一个三点线性滑动平均的程序去除噪声。

(提示:

①用*randn(1,n)产生方差为的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如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)+*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)逐段解析计算,并绘图。

(给出绘图指令即可)。

=linspace(0,4*pi,500);

y=cos(t);

z1=((t2*pi)).*y;

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]采样间隔)

20.>>v=-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)逐段解析计算,并绘图。

(给出绘图指令即可)。

=linspace(0,3*pi,500);

y=sin(t);

z1=((t2*pi)).*y;

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=、a=和a=三种情况下的曲线。

并在结果图中添加标题

,并用箭头线标识出各曲线a的取值并添加标题

和图例框。

22.>>t=0:

:

10;

>>y1=exp*t);

>>y2=exp*t);

>>y3=exp*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=','FontSize',11)

>>text(t(6),y2(6),'\leftarrow\ita\rm=','FontSize',11)

>>text(t(6),y3(6),'\leftarrow\ita\rm=','FontSize',11)

>>title('\ity\rm=e^{-\itat}','FontSize',12)

>>legend('a=','a=','a=')

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2