MATLAB画三维图
MATLAB画三维函数图下面将这几天所做的图像及程序小记一下望大虾指教一、螺旋线1 .静态螺旋线a=0:0.1:20*pi;h=plot3<a.*cos<a>,a.*sin<a>,2.*a,'b','linewidth',2>axis<-50,50,-50,50,0,150>gridonset<h,'erasemode','none','markersize',22>xlabel<'x轴'>ylabel<'y轴'>zlabel<'z轴'>title<,静态螺旋线,>2 .动态螺旋线t=0:0.1:10*pi;i=1;h=plot3<sin<t<i>>,cos<t<i>>,t<i>,'*','erasemode','none'>gridonaxis<-22-22035>fori=2:length<t>set<h,'xdata',sin<t<i>>,'ydata',cos<t<i>>,'zdata',t<i>>drawnowpause<0.01>endtitle<,动态螺旋线,><图略>3 .圆柱螺旋线t=0:0.1:10*pi;x=r.*cos<t>y=r.*sin<t>z=t;plot3<x,y,z,'h','linewidth',2>gridonaxis<'square'>xlabel<'x轴'>ylabel<'y轴'>zlabel<'z轴'>title<,圆柱螺旋线,>二、旋转抛物面b=0:0.2:2*pi;X,Y=meshgrid<-6:0.1:6>Z=<X,A2+Y.A2>./4;meshc<X,Y,Z>axis<'square'>xlabelv'x轴'>ylabel<'y轴'>zlabel<'z轴'>title<'旋转抛物面'>或直接用:ezsurfc<'<X.A2+Y.A2>./4'>三、椭圆柱面loadclownezsurf<'<2*cos<u>>','4*sin<u>','v',0,2*pi,0,2*pi>view<-105,40>shading interp %colormap<map>grid onaxis equalxlabel<'x 轴 '>ylabel<'ytitle<' 椭圆柱面 '>四、椭圆抛物面b=0:0.2:2*pi;X,Y=meshgrid<-6:0.1:6>Z=X.A2./9+Y.A2./4;meshc<X,Y,Z>axis<'square'>xlabel<'x 轴 '>ylabel<'ytitle<' 椭圆抛物面'>% 视角处理灯光处理% 颜色处理% 添加网格线% 使 x,y 轴比例一致轴 '>zlabel<'z 轴 '>% 添加标题轴 '>zlabel<'z 轴 '>% 添加坐标轴说明或直接用:ezsurfc<'X.A2./9+Y.A2./4'>五、'双叶双曲面ezsurf<'8*tan<u>*cos<v>','8.*tan<u>*sin<v>','2.*sec<u>',-pi./2,3*pi./2,0,2*pi>axisequalgridonaxissquarexlabel<'x轴'>ylabel<'y轴'>zlabel<'z轴'>title<'双叶双曲面'>六、双曲柱面loadclownezsurf<'2*sec<u>','2*tan<u>','v',-pi/2,pi/2,-3*pi,3*pi>hold on%在原来的图上继续作图ezsurf<'2*sec<u>','2*tan<u>','v',pi/2,3*pi/2,-3*pi,3*pi>colormap<map>shadinginterpview<-15,30>axisequalgridonaxisequalxlabel<'xtt'>ylabel<'y'>zlabel<'z轴title<"双曲柱面'>七、双曲抛物面马鞍面X,Y=meshgrid<-7:0,1:7>Z=XA2./8-YA2./6;meshc<X,Y,Z>view<85,20>axis<'square'>xlabel<'xtt'>ylabel<'y'>zlabel<'z轴title<'双曲抛物面,>或直接用:ezsurfc<'XA2./8-YA2./6'>八、抛物柱面X,Y=meshgrid<-7:0,1:7>Z=YA2./8;h=mesh<Z>rotate<h,101,180>%旋转处理%axis<-8,8,-8,8,-2,6>axis<'square'>xlabel<'x轴NylabeKy轴RzlabelvN轴title<"抛物柱面'>或直接用:ezsurfc<'Y.A2./8'>九、环面ezmesh<'<5+2*cos<u»*cos<v>','<5+2*cos<u»*sin<v>','2*sin<u>',0,2*pi,0,2*pi>axisequalgridonxlabel<'xtt'>ylabel<'y'>zlabel<'z轴title<'环面'>十、椭球ezsurfc<'<5*cos<u>>*sin<v>','<3*sin<u>>*sin<v>','4*cos<v>',0,2*pi,0,2*pi>axisequalgridonxlabel<'x轴'>ylabel<'y轴'>zlabel<'z轴'>title<'椭球'>十一、单叶双曲面ezsurf<'4*sec<u>*cos<v>','2.*sec<u>*sin<v>','3.*tan<u>',-pi./2,pi./2,0,2*pi>axisequalgridonxlabel<'x轴'>ylabel<'y轴'>zlabel<'z轴'>title<,单叶双曲面,>十二、旋转单叶双曲面loadclownezsurf<'8*sec<u>*cos<v>','8.*sec<u>*sin<v>','2.*tan<u>',-pi./2,pi./2,0,2*pi>colormap<map>view<-175,30>%alpha<.2>%透明处理axisequalgridonaxissquarexlabel<'x轴'>ylabel<'y轴'>zlabel<'z轴'>title<,旋转单叶双曲面,>十三、圆柱面subplot<1,2,1>ezsurf<'<2*cos<u>>','2*sin<u>','v',0,2*pi,0,2*pi>gridonshadinginterpaxisequalxlabel<'x轴'>ylabel<'y轴'>zlabel<'z轴'>title<"圆柱面'>subplot<1,2,2>cylinder<30>shadinginterpaxissquaretitle<'调用cylinder函数所得圆柱面,>下面给出用colormap<>改变图像颜色的例子:<用了灯光效果"shadinginterp">colormap<>%hot/cool/copper/gray/hsv/spring/summer/winter.colormap<hsv>colormap<hot>colormap<gray>colormap<cool>colormap<copper>下面做了旋转<"view<>">、灯光"shadinginterp"、透明"alpha<>"处理: