matlab程序题复习_第1页
matlab程序题复习_第2页
matlab程序题复习_第3页
matlab程序题复习_第4页
matlab程序题复习_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、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') hold on;plot(t,y0,':b');plot(t,-y0,':b'); hold off;title(y=exp(-t/3)sin(3t);xlabel(x)ylabel(y)2.利用matlab数值绘图功

2、能,画出所表示的三维曲面。的取值范围是,要求去除当x,y均等于0时,函数z的不连续点,数值坐标采样间隔为0.5.2.clear;x=-8:0.5:8; y=x'X Y=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(x2+y2)/sqrt(x2+y2);3.利用matlab数值绘图功能,绘制t在区间-2pi 2p

3、i时函数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,重复此过程,直到

4、整数变为1。 4.function c=collatz(n) c=n; while n>1 if rem(n,2)=0 n=n/2; else n=3*n+1; end c=c n; end5.有一周期为4p的正弦波上叠加了方差为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=len

5、gth(t); y=sin(t)+0.1*randn(1,n); ya(1)=y(1); for i=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。并要求图示之。x11.522.533.544.55y-1.42.735.98.412.216.618.826.2 6.>> x=1 1.5 2 2.5 3 3.5 4 4.5 5' &g

6、t;> y=-1.4 2.7 3 5.9 8.4 12.2 16.6 18.8 26.2' >> e=ones(size(x) x.2 >> c=ey >> x1=1:0.1:5' >> y1=ones(size(x1),x1.2*c; >> plot(x,y,'ro') hold on; plot(x1,y1,'k'); xlabel(x);ylabel(y); title('拟合曲线'); legend; 7.,当x和y的取值范围均为-2到2时,用建立子窗口的方

7、法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。 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), s

8、urf(x,y,z) >> title('surf (x,y,z)') >> subplot(2,2,4), surf(x,y,z), shading interp >> title('surf (x,y,z), shading interp')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('ba

9、r(x,y,''g'')'); axis(0 7 2 2);subplot(2,2,2);stairs(x,y,'b');title('stairs(x,y,''b'')');axis(0 7 2 2); subplot(2,2,3); stem(x,y,'k'); title('stem(x,y,''k'')');axis(0 7 2 2); subplot(2,2,4); fill(x,y,'y'); tit

10、le('fill(x,y,''y'')');axis(0 7 2 2); 必考 9.使用 MATLAB 画一个圆心在原点、半径等于 10 的圆,并在圆周上依逆时钟方向取 任意四点 A、B、C、D,将线段 AB、AC、AD、BC、BD、CD 用直线画出。 计算线段 AB、AC、AD、BC、BD、CD 的长度。 clear all;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*p

11、i);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'); axis imagetext(a(1), a(2), ' A');text(b(1), b(2), ' B');text(c(1), c(2), ' C');te

12、xt(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

13、)/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');

14、t=(b+d)/2; text(t(1), t(2), 'BD'); ab=sqrt(a(1)-b(1).2+(a(2)-b(2).2);fprintf('ab = %fn', ab);bc=sqrt(b(1)-c(1).2+(b(2)-c(2).2);fprintf('bc = %fn', bc);cd=sqrt(c(1)-d(1).2+(c(2)-d(2).2);fprintf('cd = %fn', cd);ad=sqrt(a(1)-d(1).2+(a(2)-d(2).2);fprintf('ad = %fn'

15、;, ad);ac=sqrt(a(1)-c(1).2+(a(2)-c(2).2);fprintf('ac = %fn', ac);bd=sqrt(b(1)-d(1).2+(b(2)-d(2).2);fprintf('bd = %fn', bd); 必考 10.试写一函数 regPolygon(n),其功能为画出一个圆心在 (0, 0)、半径为 1 的圆,并在圆内画出一个内接正 n 边形,其中一顶点位于 (0, 1)。例如 regPolygon(8) 可以画出如下之正八边型:10.>> function regpoly(n) vertices=1; f

16、or i=1:n step=2*pi/n;vertices=vertices, exp(i*step*sqrt(-1);endplot(vertices, '-o'); axis image% 画外接圆hold on theta=linspace(0, 2*pi);plot(cos(theta), sin(theta), '-r');hold offaxis image 11.请用 surf 指令来画出下列函数的曲面图: z = x*exp(-x2-y2) 其中 x 在 -2, 2 间共等切分为 21 点,y 在 -1, 1 间共等切分为 21 点,所以此曲面共

17、有 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); axis image subplot

18、(1,3,2)surf(xx, yy, zz, gradient(zz); axis image subplot(1,3,3)surf(xx, yy, zz, del2(zz); axis image 12.试写一函数 regStar(n),其功能为画出一个圆心在 (0, 0)、半径为 1 的圆,并在圆内画出一个内接正 n 星形,其中一顶点位于 (0, 1)。12.解:function regStar(n) vertices=1; for i=1:nstep=2*pi*floor(n/2)/n;vertices=vertices, exp(i*step*sqrt(-1);end plot(ve

19、rtices, '-o'); % 画外接圆hold ontheta=linspace(0, 2*pi); plot(cos(theta), sin(theta), '-r');hold offaxis image 13.利用matlab函数功能,编写function文件要求利用matlab数值绘图功能画出衰减振荡曲线及其它的包络线。的取值范围是,数值采样间隔点为pi/50,在图中用红色是线段绘出,用蓝色虚线绘出,且两函数作在同一张图上,并说明其调用方式。 38.function y=test(t);y0=exp(-t/3);y=exp(-t/3).*sin(3*

20、t); figure;plot(t,y,'-r') hold on;plot(t,y0,':b');plot(t,-y0,':b'); hold off;调用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

21、*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.clear all;x=-6:0.2:6; y=x'X Y=meshgrid(x,y); R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;surf(X,Y,Z);(mesh(X,Y,Z)colorm

22、ap(cool) xlabel('x'),ylabel('y'),zlabel('z') 16.利用matlab指令计算表达式的梯度并利用数值绘图功能绘出梯度图。(x,y的取值范围-3 3采样间隔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) >> hold on &g

23、t;> quiver(x,y,px,py)>> hold off17.有一周期为3p的正弦波上叠加了方差为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);

24、 for i=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取样区间0 4,区间内采样500个点,要求利用逻辑关系运算对函数y=sin(x)逐段解析计算,并绘图。(给出绘图指令即可)。18.t=linspace(0,4*pi,500);y=cos(t); z1=(t<pi)|(t>2*pi).*y;w=(t>pi/3&t<2*pi/3)+(t>7*pi/3&t<

25、;8*pi/3); w_n=w; z2=w*cos(pi/5)+w_n.*z1;plot(t,z2,'-b'),axis(0 10 -1 1) 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

26、9;) 20.计算表达式的梯度并利用matlab数值绘图功能绘图。(x,y的取值范围-2 2采样间隔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) >> hold on >> quiver(x,y,px,py) >> hold off21.分段函数,x取样区间0 3,区间内采样300个点,要求利用逻辑关系运算对函数y=sin(x)逐段解析计算,并绘图。(给出绘图指令即可)。21.t=linspace(0,3*pi,500);y=sin(t); z1=(t<pi)|(t>2*pi).

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论