用matlab绘制的漂亮图形

合集下载

陈泽灏 MATLAB巧绘七彩玫瑰线

陈泽灏 MATLAB巧绘七彩玫瑰线

-0.1
0 向日葵
0.1
0.2
0.3
0.4
0.5
荷花 2.5
2
1.5
1
0.5
0
-0.5
-1 -2
-1.5
-1
-0.5
0
0.5
1
1.5
2
狗尾巴草 2.5
2
1.5
1
0.5
0
-0.5
-1
0.6
-2
-1
0
1
2
0.3
0.4
0.2
0.2
0.1
0
0
-0.2ቤተ መጻሕፍቲ ባይዱ
-0.1
-0.4
-0.2
-0.6
-0.3
-0.8 -0.8
0.5
0.5
270 n=4
300
240
270 n=5
300
图2
对比图 1 和图 2,可以看出,当把 限制在 [0, ] 内时,玫瑰线就已经形成了 n 个花瓣,当 t 在 [ ,2 ] 内时,又新增了 n 个花瓣;只是若 n 为偶数,新增的 n 个花瓣不与原来的花瓣重合;若 n 为奇数,新增的 n 个花瓣与原来的花瓣重合罢 了。 进一步,令 n=3,我们在 [0, / 3],[ / 3,2 / 3],[2 / 3, ] 三个区间里分别用红、 绿、蓝三种颜色画玫瑰线,结果如图 3.
MATLAB 巧绘七彩玫瑰线
西工大附中高 2013 届 13 班 陈泽灏
摘要 研究了玫瑰线的性质及 matlab 的作图功能。 在认识玫瑰线性质的基础 上,以 matlab 为工具,用玫瑰线或其一部分作为基本线条,配以心形线以及直 线,画出了各种漂亮的图案,从而对数学的实用性有了更加深刻的认识。 关键词 玫瑰线;matlab;性质 先看看这些漂亮的图案吧!让我来告诉你,它们是用 matlab 画的,而且过 程非常简单!因为所有的这些图案虽然各不相同,但它们都是用一种线条画出来 的!它就是------ 玫瑰线。对,玫瑰线! 1.什么是玫瑰线 什么是玫瑰线呢?玫瑰线是一族平面曲线,又叫格拉金曲线,意大利数学 家格拉金是第一个研究玫瑰线的人(1728 年) 。玫瑰线的极坐标方程为

Matlab绘图系列之高级绘图

Matlab绘图系列之高级绘图

Matlab绘图系列之高级绘图一、目录1.彗星图二维彗星图三维彗星图2.帧动画3.程序动画4.色图变换5.V oronoi图和三角剖分V oronoi图三角剖分6.四面体7.彩带图彩带图三维流彩带图8.伪彩图9.切片图切片图切片轮廓线图10.轮廓图显示轮廓线显示围裙瀑布效果带光照模式的阴影图11.函数绘图轮廓线、网格图、曲面图、轮廓网格图轮廓曲面图、二维曲线、极坐标曲线图、自定义函数12.三维图形控制视点灯光效果色彩控制二、图形示例1.彗星图二维彗星图t=0:.01:2*pi;x=cos(2*t).*(cos(t).^2);y=sin(2*t).*(sin(t).^2);comet(x,y);title('二维彗星轨迹图')hold onplot(x,y)三维彗星图a=12;b=9;T0=2*pi;%T0是轨道的周期T=5*T0;dt=pi/100;t=[0:dt:T]';f=sqrt(a^2-b^2);%地球与另一焦点的距离th=12.5*pi/180;%未经轨道与x-y平面的倾角E=exp(-t/20);%轨道收缩率x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t));plot3(x,y,z,'g')%画全程轨线hold on,sphere(20);%画地球axis offtitle('卫星返回地球示例')x1=-18*T0;x2=6*T0;y1=-12*T0;y2=12*T0;z1=-6*T0;z2=6*T0;axis([x1 x2 y1 y2 z1 z2])% axis([-15 10 -15 10 -10 10])axis equalcomet3(x,y,z,0.02);%画运动轨线hold off2.帧动画Z=peaks;surf(Z)%绘制网格表面图axis tightset(gca,'nextplot','replacechildren');%设定axis覆盖重画模式title('帧动画播放示例')for j=1:20surf(sin(2*pi*j/20)*Z,Z)%重新绘制网格表面图,这里后面一个Z当成了颜色矩阵F(j)=getframe;%创建帧endmovie(F,20)%播放动画20次3.程序动画t=0:pi/50:10*pii=1;h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none');%设定擦除模式grid onaxis([-2 2 -2 2 -1 10*pi])title('程序动画示例')for i=2:length(t)set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i));drawnowpause(0.01)end4.色图变换load spineimage(X)colormap coolspinmap(10)5.V oronoi图和三角剖分V oronoi图rand('state',5)x=rand(1,10);y=rand(1,10);subplot(131)voronoi(x,y);%绘制voronoi图形axis equalaxis([-0.2 1.6 -0.5 2.5])subplot(132)[vx,vy]=voronoi(x,y);plot(x,y,'r+',vx,vy,'b-');%应用返回值绘制axis equalaxis([-0.2 1.6 -0.5 2.5])subplot(133)rand('state',5);x=rand(10,2);[v,c]=voronoin(x);%返回值v参数维voronoi顶点矩阵,返回值c参数为voronoi元胞数组for i=1:length(c)if all(c{i}~=1)patch(v(c{i},1),v(c{i},2),i);%应用色图iendendaxis equalaxis([-0.2 1.6 -0.5 2.5])box on三角剖分[x,y]=meshgrid(1:15,1:15);tri=delaunay(x,y);z=peaks(15);trimesh(tri,x,y,z)6.四面体d=[-1 1];[x,y,z]=meshgrid(d,d,d);%定义一个立方体x=[x(:);0];y=[y(:);0];z=[z(:);0];%[x,y,z]分别为加上中心的立方体顶点X=[x(:) y(:) z(:)];Tes=delaunayn(X);%返回m×n的数组值tetramesh(Tes,X);%绘制四面体图camorbit(20,0);%旋转摄像目标位置7.彩带图彩带图[x,y]=meshgrid(-3:.5:3,-3:.1:3);z=peaks(x,y);ribbon(y,z)三维流彩带图load wind%打开保存的数据lims=[100.64 116.67 17.25 28.75 -0.02 6.86];%定义坐标轴范围[x,y,z,u,v,w]=subvolume(x,y,z,u,v,w,lims);%lims来定义数据子集[sx sy sz]=meshgrid(110,20:5:30,1:5);%定义网格点verts=stream3(x,y,z,u,v,w,sx,sy,sz,.5);%计算彩带顶点cav=curl(x,y,z,u,v,w);%计算卷曲角速度wind_speed=sqrt(u.^2+v.^2+w.^2);%计算流速h=streamribbon(verts,x,y,z,cav,wind_speed,2);%绘制流彩带图view(3)8.伪彩图n=6%定义轮数r=(0:n)'/n;%定义轮的半径theta=pi*(-n:n)/n;%定义轮的扇区角X=r*cos(theta);Y=r*sin(theta);%定义网格顶点C=r*cos(2*theta);%定义色图pcolor(X,Y,C)%绘制伪彩图axis equal tight 9.切片图切片图[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);v = x.*exp(-x.^2-y.^2-z.^2);xslice = [-1.2,.8,2]; yslice = 2; zslice = [-2,0];slice(x,y,z,v,xslice,yslice,zslice)colormap hsv切片轮廓线图[x y z v]=flow;%打开水流数据h=contourslice(x,y,z,v,[1:9],[],[0],linspace(-8,2,10));%切片轮廓线view([-12 30])10.轮廓图显示轮廓线[x,y,z]=peaks;subplot(1,2,1)meshc(x,y,z);%同时画出网格图与轮廓线title('meshc 网格图与轮廓线')axis([-inf inf -inf inf -inf inf]);subplot(1,2,2)surfc(x,y,z);%同时画出曲面图与轮廓线title('surfc 曲面图与轮廓线')axis([-inf inf -inf inf -inf inf]);显示围裙[x y z]=peaks;meshz(x,y,z);瀑布效果[X,Y,Z]=peaks(30);waterfall(X,Y,Z)带光照模式的阴影图[x,y]=meshgrid(-3:1/8:3);z=peaks(x,y);surfl(x,y,z);shading interp%着色处理colormap(gray);%灰度处理axis([-3 3 -3 3 -8 8])11.函数绘图轮廓线、网格图、曲面图、轮廓网格图%图1绘制轮廓线、网格图、曲面图、轮廓网格图subplot(221)f=['3*(1-x)^2*exp(-(x^2)-(y+1)^2)-10*(x/5-x^3-y^5)*exp(-x^2-y^2)-1/3*exp(-(x+1)^2-y^2)'];%定义双变量x、y的函数式ezcontour(f,[-3,3],49)%x、y为[-3 3],网格为49×49 subplot(222)ezmesh('sqrt(x^2+y^2)');subplot(223)ezsurf('real(atan(x+i*y))')%经过滤波,如果相同数据surf绘图没有滤波subplot(224)ezmeshc('y/(1+x^2+y^2)',[-5,5,-2*pi,2*pi])%x、y的数值范围分别为[-5 5]、[-2*pi 2*pi]轮廓曲面图、二维曲线、极坐标曲线图、自定义函数%图2绘制轮廓曲面图、二维曲线、极坐标曲线图、自定义函数figure(2)subplot(221)ezsurfc('sin(u)*sin(v)')subplot(222)ezplot('x^2-y^4');subplot(223)ezpolar('1+cos(t)')subplot(224)fplot('myfun',[-20 20])function Y=myfun(x)Y(:,1)=200*sin(x(:))./x(:);Y(:,2)=x(:).^2;三维曲线图%绘制三维曲线图figure(3)ezplot3('sin(t)','cos(t)','t',[0,6*pi])12.三维图形控制视点View图形旋转subplot(121)surf(peaks);title('旋转前图形');subplot(122)h=surf(peaks);rotate(h,[1 0 1],180)title('旋转后图形');灯光效果%灯光效果(1)camlight(2)light(3)lightangle(4)lighting(5)materialsphere;camlight色彩控制%色彩控制(1)缺省设置colordef、whitebg(2)色图colormap(3)浓淡处理shadingload flujetimage(X)colormap(jet)subplot(131)sphere(16)axis squareshading flattitle('Flat Shading')subplot(132)sphere(16)axis squareshading facetedtitle('Faceted Shading')subplot(133)sphere(16)axis squareshading interptitle('Interpolated Shading')。

四讲Matlab绘图ppt课件精品文档

四讲Matlab绘图ppt课件精品文档

p l o t (. . ., s t r ) 使用字符串s t r指定的颜
色和线型进行绘图。表1 中列出了s t r可
以取的值。
2019/10/12
4
一、二维图形:表一


.

^
正三角
*
星号
v
倒三角
OO
s
正方形
++
d
菱形
X 乘号
p
五角星
<
左三角
h
六角星
>
右三角
none 无点
2019/10/12
5
2019/10/12
26
三、三维图形
m e s h ( X,Y,Z ) 将矩阵Z中的各个元素作 为矩形网格上的高度,对这些值绘图,
并且将相邻的点连接形成三维网格表面 图。颜色由高度,即Z中的元素指定。
s u r f ( X , Y , Z) 绘制出由坐标(Xi j, Yi j, Zi j)确定的表面图形。如果X和Y分别是长 度为m和n的向量,那么, Z必须为m×n 的矩阵,并且表面是由(Xj, Yi, Zi j)来定 义的。
一、二维图形:表一
线型
颜色
--. : none
实线 m 虚线 b 点划线 c 点线 w 无线 r
品红色 蓝色 灰色 白色 红色
颜色
k
g
绿色 y
黑色 黄色
2019/10/12
6
一、二维图形
1.2彗星图形
c o m e t ( x , y ) 绘制向量y对向量x的彗星 轨线。如果只给出一个向量,则用该向 量对其下标值绘图。
2019/10/12
10

用matlab绘制的漂亮图形

用matlab绘制的漂亮图形

用matlab绘制的漂亮图形1.不同坐标系下的图形对比theta=0:pi/20:4*pi;phi= theta.^2- theta;[t,p]=meshgrid(theta,phi);r=t.*p;subplot(1,2,1);mesh(t,p,r);ylabel('x');xlabel('y');zlabel('z');[x,y,z]=sph2cart(t,p,r);subplot(1,2,2);mesh(x,y,z);ylabel('x');xlabel('y');zlabel('z');2.球曲面的法线[x,y,z]=sphere;Surfnorm(x,y,z)3.x=rand(100,1)*16-8;y=rand(100,1)*16-8;r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;xlin=linspace(min(x),max(x),33);ylin=linspace(min(y),max(y),33); [X,Y]= meshgrid(xlin,ylin);Z=griddata(x,y,z,X,Y);mesh(X,Y,Z);axis tight;hold on;ylabel('x');xlabel('y');zlabel('z'); plot3(x,y,z,’r’,’MarkerSize’,15)x=rand(1000,1)*16-8;y=rand(1000,1)*16-8;r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;xlin=linspace(min(x),max(x),99);ylin=linspace(min(y),max(y),99); [X,Y]= meshgrid(xlin,ylin);Z=griddata(x,y,z,X,Y);mesh(X,Y,Z);axis tight;hold on;ylabel('x');xlabel('y');zlabel('z'); plot3(x,y,z,'r','MarkerSize',30);去掉网格后:4.圆通fnplt(fncmb(rsmak(‘cylinder’,1,2),[0 0 -1;0 1 0;1 0 0])); axis equal,axis off;shading interp5.c=8.01*10^(-6);T=9.8*0.940*10^(-7);for m=1:100a=m/10000000;for n=1:100b=n/10000000;omiga(m,n)=sqrt((10.6667*a^3*b^5+10.6667*a^5*b^3)/(2.3112*a^5*b^5*c)* T)/(2*pi);endendmesh((1:100)/10000000,(1:100)/10000000,omiga);ylabel('半短轴b');xlabel('半长轴a');zlabel('频率f');6.马鞍面x=-8:8; y=-8:8;[X,Y]= meshgrid(x,y);Z=(X.^2./4.^2-Y.^2./5.^2);meshz(X,Y,Z);ylabel('x');xlabel('y');zlabel('z');x=-8:8;y=-8:8;[X,Y]= meshgrid(x,y);Z=X.^2./4.^2-Y.^2./5.^2;surfc(X,Y,Z);ylabel('x');xlabel('y');zlabel('z');7.螺旋线t=0:pi/60:10*pi;x=sin(t);y=cos(t);plot3(x,y,t,'*-b');ylabel('x');xlabel('y');zlabel('z');t=0:pi/60:10*pi;x=sin(t);y=cos(t);fill3(x,y,t,'*-b');ylabel('x');xlabel('y');zlabel('z');8.[x,y]= meshgrid([-2:0.2:2]); f=x.^2+y.^2;[fx,fy]= gradient(f,0.2,0.2); quiver(x,y,fx,fy);hold oncontour(x,y,f);9.[x,y]= meshgrid([-4:0.1:4]); z=x.*exp(-x.^2-y.^2);plot3(x,y,z);10. [x,y]= meshgrid([-2:0.05:2]); z=x.*exp(-x.^2-y.^2);surf(x,y,z);11.牛顿环(动态的)clearR=1;N=400;lamda=200e-9;rr=0.0017; [x,y]= meshgrid(linspace(-rr,rr,N)); r=sqrt(x.^2+y.^2);phi=r.^2/R./lamda.*pi.*2+pi;I=4.*cos(phi./2).^2;H=imshow(I);t=0;k=1;while k;s=get(gcf,'currentkey');if strcmp(s,'space');clc;k=0;endt=t+0.01;pause(0.2);phi=phi+t;I=4.*cos(phi./2).^2;set(H,'CData',I);end12.衍射调制下的双孔干涉条纹clear alllambda=500e-9;D=1;d=1e-6;a=3.5*d;ymax=10*lambda*D/a;xmax=ymax;N=101;xs=linspace(-xmax,xmax,N);ys=linspace(-ymax,ymax,N);for i=1:N;for j=1:N;r1(i,j)=sqrt(D.^2+(ys(i)-a./2).^2+xs(i).^2);r2(i,j)=sqrt(D.^2+(ys(j)-a./2).^2+xs(j).^2);Dr=r2-r1;phi(i,j)=Dr(i,j)./lambda.*pi.*2;m(i,j)=pi.*d.*sin(phi(i,j))./lambda;I(i,j)=(4.*cos(phi(i,j)./2).^2).*real((2.*besselj(1,m(i,j))./m(i,j)). ^2);endendNC=225;Ir=I*NC;subplot(1,2,1);image(xs,ys,Ir);axis equalcolormap(gray(NC));subplot(1,2,2);plot(I,m),hold onlambda=600e-9;D=1;d=1e-6;a=2.5*d;ymax=10*lambda*D/a;xmax=ymax;N=101;xs=linspace(-xmax,xmax,N);ys=linspace(-ymax,ymax,N);for i=1:N;for j=1:N;r1(i,j)=sqrt(D.^2+(ys(i)-a./2).^2+xs(i).^2);r2(i,j)=sqrt(D.^2+(ys(j)-a./2).^2+xs(j).^2);Dr=r2-r1;phi(i,j)=Dr(i,j)./lambda.*pi.*2;m(i,j)=pi.*d.*sin(phi(i,j))./lambda;I(i,j)=(4.*cos(phi(i,j)./2).^2).*real((2.*besselj(1,m(i,j))./m(i,j)). ^2);endendNC=225;Ir=I*NC;colormap(gray(NC));plot(m,I),hold on13.lambda=500e-9;D=1;d=1e-6;a=3.5*d;ymax=10*lambda*D/a;xmax=ymax;N=101;xs=linspace(-xmax,xmax,N);ys=linspace(-10000*ymax,10000*ymax,N);for i=1:N;for j=1:N;r1(i,j)=sqrt(D.^2+(ys(i)-a./2).^2+xs(i).^2);r2(i,j)=sqrt(D.^2+(ys(j)-a./2).^2+xs(j).^2);Dr=r2-r1;phi(i,j)=Dr(i,j)./lambda.*pi.*2;I(i,j)=real(4.*cos(phi(i,j)./2).^2);endendNC=225;Ir=I/3.*NC;image(xs,ys,Ir);colormap(gray(NC));hold on14.沙丘figure( 'Position',[200 31 700 696],'color','w'); hold on ;axis equal ; axis offtitle('沙丘','fontsize',16,'color','k');text(180,480,'——万祎龙 ','fontsize',12,'color','k');i=1;for py=1:2:360c=py*4*pi/360;b=pi*cos(c);a=0:pi/30:6*pi;x=100*a/pi+20;y=10*sin(a+cos(a)*pi-b)*cos(c)+py;plot(x,y,'color','k');Z(i,:)=sin(a+cos(a)*pi-b)*cos(c);i=i+1;end15.%存脚本文件heart.m%%一个半径为R的圆周等分成N份,然后一等分点为圆心,以等分点到该圆垂直直径%%的距离为半径画圆。

matlab画图

matlab画图
星号 小黑点
叉号 小正方形
菱形
标记符 ^ v > < p h
方式 向上三角形 向下三角形 向右三角形 向左三角形
五角星 六角星
7/ 38
fplot命令的使用
fplot(function,limits,LineSpec) 在limits指定的范围内绘制function函数的 图形. limits是一个矢量, 指定x轴上的范围[xmin, xmax], 或者x轴和y轴上的范围[xmin xmax ymin ymax]. function必须是M文件函数的名称或句柄, 或者含有变量x的字符串. LineSpec指定属性进行绘图.
meshz: 除了生成网格曲面外,
还在曲面下面加一长方形台柱。
meshz(Z);
colormap([0 0 1]) %设定色图参数
25/ 38
surf: 对网线图的网格块区域着色得到刻画面. surfc: 和meshc类似,在刻面图下方绘上等值线. surfl: 对刻画面中单元颜色进行平滑处理, 得到
27/38
饱和色
[0 0 0] — 黑色 [0 0 1] — 兰色 [0 1 0] — 绿色 [0 1 1] — 浅兰 [1 0 0] — 红色 [1 0 1] — 粉红 [1 1 0] — 黄色 [1 1 1] — 白色
调和色 [0.5 0.5 05] — 灰色 [0.5 0 0] — 暗红色 [1 0.62 0.4] — 铜色 [0.49 1 0.8] — 浅绿 [0.49 1 0.83] —宝石兰
例14. [X,Y]=meshgrid(-2:.2:2,-2:.2:2); Z=X.*exp(-X.^2-Y.^2); mesh(X,Y,Z)
24/38

第五章matlab绘图

第五章matlab绘图
例5-10 在图形窗口中,以子图形式同时绘制 多根曲线。
2024/3/28
21
5.2 其他二维图形
5.2.1 其他坐标系下的二维数据曲线图 1. 对数坐标图形 MATLAB提供了绘制对数和半对数坐标 曲线的函数,调用格式为: semilogx(x1,y1,选项1,x2,y2,选项2,…) semilogy(x1,y1,选项1,x2,y2,选项2,…) loglog(x1,y1,选项1,x2,y2,选项2,…)
2024/3/28
31
2. 绘制三维曲面的函数 surf函数和mesh函数的调用格式为:
mesh(x,y,z,c)
surf(x,y,z,c) 一般情况下,x,y,z是维数相同的矩阵。x,y 是网格坐标矩阵,z是网格点上的高度矩阵, c用于指定在不同高度下的颜色范围。
例5-17 绘制三维曲面图z=sin(x+sin(y))-x/10。
plotyy(x1,y1,x2,y2)
其中x1,y1对应一条曲线,x2,y2对应另一 条曲线。横坐标的标度相同,纵坐标有两 个,左纵坐标用于x1,y1数据对,右纵坐标 用于x2,y2数据对。
2024/3/28
8
例5-4 用不同标度在同一坐标内绘制曲线 y1=0.2e-0.5xcos(4πx) 和 y2=2e-0.5xcos(πx)。
程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); plotyy(x,y1,x,y2);
2024/3/28
9
4. 图形保持
hold on/off命令控制是保持原有图形还是 刷新原有图形,不带参数的hold命令在两 种状态之间进行切换。

matlab画立体蝴蝶的代码

matlab画立体蝴蝶的代码

matlab画立体蝴蝶的代码Matlab是一款强大的工具,可以帮助我们完成许多数据分析、数学建模和图像处理等工作。

在Matlab中,我们可以用简单的代码绘制出许多精美的图像,例如立体蝴蝶。

下面就来介绍一下如何使用Matlab绘制立体蝴蝶的代码。

1.准备工作我们需要在Matlab中打开一个新的文件,然后输入下面这句代码创建一个3D画布:figure('units','normalized','outerposition',[0 0 1 1])这句代码将创建一个全屏的3D画布,供我们后续用来绘制立体蝴蝶。

2.绘制蝴蝶的翅膀接下来,我们需要定义蝴蝶的两个翅膀,具体代码如下:t = 0:pi/10:2*pi;x = sin(t).*(exp(cos(t))-2*cos(4*t)-sin(t/12).^5);y = cos(t).*(exp(cos(t))-2*cos(4*t)-sin(t/12).^5);z = sin(t/2).^2.*cos(5*t+pi/2);plot3(x,y,z,'r','LineWidth',2)这段代码的意思是先设置一个参数t,然后用该参数计算出x、y、z坐标分别对应蝴蝶翅膀上的点的位置。

最后使用plot3函数将这些点连接起来,形成一个立体的蝴蝶翅膀。

这时我们已经完成了蝴蝶的一只翅膀的绘制。

接下来我们需要将另一只翅膀按照一定的规律旋转、平移后绘制出来。

代码如下:hold onfor i=1:3xx = x*cos(pi*i/3) + y*sin(pi*i/3) - 5*(cos(pi*i/3)+1)/2; yy = -x*sin(pi*i/3) + y*cos(pi*i/3);zz = z+2*i;plot3(xx,yy,zz,'r','LineWidth',2)end这段代码首先使用for循环来遍历翅膀的三个位置。

MATLAB曲线绘制大全

MATLAB曲线绘制大全

一、二维数据曲线图1.1绘制单根二维曲线plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。

例1-1在0x2p区间内,绘制曲线y=2e-0.5xcos(4x)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)例1-2绘制曲线。

程序如下:t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。

1.2绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。

曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。

(2)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

(3)对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。

当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

2含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,,xn,yn)(1)当输入参数都为向量时,x1和yl,x2和y2,,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。

每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。

(2)当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

例1-3分析下列程序绘制的曲线。

x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=[x1;x2;x3]';y=[y1;y2;y3]';plot(x,y,x1,y1-1)3.具有两个纵坐标标度的图形在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1.不同坐标系下的图形对比 (4)2.球曲面的法线 (4)3.浪花—山峰 (5)4.色彩斑斓的圆筒 (7)5.分层的不明物 (8)6.马鞍面 (9)7.螺旋线 (11)8.光芒四射---矢量图+等势线 (13)9.山谷—山峰【线性】 (14)10.山谷—山峰【面】 (16)11.牛顿环(动态的) (16)12.衍射调制下的双孔干涉条纹 (18)13.双缝衍射图 (20)14.沙丘 (21)15.漂亮的尤物 (22)16.圆花饼 (23)17.火红的心—尤物 (24)18.神秘的罗盘 (25)19.山峰分析图 (26)20.小球 (27)21.波浪、涟漪---像不像装鸡蛋的 (28)22.(动画的)山峰 (28)23.瀑布图 (29)24.三宝 (30)25.涟漪四视图 (31)26.3D腰带 (32)27.彩皮球 (33)28.山崩地裂 (34)29.飘荡的柔纱 (35)30.波纹 (36)31.相交的椭圆 (37)32.飘落的线 (38)33.跳动的正弦线 (39)34.磁滞回线—尤物 (40)35.复制的美 (40)36.评议扫描图 (42)37.旋转扫描图 (43)38.混沌吸引子 (43)39.动画演示混沌吸引分子形成 (44)40.绘制Julia集图形 (44)41.擦除动画实例——卫星绕地球运动(注释很详细) (46)42.擦除动画实例——太阳|地球|月亮|卫星,绕转演示动画(注释很详细) (48)43.流行划过天空 (50)44.旋转的山峰 (50)45.抛物运动 (51)1.不同坐标系下的图形对比theta=0:pi/20:4*pi;phi=theta.^2-theta;[t,p]=meshgrid(theta,phi);r=t.*p;subplot(1,2,1);mesh(t,p,r);ylabel('x');xlabel('y');zlabel('z'); [x,y,z]=sph2cart(t,p,r);subplot(1,2,2);mesh(x,y,z);ylabel('x');xlabel('y');zlabel('z');2.球曲面的法线[x,y,z]=sphere;Surfnorm(x,y,z)3.浪花—山峰x=rand(100,1)*16-8;y=rand(100,1)*16-8;r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;xlin=linspace(min(x),max(x),33);ylin=linspace(min(y),max(y),33); [X,Y]=meshgrid(xlin,ylin);Z=griddata(x,y,z,X,Y);mesh(X,Y,Z);axis tight;hold on;ylabel('x');xlabel('y');zlabel('z'); plot3(x,y,z,’r’,’MarkerSize’,15)x=rand(1000,1)*16-8;y=rand(1000,1)*16-8;r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;xlin=linspace(min(x),max(x),99);ylin=linspace(min(y),max(y),99); [X,Y]=meshgrid(xlin,ylin);Z=griddata(x,y,z,X,Y);mesh(X,Y,Z);axis tight;hold on;ylabel('x');xlabel('y');zlabel('z'); plot3(x,y,z,'r','MarkerSize',30);去掉网格后:4.色彩斑斓的圆筒fnplt(fncmb(rsmak(‘cylinder’,1,2),[00-1;010;100])); axis equal,axis off;shading interp5.分层的不明物c=8.01*10^(-6);T=9.8*0.940*10^(-7);for m=1:100a=m/10000000;for n=1:100b=n/10000000;omiga(m,n)=sqrt((10.6667*a^3*b^5+10.6667*a^5*b^3)/(2.3112*a^5*b^5*c)*T) /(2*pi);endendmesh((1:100)/10000000,(1:100)/10000000,omiga);ylabel('半短轴b');xlabel('半长轴a');zlabel('频率f');6.马鞍面x=-8:8;y=-8:8;[X,Y]=meshgrid(x,y);Z=(X.^2./4.^2-Y.^2./5.^2);meshz(X,Y,Z);ylabel('x');xlabel('y');zlabel('z');x=-8:8;y=-8:8;[X,Y]=meshgrid(x,y);Z=X.^2./4.^2-Y.^2./5.^2;surfc(X,Y,Z);ylabel('x');xlabel('y');zlabel('z');7.螺旋线t=0:pi/60:10*pi;x=sin(t);y=cos(t);plot3(x,y,t,'*-b');ylabel('x');xlabel('y');zlabel('z');t=0:pi/60:10*pi;x=sin(t);y=cos(t);fill3(x,y,t,'*-b');ylabel('x');xlabel('y');zlabel('z');动画版:%by dynamic t=0:pi/50:10*pi;x=30*sin(t);y=30*cos(t);z=t;plot3(x,y,z);hold on%axis equalcomet3(x,y,z,0.5)8.光芒四射---矢量图+等势线[x,y]=meshgrid([-2:0.2:2]); f=x.^2+y.^2;[fx,fy]=gradient(f,0.2,0.2); quiver(x,y,fx,fy);hold oncontour(x,y,f);9.山谷—山峰【线性】[x,y]=meshgrid([-4:0.1:4]); z=x.*exp(-x.^2-y.^2);plot3(x,y,z);10.山谷—山峰【面】[x,y]=meshgrid([-2:0.05:2]);z=x.*exp(-x.^2-y.^2);surf(x,y,z);11.牛顿环(动态的)clearR=1;N=400;lamda=200e-9;rr=0.0017; [x,y]=meshgrid(linspace(-rr,rr,N)); r=sqrt(x.^2+y.^2);phi=r.^2/R./lamda.*pi.*2+pi;I=4.*cos(phi./2).^2;H=imshow(I);t=0;k=1;while k;s=get(gcf,'currentkey');if strcmp(s,'space');clc;k=0;endt=t+0.01;pause(0.2);phi=phi+t;I=4.*cos(phi./2).^2;set(H,'CData',I);end12.衍射调制下的双孔干涉条纹clear alllambda=500e-9;D=1;d=1e-6;a=3.5*d;ymax=10*lambda*D/a;xmax=ymax;N=101;xs=linspace(-xmax,xmax,N);ys=linspace(-ymax,ymax,N);for i=1:N;for j=1:N;r1(i,j)=sqrt(D.^2+(ys(i)-a./2).^2+xs(i).^2);r2(i,j)=sqrt(D.^2+(ys(j)-a./2).^2+xs(j).^2);Dr=r2-r1;phi(i,j)=Dr(i,j)./lambda.*pi.*2;m(i,j)=pi.*d.*sin(phi(i,j))./lambda;I(i,j)=(4.*cos(phi(i,j)./2).^2).*real((2.*besselj(1,m(i,j))./m(i,j)).^2) ;endendNC=225;Ir=I*NC;subplot(1,2,1);image(xs,ys,Ir);axis equalcolormap(gray(NC));subplot(1,2,2);plot(I,m),hold onclear alllambda=600e-9;D=1;d=1e-6;a=2.5*d;ymax=10*lambda*D/a;xmax=ymax;N=101;xs=linspace(-xmax,xmax,N);ys=linspace(-ymax,ymax,N);for i=1:N;for j=1:N;r1(i,j)=sqrt(D.^2+(ys(i)-a./2).^2+xs(i).^2);r2(i,j)=sqrt(D.^2+(ys(j)-a./2).^2+xs(j).^2);Dr=r2-r1;phi(i,j)=Dr(i,j)./lambda.*pi.*2;m(i,j)=pi.*d.*sin(phi(i,j))./lambda;I(i,j)=(4.*cos(phi(i,j)./2).^2).*real((2.*besselj(1,m(i,j))./m(i,j)).^2) ;endendNC=225;Ir=I*NC;colormap(gray(NC));plot(m,I),hold on13.双缝衍射图clear alllambda=500e-9;D=1;d=1e-6;a=3.5*d;ymax=10*lambda*D/a;xmax=ymax;N=101;xs=linspace(-xmax,xmax,N);ys=linspace(-10000*ymax,10000*ymax,N);for i=1:N;for j=1:N;r1(i,j)=sqrt(D.^2+(ys(i)-a./2).^2+xs(i).^2); r2(i,j)=sqrt(D.^2+(ys(j)-a./2).^2+xs(j).^2); Dr=r2-r1;phi(i,j)=Dr(i,j)./lambda.*pi.*2;I(i,j)=real(4.*cos(phi(i,j)./2).^2);endendNC=225;Ir=I/3.*NC;image(xs,ys,Ir);colormap(gray(NC));hold on14.沙丘figure('Position',[20031700696],'color','w');hold on;axis equal; axis offtitle('沙丘','fontsize',16,'color','k');text(180,480,'——万祎龙','fontsize',12,'color','k');i=1;for py=1:2:360c=py*4*pi/360;b=pi*cos(c);a=0:pi/30:6*pi;x=100*a/pi+20;y=10*sin(a+cos(a)*pi-b)*cos(c)+py;plot(x,y,'color','k');Z(i,:)=sin(a+cos(a)*pi-b)*cos(c);i=i+1;end15.漂亮的尤物%存脚本文件heart.m%%一个半径为R的圆周等分成N份,然后一等分点为圆心,以等分点到该圆垂直直径%%的距离为半径画圆。

相关文档
最新文档