2008matlab程序题复习11.编写m文件要求利用matlab数值绘图功能画出衰减振荡曲线teyt3sin3及其它的包络线30tey。t的取值范围是]4,0[,数值采样间隔点为pi/50,teyt3sin3在图中用红色是线段绘出,30tey用蓝色虚线绘出,且两函数作在同一张图上。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数值绘图功能,画出2222)sin(yxyxz所表示的三维曲面。yx,的取值范围是]8,8[,要求去除当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])2008matlab程序题复习24.编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。4.functionc=collatz(n)c=n;whilen1ifrem(n,2)==0n=n/2;elsen=3*n+1;endc=[cn];end5.有一周期为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-1ya(i)=sum(y(i-1:i+1))/3;endya(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.26.x=[11.522.533.544.55]'y=[-1.42.735.98.412.216.618.826.2]'e=[ones(size(x))x.^2]c=e\yx1=[1:0.1:5]';y1=[ones(size(x1)),x1.^2]*c;plot(x,y,'ro')holdon;plot(x1,y1,'k');xlabel(x);2008matlab程序题复习3ylabel(y);title('拟合曲线');legend;7.22yxxez,当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),shadinginterptitle('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);2008matlab程序题复习4y=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');axisimagetext(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:n2008matlab程序题复习5step=2*pi/n;vertices=[vertices,exp(i*step*sqrt(-1))];endplot(vertices,'-o');axisimage%画外接圆holdontheta=linspace(0,2*pi);plot(cos(theta),sin(theta),'-r');holdoffaxisimage11.请用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);axisimagesubplot(1,3,2)surf(xx,yy,zz,gradient(zz));axisimagesubplot(1,3,3)surf(xx,yy,zz,del2(zz));axisimage12.试写一函数regStar(n),其功能为画出一个圆心在(0,0)、半径为1的圆,并在圆内画出一个内接正n星形,其中一顶点位于(0,1)。12.解:functionregStar(n)vertices=[1];fori=1:nstep=2*pi*floor(n/2)/n;vertices=[vertices,exp(i*step*sqrt(-1))];endplot(vertices,'-o');%画外接圆holdontheta=linspace(0,2*pi);plot(cos(theta),sin(theta),'-r');holdoffaxisimage2008matlab程序题复习613.利用matlab函数功能,编写function文件要求利用matlab数值绘图功能画出衰减振荡曲线tsineyt55及其它的包络线50tey。t的取值范围是]4,0[,数值采样间隔点为pi/50,tsineyt55在图中用红色是线段绘出,50tey用蓝色虚线绘出,且两函数作在同一张图上,并说明其调用方式。38.functiony=test(t);y0=exp(-t/3);y=exp(-t/3).*sin(3*t);figure;plot(t,y,'-r')hol