Matlab图形绘制经典案例
Matlab绘图教程(大量实例)
例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);
三维图形
1 三维曲线 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项 n) 其中每一组x,y,z组成一组曲线的坐标参数,选项 的定义和plot函数相同。当x,y,z是同维向量时, 则x,y,z 对应元素构成一条三维曲线。当x,y,z是同 维矩阵时,则以x,y,z对应列元素绘制三维曲线, 曲线条数等于矩阵列数。
图形的可视化编辑
MATLAB 6.5版本在图形窗口中提供了可视化的 图形编辑工具,利用图形窗口菜单栏或工具栏中 的有关命令可以完成对窗口中各种图形对象的编 辑处理。
在图形窗口上有一个菜单栏和工具栏。菜单栏包 含File、Edit、View、Insert、Tools、Window和 Help共7个菜单项,工具栏包含11个命令按钮。
MATLAB绘图
二维数据曲线图
plot函数的基本调用格式为: plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标 数据。 例1 在0≤x≤2区间内,绘制曲线 y=2e-0.5xcos(4πx) 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)
例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)
实验二MATLAB绘制图形
grid on %在所画出的图形坐标中加入栅格
绘制图形如下
50
10
1
0.8
40
10
0.6
0.4
30
10
0.2
0
1020
-0.2
-0.4
1010
-0.6
-0.8
0
10
-1
-2
0
2
-2
0
2
10
10
10
10
10
10
如果在图中不加栅格
程序如下:
clear x=logspace(-1,2);%在10^(-1)到10^2之间产生50个 对数等分的行向量 subplot(121); loglog(x,10*exp(x),'-p') subplot(122); semilogx(x,cos(10.^x))
(2)plot(x,y): 基本格式,x和y可为向量或矩阵. 1. 如果x,y是同维向量,以x元素为横坐标,以y元素 为纵坐标绘图. 2. 如果x是向量,y是有一维与x元素数量相等的矩阵, 则以x为共同横坐标, y元素为纵坐标绘图,曲线数目 为y的另一维数. 3. 如果x,y是同维矩阵,则按列以x,y对应列元素为 横、纵坐标绘图,曲线数目等于矩阵列数.
y=2*exp(-0.5*x).*cos(4*pi*x);
2
plot(x,y)
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
1
2
3
4
5
6
7
例4 绘制曲线
t=(0:0.1:2*pi);
x=t.*sin(3*t);
y=t.*sin(t).*sin(t);
用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绘制三维图形的方法要使用MATLAB绘制三维图形,首先需要了解MATLAB中的三维绘图函数和绘图选项。
下面将介绍一些常用的绘制三维图形的方法。
1.绘制基本的三维图形要绘制基本的三维图形,可以使用以下函数:- plot3(函数:用于在三维坐标系中绘制线条。
- scatter3(函数:用于在三维坐标系中绘制散点图。
- surf(函数:用于绘制三维曲面图。
- mesh(函数:用于绘制三维网格图。
- bar3(函数:用于绘制三维条形图。
- contour3(函数:用于绘制三维等高线图。
例如,下面的代码演示了如何使用plot3(函数绘制一个三维线条图:```x = linspace(0, 2*pi, 100);y = sin(x);z = cos(x);plot3(x, y, z, 'LineWidth', 2);xlabel('X');ylabel('Y');zlabel('Z');title('3D Line Plot');```2.添加颜色和纹理在绘制三维图形时,可以使用颜色和纹理来增加图形的信息。
MATLAB 提供了一系列函数来处理颜色和纹理,如:- colormap(函数:用于设置颜色映射。
- caxis(函数:用于设置坐标轴范围。
- shading(函数:用于设置颜色插值方法。
- texturemap(函数:用于设置纹理映射方法。
例如,下面的代码展示了如何使用纹理映射来绘制一个球体:```[X, Y, Z] = sphere(50);C = colormap('jet');surface(X, Y, Z, 'FaceColor', 'texturemap', 'CData', C);axis equal;```3.绘制多个数据集要在同一张图中绘制多个数据集,可以使用hold on和hold off命令。
案例28使用matlab绘制专业图形——绘制曲线和曲面图
案例28使用MATLAB 绘制专业图形绘制曲线和曲面图案例主要信息提示 ● 案例内容:使用MATLAB 进行专业作图。
● 关键词:MATLAB ,作图,二维作图,三维作图 ● 建议课时:2课时● 适合专业:理工科各专业●光盘中的数字资源:二维曲线绘图M 文件graph_line.m三维曲面绘图M 文件graph_surface.m一、 实验内容实验内容1.绘制曲线图在1个绘图窗口的4个不同子窗口中分别绘制以下曲线: ①在子窗口1中绘制两条二维曲线,分别为:0.510.2cos(4)x y e x π-=和0.522cos()x y e x π-=并显示网格线。
②在子窗口2中绘制两条二维曲线,分别为:0.512x y e -=和2cos(2)y x π=并添加标题、x/y 轴名称、图形说明和图例。
③在子窗口3中绘制一条极坐标曲线,如下:sin()cos()r t t =④在子窗口4中绘制一条极三维螺旋线。
全部4个子窗口绘制效果如图28-1所示。
图28-1曲线绘制效果图实验内容2.绘制曲面图在1个绘图窗口的4个不同子窗口中分别绘制以下曲面:①在子窗口1和子窗口2中以不同着色方式绘制两个球面。
②在子窗口3和子窗口4中以不同视角绘制两个直径相等的圆管相交的图形。
全部4个子窗口绘制效果如图28-2所示。
图28-1曲面绘制效果图二、预备知识2.1 MATLAB绘图功能简介MA TLAB软件提供了丰富的图形表达功能,包括常用的二维图形和三维图形。
其中,各种二维图形近30种,三维图形20多种。
应用MA TLAB除了能作一般的曲线、散点图、条形图等,还能绘制流线图、三维矢量图等工程实用图形。
下面我们介绍一些基本的二维和三维绘图函数。
2.2 二维图形的绘制二维图形是将平面坐标上的数据点连接起来的平面图形。
可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。
二维图形的绘制是其他绘图操作的基础。
2.2.1绘制二维曲线的plot函数在MATLAB中,plot函数是最简单、最基本而且应用最为广泛的线性绘图函数,利用它可以在二维平面上生成线段、曲线和参数方程曲线等的函数图形。
matlab编程实例100例
1-32是:图形应用篇33-66是:界面设计篇67-84是:图形处理篇85-100是:数值分析篇实例2:三角函数曲线(2)function shili02h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例02');x=-pi:0.05:pi;y=sin(x)+cos(x);plot(x,y,'-*r','linewidth',1);grid onxlabel('自变量X');ylabel('函数值Y');title('三角函数');实例3:图形的叠加function shili03h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例03');x=-pi:0.05:pi;y1=sin(x);y2=cos(x);plot(x,y1,...'-*r',...x,y2,...'--og');grid onxlabel('自变量X');ylabel('函数值Y');title('三角函数');实例4:双y轴图形的绘制function shili04h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例04');x=0:900;a=1000;b=0.005;y1=2*x;y2=cos(b*x);[haxes,hline1,hline2]=plotyy(x,y1,x,y2,'semilogy','plot'); axes(haxes(1))ylabel('semilog plot');axes(haxes(2))ylabel('linear plot');实例6:图形标注function shili06h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例06');t=0:pi/10:2*pi;h=plot(t,sin(t));xlabel('t=0到2\pi','fontsize',16);ylabel('sin(t)','fontsize',16);title('\it{从0to2\pi 的正弦曲线}','fontsize',16)x=get(h,'xdata');y=get(h,'ydata');imin=find(min(y)==y);imax=find(max(y)==y);text(x(imin),y(imin),...['\leftarrow最小值=',num2str(y(imin))],...'fontsize',16)text(x(imax),y(imax),...['\leftarrow最大值=',num2str(y(imax))],...'fontsize',16)实例7:条形图形function shili07h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例07');tiao1=[562 548 224 545 41 445 745 512];tiao2=[47 48 57 58 54 52 65 48];t=0:7;bar(t,tiao1)xlabel('X轴');ylabel('TIAO1值');h1=gca;h2=axes('position',get(h1,'position'));plot(t,tiao2,'linewidth',3)set(h2,'yaxislocation','right','color','none','xticklabel',[]) 实例8:区域图形function shili08h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例08');x=91:95;profits1=[88 75 84 93 77];profits2=[51 64 54 56 68];profits3=[42 54 34 25 24];profits4=[26 38 18 15 4];area(x,profits1,'facecolor',[0.5 0.9 0.6],...'edgecolor','b',...'linewidth',3)hold onarea(x,profits2,'facecolor',[0.9 0.85 0.7],...'edgecolor','y',...'linewidth',3)hold onarea(x,profits3,'facecolor',[0.3 0.6 0.7],...'edgecolor','r',...'linewidth',3)hold onarea(x,profits4,'facecolor',[0.6 0.5 0.9],...'edgecolor','m',...'linewidth',3)hold offset(gca,'xtick',[91:95])set(gca,'layer','top')gtext('\leftarrow第一季度销量')gtext('\leftarrow第二季度销量')gtext('\leftarrow第三季度销量')gtext('\leftarrow第四季度销量')xlabel('年','fontsize',16);ylabel('销售量','fontsize',16);实例9:饼图的绘制function shili09h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例09');t=[54 21 35;68 54 35;45 25 12;48 68 45;68 54 69];x=sum(t);h=pie(x);textobjs=findobj(h,'type','text');str1=get(textobjs,{'string'});val1=get(textobjs,{'extent'});oldext=cat(1,val1{:});names={'商品一:';'商品二:';'商品三:'};str2=strcat(names,str1);set(textobjs,{'string'},str2)val2=get(textobjs,{'extent'});newext=cat(1,val2{:});offset=sign(oldext(:,1)).*(newext(:,3)-oldext(:,3))/2; pos=get(textobjs,{'position'});textpos=cat(1,pos{:});textpos(:,1)=textpos(:,1)+offset;set(textobjs,{'position'},num2cell(textpos,[3,2]))实例10:阶梯图function shili10h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例10');a=0.01;b=0.5;t=0:10;f=exp(-a*t).*sin(b*t);stairs(t,f)hold onplot(t,f,':*')hold offglabel='函数e^{-(\alpha*t)}sin\beta*t的阶梯图'; gtext(glabel,'fontsize',16)xlabel('t=0:10','fontsize',16)axis([0 10 -1.2 1.2])实例11:枝干图function shili11h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例11');x=0:pi/20:2*pi;y1=sin(x);y2=cos(x);h1=stem(x,y1+y2);hold onh2=plot(x,y1,'^r',x,y2,'*g');hold offh3=[h1(1);h2];legend(h3,'y1+y2','y1=sin(x)','y2=cos(x)') xlabel('自变量X');ylabel('函数值Y');title('正弦函数与余弦函数的线性组合'); 实例12:罗盘图function shili12h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例12');winddirection=[54 24 65 84256 12 235 62125 324 34 254];windpower=[2 5 5 36 8 12 76 14 10 8];rdirection=winddirection*pi/180;[x,y]=pol2cart(rdirection,windpower); compass(x,y);desc={'风向和风力','北京气象台','10月1日0:00到','10月1日12:00'};gtext(desc)实例13:轮廓图function shili13h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例13');[th,r]=meshgrid((0:10:360)*pi/180,0:0.05:1); [x,y]=pol2cart(th,r);z=x+i*y;f=(z.^4-1).^(0.25);contour(x,y,abs(f),20)axis equalxlabel('实部','fontsize',16);ylabel('虚部','fontsize',16);h=polar([0 2*pi],[0 1]);delete(h)hold oncontour(x,y,abs(f),20)实例14:交互式图形function shili14h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例14');axis([0 10 0 10]);hold onx=[];y=[];n=0;disp('单击鼠标左键点取需要的点'); disp('单击鼠标右键点取最后一个点'); but=1;while but==1[xi,yi,but]=ginput(1);plot(xi,yi,'bo')n=n+1;disp('单击鼠标左键点取下一个点');x(n,1)=xi;y(n,1)=yi;endt=1:n;ts=1:0.1:n;xs=spline(t,x,ts);ys=spline(t,y,ts);plot(xs,ys,'r-');hold off实例14:交互式图形function shili14h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例14');axis([0 10 0 10]);hold onx=[];y=[];n=0;disp('单击鼠标左键点取需要的点'); disp('单击鼠标右键点取最后一个点'); but=1;while but==1[xi,yi,but]=ginput(1);plot(xi,yi,'bo')n=n+1;disp('单击鼠标左键点取下一个点');x(n,1)=xi;y(n,1)=yi;endt=1:n;ts=1:0.1:n;xs=spline(t,x,ts);ys=spline(t,y,ts);plot(xs,ys,'r-');hold off实例15:变换的傅立叶函数曲线function shili15h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例15');axis equalm=moviein(20,gcf);set(gca,'nextplot','replacechildren')h=uicontrol('style','slider','position',...[100 10 500 20],'min',1,'max',20)for j=1:20plot(fft(eye(j+16)))set(h,'value',j)m(:,j)=getframe(gcf);endclf;axes('position',[0 0 1 1]);movie(m,30)实例16:劳伦兹非线形方程的无序活动function shili15h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例15');axis equalm=moviein(20,gcf);set(gca,'nextplot','replacechildren') h=uicontrol('style','slider','position',...[100 10 500 20],'min',1,'max',20) for j=1:20plot(fft(eye(j+16)))set(h,'value',j)m(:,j)=getframe(gcf);endclf;axes('position',[0 0 1 1]);movie(m,30)实例17:填充图function shili17h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例17');t=(1:2:15)*pi/8;x=sin(t);y=cos(t);fill(x,y,'r')axis square offtext(0,0,'STOP',...'color',[1 1 1],...'fontsize',50,...'horizontalalignment','center') 例18:条形图和阶梯形图function shili18h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例18');subplot(2,2,1)x=-3:0.2:3;y=exp(-x.*x);bar(x,y)title('2-D Bar Chart')subplot(2,2,2)x=-3:0.2:3;y=exp(-x.*x);bar3(x,y,'r')title('3-D Bar Chart')subplot(2,2,3)x=-3:0.2:3;y=exp(-x.*x);stairs(x,y)title('Stair Chart')subplot(2,2,4)x=-3:0.2:3;y=exp(-x.*x);barh(x,y)title('Horizontal Bar Chart')实例19:三维曲线图function shili19h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例19');subplot(2,1,1)x=linspace(0,2*pi);y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);z1=zeros(size(x));z2=0.5*z1;z3=z1;plot3(x,y1,z1,x,y2,z2,x,y3,z3)grid onxlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure1:3-D Plot')subplot(2,1,2)x=linspace(0,2*pi);y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);z1=zeros(size(x));z2=0.5*z1;z3=z1;plot3(x,z1,y1,x,z2,y2,x,z3,y3)grid onxlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure2:3-D Plot')实例20:图形的隐藏属性function shili20h0=figure('toolbar','none',...'position',[200 150 450 300],...'name','实例20');subplot(1,2,1)[x,y,z]=sphere(10);mesh(x,y,z)axis offtitle('Figure1:Opaque')hidden onsubplot(1,2,2)[x,y,z]=sphere(10);mesh(x,y,z)axis offtitle('Figure2:Transparent')hidden off实例21PEAKS函数曲线function shili21h0=figure('toolbar','none',...'position',[200 100 450 450],...'name','实例21');[x,y,z]=peaks(30);subplot(2,1,1)x=x(1,:);y=y(:,1);i=find(y>0.8&y<1.2);j=find(x>-0.6&x<0.5);z(i,j)=nan*z(i,j);surfc(x,y,z)xlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure1:surfc函数形成的曲面')subplot(2,1,2)x=x(1,:);y=y(:,1);i=find(y>0.8&y<1.2);j=find(x>-0.6&x<0.5);z(i,j)=nan*z(i,j);surfl(x,y,z)xlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure2:surfl函数形成的曲面') 实例22:片状图function shili22h0=figure('toolbar','none',...'position',[200 150 550 350],...'name','实例22');subplot(1,2,1)x=rand(1,20);y=rand(1,20);z=peaks(x,y*pi);t=delaunay(x,y);trimesh(t,x,y,z)hidden offtitle('Figure1:Triangular Surface Plot');subplot(1,2,2)x=rand(1,20);y=rand(1,20);z=peaks(x,y*pi);t=delaunay(x,y);trisurf(t,x,y,z)title('Figure1:Triangular Surface Plot'); 实例23:视角的调整function shili23h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例23');x=-5:0.5:5;[x,y]=meshgrid(x);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;subplot(2,2,1)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure1')view(-37.5,30)subplot(2,2,2)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure2')view(-37.5+90,30)subplot(2,2,3)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure3')view(-37.5,60)subplot(2,2,4)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure4')view(180,0)实例24:向量场的绘制function shili24h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例24');subplot(2,2,1)z=peaks;ribbon(z)title('Figure1')subplot(2,2,2)[x,y,z]=peaks(15);[dx,dy]=gradient(z,0.5,0.5);contour(x,y,z,10)hold onquiver(x,y,dx,dy)hold offtitle('Figure2')subplot(2,2,3)[x,y,z]=peaks(15);[nx,ny,nz]=surfnorm(x,y,z);surf(x,y,z)hold onquiver3(x,y,z,nx,ny,nz)hold offtitle('Figure3')subplot(2,2,4)x=rand(3,5);y=rand(3,5);z=rand(3,5);c=rand(3,5);fill3(x,y,z,c)grid ontitle('Figure4')实例25:灯光定位function shili25h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例25');vert=[1 1 1;1 2 1;2 2 1;2 1 1;1 1 2;12 2;2 2 2;2 1 2];fac=[1 2 3 4;2 6 7 3;4 3 7 8;15 8 4;1 2 6 5;5 6 7 8];grid offsphere(36)h=findobj('type','surface');set(h,'facelighting','phong',...'facecolor',...'interp',...'edgecolor',[0.4 0.4 0.4],...'backfacelighting',...hold onpatch('faces',fac,'vertices',vert,...'facecolor','y');light('position',[1 3 2]);light('position',[-3 -1 3]);material shinyaxis vis3d offhold off实例26:柱状图function shili26h0=figure('toolbar','none',...'position',[200 50 450 450],...'name','实例26');subplot(2,1,1)x=[5 2 18 7 39 8 65 5 54 3 2];bar(x)xlabel('X轴');ylabel('Y轴');title('第一子图');subplot(2,1,2)y=[5 2 18 7 39 8 65 5 54 3 2];barh(y)xlabel('X轴');ylabel('Y轴');title('第二子图');实例27:设置照明方式function shili27h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例27');subplot(2,2,1)spherecamlight leftcamlight rightlighting flatcolorbaraxis offtitle('Figure1')subplot(2,2,2)sphereshading flatcamlight leftcamlight rightlighting gouraudcolorbaraxis offtitle('Figure2')subplot(2,2,3)sphereshading interpcamlight rightcamlight leftlighting phongcolorbaraxis offtitle('Figure3')subplot(2,2,4)sphereshading flatcamlight leftcamlight rightlighting nonecolorbaraxis offtitle('Figure4')实例28:羽状图function shili28h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例28');subplot(2,1,1)alpha=90:-10:0;r=ones(size(alpha));m=alpha*pi/180;n=r*10;[u,v]=pol2cart(m,n);feather(u,v)title('羽状图')axis([0 20 0 10])subplot(2,1,2)t=0:0.5:10;x=0.05+i;y=exp(-x*t);feather(y)title('复数矩阵的羽状图')实例29:立体透视(1)function shili29h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例29');[x,y,z]=meshgrid(-2:0.1:2,...-2:0.1:2,...-2:0.1:2);v=x.*exp(-x.^2-y.^2-z.^2);grid onfor i=-2:0.5:2;h1=surf(linspace(-2,2,20),...linspace(-2,2,20),...zeros(20)+i);rotate(h1,[1 -1 1],30)dx=get(h1,'xdata');dy=get(h1,'ydata');dz=get(h1,'zdata');delete(h1)slice(x,y,z,v,[-2 2],2,-2)hold onslice(x,y,z,v,dx,dy,dz)hold offaxis tightview(-5,10)drawnowend实例30:立体透视(2)function shili30h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例30');[x,y,z]=meshgrid(-2:0.1:2,...-2:0.1:2,...-2:0.1:2);v=x.*exp(-x.^2-y.^2-z.^2);[dx,dy,dz]=cylinder;slice(x,y,z,v,[-2 2],2,-2)for i=-2:0.2:2h=surface(dx+i,dy,dz);rotate(h,[1 0 0],90)xp=get(h,'xdata');yp=get(h,'ydata');zp=get(h,'zdata');delete(h)hold onhs=slice(x,y,z,v,xp,yp,zp);axis tightxlim([-3 3])view(-10,35)drawnowdelete(hs)hold offend实例31:表面图形function shili31h0=figure('toolbar','none',...'position',[200 150 550 250],...'name','实例31');subplot(1,2,1)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,'cubic');mesh(X,Y,Z)axis tighthold onplot3(x,y,z,'.','Markersize',20)subplot(1,2,2)k=5;n=2^k-1;theta=pi*(-n:2:n)/n;phi=(pi/2)*(-n:2:n)'/n;X=cos(phi)*cos(theta);Y=cos(phi)*sin(theta);Z=sin(phi)*ones(size(theta)); colormap([0 0 0;1 1 1])C=hadamard(2^k);surf(X,Y,Z,C)axis square实例32:沿曲线移动的小球h0=figure('toolbar','none',...'position',[198****8468],...'name','实例32');h1=axes('parent',h0,...'position',[0.15 0.45 0.7 0.5],...'visible','on');t=0:pi/24:4*pi;y=sin(t);plot(t,y,'b')n=length(t);h=line('color',[0 0.5 0.5],...'linestyle','.',...'markersize',25,...'erasemode','xor');k1=uicontrol('parent',h0,...'style','pushbutton',...'position',[80 100 50 30],...'string','开始',...'callback',[...'i=1;',...'k=1;,',...'m=0;,',...'while 1,',...'if k==0,',...'break,',...'end,',...'if k~=0,',...'set(h,''xdata'',t(i),''ydata'',y(i)),',...'drawnow;,',...'i=i+1;,',...'if i>n,',...'m=m+1;,',...'i=1;,',...'end,',...'end,',...'end']);k2=uicontrol('parent',h0,...'style','pushbutton',...'position',[180 100 50 30],...'string','停止',...'callback',[...'k=0;,',...'set(e1,''string'',m),',...'p=get(h,''xdata'');,',...'q=get(h,''ydata'');,',...'set(e2,''string'',p);,',...'set(e3,''string'',q)']);k3=uicontrol('parent',h0,...'style','pushbutton',...'position',[280 100 50 30],...'string','关闭',...'callback','close');e1=uicontrol('parent',h0,...'style','edit',...'position',[60 30 60 20]);t1=uicontrol('parent',h0,...'style','text',...'string','循环次数',...'position',[60 50 60 20]);e2=uicontrol('parent',h0,...'style','edit',...'position',[180 30 50 20]);t2=uicontrol('parent',h0,...'style','text',...'string','终点的X坐标值',...'position',[155 50 100 20]);e3=uicontrol('parent',h0,...'style','edit',...'position',[300 30 50 20]);t3=uicontrol('parent',h0,...'style','text',...'string','终点的Y坐标值',...'position',[275 50 100 20]);实例33:曲线转换按钮h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例33');x=0:0.5:2*pi;y=sin(x);h=plot(x,y);grid onhuidiao=[...'if i==1,',...'i=0;,',...'y=cos(x);,',...'delete(h),',...'set(hm,''string'',''正弦函数''),',...'h=plot(x,y);,',...'grid on,',...'else if i==0,',...'i=1;,',...'y=sin(x);,',...'set(hm,''string'',''余弦函数''),',...'delete(h),',...'h=plot(x,y);,',...'grid on,',...'end,',...'end'];hm=uicontrol(gcf,'style','pushbutton',...'string','余弦函数',...'callback',huidiao);i=1;set(hm,'position',[250 20 60 20]);set(gca,'position',[0.2 0.2 0.6 0.6])title('按钮的使用')hold on实例34:栅格控制按钮h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例34');x=0:0.5:2*pi;y=sin(x);plot(x,y)huidiao1=[...'set(h_toggle2,''value'',0),',...'grid on,',...];huidiao2=[...'set(h_toggle1,''value'',0),',...'grid off,',...];h_toggle1=uicontrol(gcf,'style','togglebutton',...'string','grid on',...'value',0,...'position',[20 45 50 20],...'callback',huidiao1);h_toggle2=uicontrol(gcf,'style','togglebutton',...'string','grid off',...'value',0,...'position',[20 20 50 20],...'callback',huidiao2);set(gca,'position',[0.2 0.2 0.6 0.6])title('开关按钮的使用')实例35:编辑框的使用h0=figure('toolbar','none',...'position',[200 150 350 250],...'name','实例35');f='Please input the letter';huidiao1=[...'g=upper(f);,',...'set(h2_edit,''string'',g),',...];huidiao2=[...'g=lower(f);,',...'set(h2_edit,''string'',g),',...];h1_edit=uicontrol(gcf,'style','edit',...'position',[100 200 100 50],...'HorizontalAlignment','left',...'string','Please input the letter',...'callback','f=get(h1_edit,''string'');',...'background','w',...'max',5,...'min',1);h2_edit=uicontrol(gcf,'style','edit',...'HorizontalAlignment','left',...'position',[100 100 100 50],...'background','w',...'max',5,...'min',1);h1_button=uicontrol(gcf,'style','pushbutton',...'string','小写变大写',...'position',[100 45 100 20],...'callback',huidiao1);h2_button=uicontrol(gcf,'style','pushbutton',...'string','大写变小写',...'position',[100 20 100 20],...'callback',huidiao2);实例36:弹出式菜单h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例36');x=0:0.5:2*pi;y=sin(x);h=plot(x,y);grid onhm=uicontrol(gcf,'style','popupmenu',...'string',...'sin(x)|cos(x)|sin(x)+cos(x)|exp(-sin(x))',...'position',[250 20 50 20]);set(hm,'value',1)huidiao=[...'v=get(hm,''value'');,',...'switch v,',...'case 1,',...'delete(h),',...'y=sin(x);,',...'h=plot(x,y);,',...'grid on,',...'case 2,',...'delete(h),',...'y=cos(x);,',...'h=plot(x,y);,',...'grid on,',...'case 3,',...'delete(h),',...'y=sin(x)+cos(x);,',...'h=plot(x,y);,',...'grid on,',...'case 4,',...'delete(h),',...'y=exp(-sin(x));,',...'h=plot(x,y);,',...'grid on,',...'end'];set(hm,'callback',huidiao)set(gca,'position',[0.2 0.2 0.6 0.6]) title('弹出式菜单的使用')实例37:滑标的使用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例37');[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;h0=mesh(x,y,z);h1=axes('position',...[0.2 0.2 0.5 0.5],...'visible','off');htext=uicontrol(gcf,...'units','points',...'position',[20 30 45 15],...'string','brightness',...'style','text');hslider=uicontrol(gcf,...'units','points',...'position',[10 10 300 15],...'min',-1,...'max',1,...'style','slider',...'callback',...'brighten(get(hslider,''value''))'); 实例38:多选菜单h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例38');[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;h0=mesh(x,y,z);hlist=uicontrol(gcf,'style','listbox',...'string','default|spring|summer|autumn|winter',...'max',5,...'min',1,...'position',[20 20 80 100],...'callback',[...'k=get(hlist,''value'');,',...'switch k,',...'case 1,',...'colormap default,',...'case 2,',...'colormap spring,',...'case 3,',...'colormap summer,',...'case 4,',...'colormap autumn,',...'case 5,',...'colormap winter,',...'end']);实例39:菜单控制的使用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例39');x=0:0.5:2*pi;y=cos(x);h=plot(x,y);grid onset(gcf,'toolbar','none')hm=uimenu('label','example');huidiao1=[...'set(hm_gridon,''checked'',''on''),',...'set(hm_gridoff,''checked'',''off''),',...'grid on'];huidiao2=[...'set(hm_gridoff,''checked'',''on''),',...'set(hm_gridon,''checked'',''off''),',...'grid off'];hm_gridon=uimenu(hm,'label','grid on',...'checked','on',...'callback',huidiao1);hm_gridoff=uimenu(hm,'label','grid off',...'checked','off',...'callback',huidiao2);实例40:UIMENU菜单的应用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例40');h1=uimenu(gcf,'label','函数');h11=uimenu(h1,'label','轮廓图',...'callback',[...'set(h31,''checked'',''on''),',...'set(h32,''checked'',''off''),',...'[x,y,z]=peaks;,',...'contour3(x,y,z,30)']);h12=uimenu(h1,'label','高斯分布',...'callback',[...'set(h31,''checked'',''on''),',...'set(h32,''checked'',''off''),',...'mesh(peaks);,',...'axis tight']);h13=uimenu(h1,'label','Sinc函数',...'callback',[...'set(h31,''checked'',''on''),',...'set(h32,''checked'',''off''),',...'[x,y]=meshgrid(-8:0.5:8);,',...'r=sqrt(x.^2+y.^2)+eps;,',...'z=sin(r)./r;,',...'mesh(x,y,z)']);h2=uimenu(gcf,'label','色彩');hl2(1)=uimenu(h2,'label','Default',...'checked','on',...'callback',...[...'set(hl2,''checked'',''off''),',...'set(hl2(1),''checked'',''on''),',...'colormap(''default'')']);hl2(2)=uimenu(h2,'label','spring',...'callback',...[...'set(hl2,''checked'',''off''),',...'set(hl2(2),''checked'',''on''),',...'colormap(spring)']);hl2(3)=uimenu(h2,'label','Summer',...'callback',...[...'set(hl2,''checked'',''off''),',...。
Matlab绘图教程(大量实例PPT)
MATLAB绘图二维数据曲线图pplot函数的基本调用格式为:x,y) )plot(plot(x,y其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
数据例1 在0≤x2π区间内,绘制曲线y=2e-0.5x cos(4πx)1≤区间内绘制曲线205x(4)程序如下:x=0:pi/100:2*pi;cos(4*pi*x);0.5*x).*cos(4*pi*x);y=2*exp(--0.5*x).*y=2*exp(x,y))plot(x,yplot(x yplot(x y)例2 绘制曲线。
绘制曲线程序如下:t=0:0.1:2*pi;x=t.sin(3t);x=t*sin(3*t);y=t.*sin(t).*sin(t); plot(x,y););plot(x,y数最简单的调用格式是包含个输参数plot函数最简单的调用格式是只包含一个输入参数:p()plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出条连续曲线,标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
绘制多根二维曲线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和y1,x2和y2,…,(1)当输入参数都为向量时xn和yn分别组成一组向量对,每一组向量对的长度可以不同每一向量对可以绘制出一条曲线度可以不同。
Matlab图形绘制经典案例资料(000001)
Matlab图形绘制经典案例1、三维曲线>> t=0:pi/50:10*pi;>> plot3(sin(2*t),cos(2*t),t)>> axis square>> grid on2、一窗口多图形>> t=-2*pi:0.01:2*pi; >> subplot(3,2,1)>> plot(t,sin(t))>> subplot(3,2,2)>> plot(t,cos(t))>> subplot(3,2,3)>> plot(t,tan(t))>> axis([-pi pi -100 100]) >> subplot(3,2,4)>> plot(t,cot(t))>> axis([-pi pi -100 100]) >> subplot(3,2,5)>> plot(t,atan(t))>> subplot(3,2,6)>> plot(t,acot(t))3、图形样式、标注、题字(也可以利用菜单直接Insert) >> x=0:pi/20:2*pi;>> plot(x,sin(x),'b-.')>> hold on>> plot(x,cos(x),'r--')>> hold on>> plot(x,sin(x)-1,'g:')>> hold on>> plot(x,cos(x)-1)>> xlabel('x');>> xlabel('x轴');>> ylabel('y轴');>> title('图形样式、标注等');>> text(pi,sin(pi),'x=\pi');>> legend('sin(x)','cos(x)','sin(x)-1','cos(x)-1');>> [x1,y1]=ginput(1) %利用鼠标定位查找线上某点的值x1 =2.0893y1 =-0.5000>> gtext('x=2.5') %鼠标定位放置所需的值在线上4、>> fplot('[sin(x),cos(x),sqrt(x)-1]',[0 2*pi]) M文件:myfun.m内容如下:function y=myfun(x)y(:,1)=sin(x);y(:,2)=cos(x);y(:,3)=x^(1/2)-1;再运行:>> fplot('myfun',[0 2*pi])同样可以得到下图5、>> [x,y]=fplot('sin',[0 2*pi]); >> [x1,y1]=fplot('cos',[0 2*pi]); >> plot(x,y,'-r',x1,y1,'-.k')>> legend('y=sinx','y=cosx')6、>> x=[-2:0.2:2];>> y=exp(x)-sin(x);>> plot(x,y,'-or','linewidth',2)7、画出y1=6(sinx-cosx),y2=x2^x-1的图形>> x=[-3:0.1:3];>> y1=6*(sin(x)-cos(x));>> y2=x.*2.^x-1;>> plot(x,y1,'-r',x,y2,'-.k','linewidth',2)8、绘制心形图r=2(1-cosθ)的极坐标图形>> theta=[0:0.01:2*pi];>> polar(theta,2*(1-cos(theta)),'-k')>> polar(theta,2*(1-cos(theta)),'-or')9、用双轴对数坐标绘制y=x*3^x-30的图形>> x=logspace(-3,3);>> y=x.*3.^x-30;>> loglog(y,'-or','linewidth',2);>> grid on10、绘制数据向量的单轴对数坐标图形>> x=[1:50];>> y=[1:50];>> semilogx(x,y,'-*b')%绘制横轴为对数坐标%纵轴为线性坐标>> grid on>> semilogy(x,y,'-*b')%绘制纵轴为对数坐标%横轴为线性坐标>> grid on11、绘制矩阵的条形图,并求出句柄属性值向量。
实验二matlab图形绘制精
、实验目的1、学习MATLAB图形绘制的基本方法;2、熟悉和了解MATLAB图形绘制程序编辑的基本指令;3、熟悉掌握利用MATLAB形编辑窗口编辑和修改图形界面,并添加图形的各种标注;、实验原理1.二维数据曲线图(1)绘制单根二维曲线plot(x,y;(2)绘制多根二维曲线plot(x,y当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。
当x, y是同维矩阵时,则以x, y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3)含有多个输入参数的plot函数plot(x1,y1,x2,y2, …,xn,yn(4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y22.图形标注与坐标控制1)title (图形名称)2)xlabel (x 轴说明)3)ylabel (y 轴说明)4)text (x, y图形说明)5)lege nd (图例1,图例2,…)6) axis ([xmin xmax ymin ymax zmin zmax])3•图形窗口的分割subplot (m,n,p)4.三维曲线plot3 (x1,y1,z1,选项1, x2,y2,选项2,…,xn,yn,zn,选项n)5.三维曲面mesh(x,y,z,c与surf(x,y,z,c。
一般情况下,x, y, z是维数相同的矩阵。
X, y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。
三、实验内容及步骤1.绘制下列曲线:100V = --------(1grid on截图:v = —e亠(2xlabel('x';ylabel('y'; grid on截图:(3朮二了」1 6 t=-4:0.02:4; y=4*si n(t; x=4*cos(t;plot(x,y title('my first plot'; xlabel('x'; ylabel('y'; grid on截图:1r (4 "grid on截图:y Figuhr 1Q* liliwa Twlii M|4p'D u# k *■ □ u n2.在一个图形窗口绘制正弦和余弦曲线,要求给图形加标题正弦和余弦曲线”,X轴丫轴分别标注为时间t ”和正弦、余弦”,添加图例,在图形的某个位置标注“sin(t ”“co显示网格。
Matlab图形绘制经典案例
MATLAB绘图案例1. 三维曲线» t=0:pi/50:10*pi;»plot3(sin(2*t),cos(2*t)Λ)» axis SqUare» grid On2、一窗口多图形»t=-2*pi:0.01:2*pi;» SUbPIot(321)» plot(t,sin(t))» SUbPIOt(3,2,2)» plot(tcos(t))» SlIbPIot(3,2,3)» plot(t z tan(t))» axis([-pipi -100 100])» SUbPIot(3,2,4)» plot(tcot(t))»axis([ψi Pi -100 IOOl)» SUbPIot(325)»plot(ζatan(t))» SUbPIOt(3,2,6)» plot(tacot(t))3、图形样式、标注、题字 (也可以利用菜单直接InSert) »x=0:pi/20:2*pi;» Plotfx z Sin(X)Zb-.')» hold On» Plotfx z Cos(X)Zr-')» hold On» PIOt(X,s∣n(x)-l∕g:1)MATLAB绘用案例» hold On» PIOt(X Z COS(X)-I)>>×label(,x,);>>xlabel(,x 轴,);» ylabel(,y 轴» tide('图形样式、标注等J;»text(PLSin(Pi)∕x=∖pi');»Iegend(I Sin(x)7COS(X)l∕sin(x)-l l∕cos(x)-l l);» [xXyl]=ginput(l) %利用R l标定位査找线上某点的值xl =2.0893yi =-0.5000» gte×t(,x=2.5,)%鼠标定位放置所盂的值在线上4.»fplot(,[sin(x)Λθs(×hSqrt(X)-l]∖[0 2*pi])M 文件:myfun.m内容如下:function y=myfun(x)y(:, I)=Sin(x);y(:,2)=COS(x);y(:,3)二T(l∕2)-1;再运行•:»fplot(,myfun',[0 2*pi])同样可以得到右图5、»[×,y]=⅛lot(,sin,40 2*pi]);»[×l,yl]=fplot('cos'40 2*pi]);6.» PIOt(X z y,,-r∖xXyl,'-.k,)»Iegend(,y=sinx,∕y=cos×,)MATLAB绘用案例>> X=卜2:0.2:2];» y=exp(x)-sin(x);» PlOt(X j y∕-or l∕linewidth∖2)7^ 画出yl=6(sinx-COSX)z y2 =×2ΛX-1的图形>> X=卜3:0.1:3];» yl=6*(sin(x)-cos(x));» y2=x.*2.A x-l;» PlOt(X z yl∕-r l p<,y2∕-k7∣inewidth l,2)8、绘制心形图“2⑴O)Se)的极坐标图形»theta=[0:0.01:2*pi|;» PoIar(theta z2*(l-cos(theta)),,-k')» polar(theta,2*(l-cos(theta))∕-or,)90 42709、用双轴对数坐标绘制y=x*3^x-30的图形» x=lOgSPaCel ・3,3);» y=×.*3.^x-30;»IOglOg(y∕-or,∕linewidth∖2);» grid OnMATLAB绘图案例10.绘制数据向最的单轴对数坐标图形»x=[l:50];» y=[150];» SemilOg×(x z y∕-*b,)%绘制横轴为对数坐标%纵轴为线性坐标» grid On»SemilOgy(X√∕-*b')%绘制纵轴为对•数坐标%横轴为线性坐标» grid On□、绘制矩阵A=(: 5 I)的条形图, \7 8 9/并求出句柄属性值向量。
MATLAB绘图简介以及举例应用
40
40
特殊图形的绘制
• MATLAB支持各种类型的图形绘制,使用户能够将 数据信息进行有效的表达。
• 特殊的图形包括条形图、面积图、阶梯图和等值图 等。 • bar函数绘制条形图,area函数绘制区域图; • pie函数绘制饼图; • hist、rose绘制柱状图; • stem、stairs函数绘制离散数据的图形; • compass、feather、quiver函数绘制矢量图; • clable、contour等函数绘制轮廓图; • ginput函数绘制交互式图形。
• 1.使用默认的灰色显示小丑肖像
• 程序如下:
20 40
• load clown
• imagesc(X)
60 80 100 120 140 160 180 200
• colormap(gray)
50
100
150
200
250
300
图10 灰色小丑图像
• 2.使用淡绿色和指定强度显示小丑肖像
• 程序如下:
1.5 1 0.5 0 -0.5 -1 0 1 2 3 4 5 6 7 8 9 10
图1 数据滤波前后的图形
符号函数绘图
•
1) 2) 3)
符号函数绘图可以通过函数’ezplot’或’fplot’ 来实现:
ezplot(f,[a,b]):表示在区间a<x<b和a<y<b绘制f(a,b)=0 的函数图,当区间缺省时,表示在默认区间2*pi<a<2*pi和-2*pi<b<2*pi绘制f(a,b)=0的函数图; ezplot(x,y,[tmin,tmax]):表示在区间tmin<t<tmax绘制 x(t)=0,y(t)=0的函数图;当区间缺省时,表示在默认区 间-2*pi<t<2*pi绘制x(t)=0,y(t)=0的函数图; fplot(fun,lims, ,[tmin,tmax]):表示绘制的字符串fun指 定的函数在区间lims=[xmin,xmax]的图形。
Matlab实训5-三维图形的绘制
例 在xy平面内选择区域[-8,8]×[-8,8],绘制4种三维曲面图。 程序如下:
[x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2,2,1); mesh(x,y,z); title('mesh(x,y,z)') subplot(2,2,2); meshc(x,y,z); title('meshc(x,y,z)') subplot(2,2,3); meshz(x,y,z) title('meshz(x,y,z)') subplot(2,2,4); surf(x,y,z); title('surf(x,y,z)')
例 画多条曲线观察函数Z=(X+Y).^2. 程序如下
x=-3:0.1:3;y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; plot3(X,Y,Z)
plot3(X1,Y1,Z1,选项),通过 选项 指定曲 线和点的属性,选项的取值与plot介绍的相 同。 plot3(...,'PropertyName',PropertyValue ,...),利用指定的属性绘制图形。 h = plot3(...),绘制图形并返回图形句柄, h 为一个列向量,每个元素对应图像中每个 对象的句柄。
图形修饰处理
1. 视点处理
MATLAB提供了设置视点的函数view,其调用格式为: view(az,el)
其中az为方位角,即表示视点在xOy平面投影点与y轴 负方向之间的夹角;el为仰角,即视点与xOy平面的夹 角,它们均以度为单位。系统缺省的视点定义为方位 角-37.5°,仰角30°。
第五章matlab绘图
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图形函数和绘图实例例1.输入MATLAB程序如下:x = 0 : 0.2 : 12;y1 = Bessel ( 1, x );y2 = Bessel ( 2, x );y3 = Bessel ( 3, x );figure ( 1 )subplot ( 2, 2, 1 )h = plot ( x, y1, x, y2, x, y3 );set ( h, ‘LineWidth’, 2, {‘ LineStyle’}, {‘--’ ; ‘ : ’, ‘ -. ’}) set ( h, {‘ Color’ }, { ‘ R’; ‘ G ’; ‘ B ’})axis ( [ 0 12 –0.5 1] )grid onxlabel ( ‘ Time ’ )ylabel ( ‘ Amplitude ’ )legend ( h, ‘ First’, ‘ Second ’, ‘ Third ’ )title ( ‘ Bessel Functions’)[ y, ix ] = min ( y1 );text ( x ( ix ), y, ‘First Min \ rightarrow’, …‘ HorizontalAlignment’, ‘right’)Print – depsc -tiff –r200 myplot应用图形编辑模式 如图所示。
同学们自己练习各项功能。
例2. 输入MATLAB 程序如下:t = 0 : pi/100 : 2*pi; y = sin ( t ); plot ( t, y ) grid on继续输入程序如下: y2 = sin ( t – 0.25 ); y3 = sin ( t – 0.5 ); plot ( t, y, t, y2, t, y3 )按此按钮开始图形编辑模式按这些钮开始增加字符箭头和线 改变一个轴的3D 视角可以对线的类型进行定义:t = 0 : pi/100 : 2*pi;y = sin ( t );y2 = sin ( t – 0.25 );y3 = sin ( t – 0.5 );plot ( t, y, ‘ - ’, t, y2, ‘ -- ’, t, y3, ‘ : ’ )练习,对红的颜色进行编辑。
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绘图及例子总结
MATLAB 绘图及例⼦总结MATLAB 绘图及例⼦总结⼆维图例 1结果:例 2结果:X1=[1,2,4,6,7,8,10,11,12,14,16,17,18,20];Y1=[1,2,4,6,7,8,10,10,8,7,6,4,2,1];figure(1)plot(X1,Y1,'o','MarkerSize',15)X2=1:20;Y2=log(X2);figure(2)plot(X2,Y2,'o','MarkerSize',15)X1=(0:12)*pi/6;Y1=cos(3*X1);X2=(0:360)*pi/180;Y2=cos(3*X2);figure(1)subplot(2,2,1);plot(X1,Y1,'o','MarkerSize',3); % 设置标准尺⼨为3xlim([0 2*pi]) % 补充知识点xlim% x 轴上下限设定xlim([a,b]);% y 轴上下限设定ylim([a,b])subplot(2,2,2);plot(X1,Y1,'LineWidth',2); % 设置线宽度为2xlim([0 2*pi])subplot(2,2,3);plot(X2,Y2,'o','MarkerSize',3);xlim([0 2*pi])subplot(2,2,4);plot(X2,Y2,'LineWidth',2);xlim([0 2*pi])例 3结果:例 4x=-pi/2:0.01:pi/2;y=x+sin(x)+exp(x);plot(x,y,'-ro'); % 颜⾊红⾊grid on % ⽹格title('y 的函数图像');xlabel('x');ylabel('y');legend('y=x+sinx+e^(x)');A=magic(20);A(9:20,:)=[];figure(1);结果:例 5结果:figure(1);plot(A);for i=1:5for j=1:6B(i,j)=i+j;endendx=0.2:0.2:1;figure(2)subplot(2,2,1);plot(B,x,'LineWidth',1.5);subplot(2,2,2);plot(x,B,'LineWidth',1.5);C=reshape(1:30,5,6); % 变换成特定维数5×6的矩阵subplot(2,2,3);plot(B,C,'LineWidth',1.5);subplot(2,2,4);plot(C,B,'LineWidth',1.5);x=-pi:pi/10:pi;y=tan(sin(x))-sin(tan(x));plot(x,y,'--rs','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);% MarkerFaceColor :点符号填充颜⾊% MarkerEdgeColor :点边框颜⾊例 6结果:例 7结果:clear allx=-pi:pi/10:pi;y=[sin(x);sin(x+3);sin(x+5)];z=[cos(x);cos(x+3);cos(x+5)];figure;plot(x,y,'r:*',x,z,'g-.v');% r 是红⾊,:是点线,*是星号标记% g 是绿⾊,-.是点画线,v 是倒三⾓形% 绘制双坐标轴figureangl=0:0.01*pi:2*pi;ampl=sin(0:0.01*pi:2*pi);z=ampl.*(cos(angl)+sqrt(-1)*sin(angl));[AX,H1,H2]=plotyy(0:200,abs(z),0:200,angle(z)*180/pi);% angle ⽤来求复数矩阵相位⾓的弧度值,其取值为-pi 到pi ,z 是⼀个复数,abs(z)是复数的模set(get(AX(1),'Ylabel'),'String','amplitude') % amplitude 振幅set(get(AX(2),'Ylabel'),'String','phase') % phase 阶段% get 返回某些对象属性的当前值set(H1,'LineWidth',3);set(H2,'LineStyle',':','LineWidth',3)例 8结果1:结果2:% x 轴对数坐标x=10.^(0.1:0.1:4);y=1./(x+1000);figuresubplot(1,2,1);semilogx(x,y,'+','MarkerSize',5,'LineWidth',2);title('y=(x+1000)^{-1}')subplot(1,2,2);plot(x,y,'+','MarkerSize',5,'LineWidth',2);title('y=(x+1000)^{-1}')% y 轴对数坐标同理% x 轴和y 轴均为对数坐标a=0.1:0.1:5;x=log10(a);y=10.^a;figuresubplot(1,2,1)loglog(x,y,'+','MarkerSize',5,'LineWidth',2)title('lgy=10^x')subplot(1,2,2)plot(x,y,'+','MarkerSize',5,'LineWidth',2)title('lgy=10^x')例 9结果:例 10结果:y=[75.995,91.972,105.711,123.203,131.669...150.697,179.323,203.212,226.505,249.633,281.422];figure;bar(y);x=-2:2;Y=[6,8,7,4,5;4,8,1,12,0;4,6,21,1,3];subplot(1,2,1),bar(x',Y','stacked')xlabel('x'),ylabel('\Sigma y'),colormap(cool)legend('因素 1','因素 2','因素 3')subplot(1,2,2),barh(x',Y','grouped') % barh 创建⽔平直⽅图xlabel('y'),ylabel('x')例 11结果:例 12结果:例 13x=[1,5,0.5,3.5,2];explode=[0,1,0,0,0];pie(x,explode) % 饼图colormap jetfigurepie3(x,explode)colormap hsvx=-4:0.1:4;y=randn(5000,1);hist(y,x) % 直⽅图clearfigure;结果:三维图例 1结果:例 2结果:figure;x=[1,5,6,7,9,5,1,3,12,20];y=[20,15,6,3,1,5,3,0,1,5];subplot(121);scatter(x,y); % 散点图subplot(122);scatter(x,y,[],[1,0,0],'fill');theta=0:0.01*pi:2*pi;x=sin(theta);y=cos(theta);z=cos(4*theta);figureplot3(x,y,z,'LineWidth',2);hold on;theta=0:0.02*pi:2*pi;x=sin(theta);y=cos(theta);z=cos(4*theta);plot3(x,y,z,'rd','MarkerSize',10,'LineWidth',2)X=-10:0.1:10;Y=-10:0.1:10;[X,Y]=meshgrid(X,Y);Z=-X.^2-Y.^2+200;mesh(X,Y,Z)例 3结果:例 4···[X,Y,Z]=peaks(30); %peaks 函数是⼀个典型的多元函数,本质上是⼀个⼆元⾼斯分布的概率密度函数subplot(1,2,1);surfl(X,Y,Z),colormap(copper),title('Default Lighting'),shading interpsubplot(1,2,2);surfl(X,Y,Z,[-90,30],[.55,.6,2,10]),shading interp···结果:figuresurf(X,Y,Z,'FaceColor','red','EdgeColor','none');camlight left; % 左侧加⼀个发光物体lighting phong % 光照模式,使图表⾯光滑细腻,⾊彩丰富view(-15,65) % 视⾓的⾓度例 5结果:例 6结果:% 等⾼线图[X,Y,Z]=peaks(30);figuresubplot(2,2,1);contour(X,Y,Z);axis square subplot(2,2,2);contour(X,Y,Z,10);axis squaresubplot(2,2,3);contour(X,Y,Z,-10:1:10);axis square subplot(2,2,4);contour(X,Y,Z,':');axis square[X,Y,Z]=peaks(30);R=sqrt(X.^2+Y.^2);subplot(1,2,1);surf(X,Y,Z,Z);axis tightsubplot(1,2,2);surf(X,Y,Z,R);axis tight。
最新matlab各种三维绘图及实例
最新matlab各种三维绘图及实例1Matlab绘制三维图形2三维曲线3plot3函数与plot函数用法十分相似,其调用格式为:4plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)5其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。
6当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。
当x,y,z是同7维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。
8例绘制三维曲线。
9程序如下:10t=0:pi/100:20*pi;11x=sin(t);12y=cos(t);13z=t.*sin(t).*cos(t);14plot3(x,y,z);15title('Line in 3-D Space');16xlabel('X');ylabel('Y');zlabel('Z');1718三维曲面191.产生三维数据20在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。
其格21式为:22x=a:d1:b; y=c:d2:d;23[X,Y]=meshgrid(x,y);24语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,25矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。
262.绘制三维曲面的函数27surf函数和mesh函数的调用格式为:28mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。
29surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。
一般情况下,x,y,z是维数相同的矩阵。
x,y是网格坐标矩阵,z是网格点31上的高度矩阵,c用于指定在不同高度下的颜色范围。
32例绘制三维曲面图z=sin(x+sin(y))-x/10。
33程序如下:34[x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐35标36z=sin(x+sin(y))-x/10;37mesh(x,y,z);38axis([0 4*pi 0 4*pi -2.5 1]);39此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面40函数meshz。
用matlab解析实际案例
用MATLAB解析实际案例简介MATLAB是一种面向科学计算、可视化和数学建模的高级技术计算软件。
它被广泛应用于研究、工程和行业中,如信号处理、图像处理、机器学习、控制系统设计等。
本文将使用MATLAB来解析一个实际案例,并说明如何使用MATLAB进行数据分析和可视化。
案例背景某国外航空公司的一架飞机在飞行途中突然失去了控制,最终在一片森林地带坠毁,导致机上所有人员全部遇难。
该事件引起了广泛关注和调查。
在调查过程中,分析了飞机事故中的数据记录器,也被称为“黑匣子”,以便更好地了解整个事件。
数据记录器记录了飞机在飞行途中的多种参数,包括高度、速度、航向、油门设置等。
本文将使用MATLAB对这些数据进行分析和可视化,以更好地理解飞机失控的原因。
数据处理首先,我们需要将数据导入MATLAB。
这个过程可以通过多种方式实现,例如读取CSV文件、导入Excel文件或使用数据库连接器。
在本例中,原始数据以CSV 文件的形式提供。
为了导入数据,我们在MATLAB中使用readtable函数:data = readtable('data.csv');这会将数据读入一个MATLAB表中,其中每一列代表一个不同的参数。
我们可以使用summary函数查看数据摘要:summary(data)此命令将显示数据的摘要信息、变量名称和其他统计数据。
接下来,我们可以使用MATLAB的plot函数来绘制数据。
例如,要显示速度随时间变化的情况:plot(data.Time, data.Speed);这将在MATLAB中绘制速度与时间的关系图。
在绘制图形之前,我们需要对数据进行一些预处理。
在本例中,我们需要使用曲线拟合技术来找到可能导致飞机事故的异常点。
MATLAB提供了多种曲线拟合技术,例如多项式拟合、趋势线拟合等。
在本例中,我们将使用Loess曲线拟合技术来找到异常点。
首先,我们需要使用MATLAB的loess函数来计算数据的平滑曲线:smooth_data = loess(data.Time, data.Speed);然后,我们可以使用MATLAB的detrend函数来计算数据的趋势:detrended_data = detrend(data.Speed - smooth_data);这将返回数据的趋势,并将其从原始数据中减去,以获得数据的异常部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab图形绘制经典案例1、三维曲线>> t=0:pi/50:10*pi;>> plot3(sin(2*t),cos(2*t),t)>> axis square>> grid on2、一窗口多图形>> t=-2*pi:0.01:2*pi; >> subplot(3,2,1)>> plot(t,sin(t))>> subplot(3,2,2)>> plot(t,cos(t))>> subplot(3,2,3)>> plot(t,tan(t))>> axis([-pi pi -100 100]) >> subplot(3,2,4)>> plot(t,cot(t))>> axis([-pi pi -100 100]) >> subplot(3,2,5)>> plot(t,atan(t))>> subplot(3,2,6)>> plot(t,acot(t))3、图形样式、标注、题字(也可以利用菜单直接Insert) >> x=0:pi/20:2*pi;>> plot(x,sin(x),'b-.')>> hold on>> plot(x,cos(x),'r--')>> hold on>> plot(x,sin(x)-1,'g:')>> hold on>> plot(x,cos(x)-1)>> xlabel('x');>> xlabel('x轴');>> ylabel('y轴');>> title('图形样式、标注等');>> text(pi,sin(pi),'x=\pi');>> legend('sin(x)','cos(x)','sin(x)-1','cos(x)-1');>> [x1,y1]=ginput(1) %利用鼠标定位查找线上某点的值x1 =2.0893y1 =-0.5000>> gtext('x=2.5') %鼠标定位放置所需的值在线上4、>> fplot('[sin(x),cos(x),sqrt(x)-1]',[0 2*pi]) M文件:myfun.m内容如下:function y=myfun(x)y(:,1)=sin(x);y(:,2)=cos(x);y(:,3)=x^(1/2)-1;再运行:>> fplot('myfun',[0 2*pi])同样可以得到下图5、>> [x,y]=fplot('sin',[0 2*pi]); >> [x1,y1]=fplot('cos',[0 2*pi]); >> plot(x,y,'-r',x1,y1,'-.k')>> legend('y=sinx','y=cosx')6、>> x=[-2:0.2:2];>> y=exp(x)-sin(x);>> plot(x,y,'-or','linewidth',2)7、画出y1=6(sinx-cosx),y2=x2^x-1的图形>> x=[-3:0.1:3];>> y1=6*(sin(x)-cos(x));>> y2=x.*2.^x-1;>> plot(x,y1,'-r',x,y2,'-.k','linewidth',2)8、绘制心形图r=2(1-cosθ)的极坐标图形>> theta=[0:0.01:2*pi];>> polar(theta,2*(1-cos(theta)),'-k')>> polar(theta,2*(1-cos(theta)),'-or')9、用双轴对数坐标绘制y=x*3^x-30的图形>> x=logspace(-3,3);>> y=x.*3.^x-30;>> loglog(y,'-or','linewidth',2);>> grid on10、绘制数据向量的单轴对数坐标图形>> x=[1:50];>> y=[1:50];>> semilogx(x,y,'-*b')%绘制横轴为对数坐标%纵轴为线性坐标>> grid on>> semilogy(x,y,'-*b')%绘制纵轴为对数坐标%横轴为线性坐标>> grid on11、绘制矩阵的条形图,并求出句柄属性值向量。
>> A=[1 2 3;4 5 6;7 8 9];>> h=bar(A)h =171.0031 174.0026 176.002612、绘制矩阵的水平条形图。
>> y=[3 2 -2 2 1;-1 2 3 7 1;7 2 -3 5 2];>> x=[1:3];>> barh(x,y)13、绘制矩阵的面积图。
>> y=[3 2 -2 2 1;-1 3 3 7 2;-7 5 5 9 3]; >> area(y)14、绘制矩阵的二维饼图>> x=[1 2 3;4 5 6;7 8 9];>> explode=[0 1 0 1 0 1 0 1 0];>> pie(x,explode)15、自行确定数据向量,绘制其散点图。
>> x=rand(1,100);y=randn(1,100);scatter(x,y,20)16、自行确定数据,绘制其柱形图。
>> x=[-2:0.01:4];>>y=randn(1131,1); >>hist(y,x)17、绘制y=sinx在[0,2*pi]上的误差图。
>> x=[0:pi/20:2*pi];>> y=sin(x);>> E=std(y)*ones(size(x));%条形控制>> errorbar(x,y,E)18、绘制火柴杆图。
>> x=[1 1.5 2;3 3.5 4;5 5.5 6]; >> y=[4 3 2;4 8 9;2 7 3]; >> stem(x,y,'fill')%fill意思是“实心点”19、绘制羽列图。
>> U=[-90:5:90]*pi/180; %建立等间距数据>> V=2*ones(size(U));%根据U建立数据>> [U,V]=pol2cart(U,V);转换数据为直角坐标形式>> feather(U,V)20、同一窗口绘制和在[0,30]上的图形。
>> x=[0:0.01:30];>> y1=50*exp(-0.05*x).*sin(x); >> y2=0.5*exp(-0.5*x).*cos(x);>> plotyy(x,y1,x,y2,'plot')% plotyy(x,y1,x,y2,'plot')表示:用左侧y标度绘制(x,y1)用右侧y标度绘制(x,y2)21、绘制8阶魔方矩阵的等值线图和阶梯图。
>> A=magic(8);contour(A) %绘制等值线图stairs(A) %绘制阶梯图22、绘制玫瑰花图。
>> theta=rand(1,200)*2*pi; >> rose(theta,25)23、绘制罗盘图。
>> x=rand(20,1);y=randn(20,1); >> compass(x,y)24、绘制函数的梯度场矢量图。
>> [x,y]=meshgrid([-2:0.1:2]); %建立栅格点数据向量>> z=3.*x.*y*exp(-x.^2-y.^2)-1; %计算函数值向量>> [u,v]=gradient(z,0.2,0.2); %计算梯度值向量>> quiver(x,y,u,v,2) %绘制梯度场矢量图25、给定向量x,y生成网格矩阵。
>> x=[1 2 3 4];>> y=[10 11 12 13 14];>> [U,V]=meshgrid(x,y)U =1 2 3 41 2 3 41 2 3 41 2 3 41 2 3 4V =10 10 10 1011 11 11 1112 12 12 1213 13 13 1314 14 14 1426、生成一个5阶高斯分布矩阵,并给出相应的x,y向量矩阵。
>> [X,Y,Z]=peaks(5)X =-3.0000 -1.5000 0 1.5000 3.0000-3.0000 -1.5000 0 1.5000 3.0000-3.0000 -1.5000 0 1.5000 3.0000-3.0000 -1.5000 0 1.5000 3.0000-3.0000 -1.5000 0 1.5000 3.0000Y =-3.0000 -3.0000 -3.0000 -3.0000 -3.0000-1.5000 -1.5000 -1.5000 -1.5000 -1.50000 0 0 0 01.5000 1.5000 1.5000 1.5000 1.50003.0000 3.0000 3.0000 3.0000 3.0000Z =0.0001 0.0042 -0.2450 -0.0298 -0.0000-0.0005 0.3265 -5.6803 -0.4405 0.0036-0.0365 -2.7736 0.9810 3.2695 0.0331-0.0031 0.4784 7.9966 1.1853 0.00440.0000 0.0312 0.2999 0.0320 0.000027、在-4<=x<=4,-4<=y<=4区域上绘制z=x^2+y^2的三维网格图。