MATLAB绘图功能大全
matlab绘图功能

二维图形绘制plot(x,y)当x,y是同维矩阵时,则以x,y对应的列元素为横纵坐标绘制曲线,曲线条数等于矩阵的列数。
plot(x)以x的下标为很坐标,元素值为纵坐标绘制曲线。
plot(x1,y1,x2,y2,x3,y3,…,xn,yn)plot(x1,y1,选项1,x2,y2,选项2,…xn,yn,选项n)双纵坐标函数plotyyplotyy(x1,y1,x2,y2)其中横坐标必须具有相同的标度,纵坐标可以不同。
图形标注:xlabel(x轴说明)ylabel(y轴说明)title(图形名称)text(x,y,图形说明)legend(图例1,图例2,…)对坐标范围设置:axis([xmin xmax ymin ymax zmin zmax])axis equal:横纵坐标采用等长刻度。
axis square:产生正方形坐标系(默认为矩形)。
axis auto:使用默认设置。
axis off:取消坐标轴axis on:显示坐标轴用grid on/off来控制是否画网格线。
用box on/off来控制是否加边框线。
每执行一次绘图命令就会刷新一次绘图窗口,原有图形将不在。
若要保持原有图形且继续添加新的图形则用hold on/off来控制。
图形窗口的分割:用subplot函数将图形窗口分割为若干相对独立的子图区域。
subplot(m,n,p)表示将当前图形窗口分割为m n个绘图区,即共m行,每行n个绘图区。
P表示选定第p个区作为当前活动区,所发出的绘图命令作用于活动区。
绘制二维图形的其他函数:bar 条形图stairs 阶梯图stem 杆图fill 填充图polar(the,rho,选项)semilogxsemilogyloglogfplot(filename,lims,tol,选项)filename为函数名,以字符串形式出现,lims为x,y的取值范围,tol 为相对允许误差,默认为2e-3fplot(‘[sin(x),cos(x)]’,[0,2*pi,-1.5,5],1e-3,’r’)用pie可以绘制饼图,用compass绘制复数的向量图。
matlab绘图功能

第三章 MATLAB图形系统
图3.5 文本标注使用示例
第三章 MATLAB图形系统
3.3 对数和极坐标系中图形绘制
有时变量变化范围很大,如x轴从0.01到100,这时如果仍
采用plot绘图,就会失去局部可视性,因此应采用对数坐标系
进行绘图。例如,求0.01~100之间的常用对数(以10为底的对 数),MATLAB程序为
绘制图形后,还要给图形进行标注。例如,可以给每个图
加上标题、坐标轴标记和曲线说明等。给图3.1加上标题和轴标
记,可输入 title('sin(\alpha)') xlabel('\alpha') ylabel('sin(\alpha)') 则可以得到如图3.3所示的结果。这里\alpha表示α,取自于 Tex字符集,详见附录A的text函数中的字符集。
c1=abs(z);c2=angle(z);
c3=abs(p);c4=angle(p); figure(1) polar(c4,c3,'bx') hold on,polar(c2,c1,'ro')
gtext('极坐标系中零极点的表示')
第三章 MATLAB图形系统
图3.7 笛卡尔和极坐标系中特征值的表示
然后利用plot函数可直接绘制出这41条曲线 x1=x(1,:); plot(x1, z), grid on 这时可得到如图3.9所示的多条曲线。
第三章 MATLAB图形系统
图3.9 多峰函数的多条曲线
第三章 MATLAB图形系统 绘制多条曲线的第二种方法是在同一个plot函数中分别指 定每条曲线的坐标轴数据,即采用plot(x1, y1, x2, y2,…)。例
Matlab 绘图大全

要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:
plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
例1-6 在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx),标记两曲线交叉点。
title('bar(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');
例1-7 在0≤x≤2p区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。
程序如下:
x=0:pi/100:2*pi;
y1=2*exp(-0.5*x);
y2=cos(4*pi*x);
plot(x,y1,x,y2)
title('x from 0 to 2{\pi}'); %加图形标题
1.6 对函数自适应采样的绘图函数
fplot函数的调用格式为:
fplot(fname,lims,tol,选项)
其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统 默认值为2e-3。选项定义与plot函数相同。
axis off:取消坐标轴。
axis on:显示 坐标轴。
给坐标加网格线用grid命令来控制。grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。
matlab绘图指令大全22页word文档

绘图指令1 二维曲线图指令图例Y=[1,3,6,5,9,0,2];plot(Y);X=0: pi/10: pi*2;Y=sin(X);plot(X,Y);X=0: pi/10: pi*2;Y1=sin(X);Y2=cos(X);Plot(X,Y1,X,Y2);调整坐标范围:axisaxis([0,300,0,2])DrawCircle.mfunction DrawCircle(Point,Radius)Hold ont=0: pi/10: 2*pi;x=Point(1)+ Radius*cos(t);y=Point(2)+ Radius*sin(t);plot(x,y);DrawCircle([10 10],1)DrawCircle([20 10],2)DrawCircle([10 20],3)显函数ezplot('sin(x)',[0,2*pi])隐函数ezplot('x^2+y^2-10',[-5,5],[-6,6])参数方程ezplot('cos(t)^3','sin(t)^3',[0,2*pi])function y=myf1(x)y=sqrt(100-x^2);fplot('myf1',[-15 15])fplot('[sin(x) cos(x) myf1(x)]',[-15 15])1.5 图形修饰设置颜色 y m c r g b w k设置线型 - : -. --指令图例Y=[1,3,6,5,9,0,2];plot(Y, 'r-+');X=0: pi/10: pi*2;Y1=sin(X); Y2=cos(X);plot(X,Y1,'r+-',X,Y2,'b-*');text(3.5, 0.6, '曲线比较');x=[1.6*pi, 1.6*pi]; y=[-0.3, 0.8];s=['曲线cos'; '曲线sin'];text(x,y,s);指令图例bar直方图X=0:pi/10:2*pi;Y=sin(X);bar(X,Y);polar极坐标图T=0: pi/10: 4*pi;R=T;polar(T, R);误差棒棒图X=0:pi/10:2*pi;Y=sin(X);e=0.2*rand(size(X)); errorbar(X,Y,e);火柴杆图X=0:pi/10:2*pi; Y=sin(X); stem(X,Y);stairs楼梯图X=0:pi/10:2*pi; Y=sin(X); stairs(X,Y);多边形填色图X=[1,2,3,4,5];Y=[3,5,2,1,6];fill(X,Y,'r');hold on; % 保持图形plot(X,Y,'o')1.7 数值函数的二维图fplot('0.5*cos(x)',[-pi,pi]) % 绘图[X,Y] = fplot('0.5*cos(x)',[-pi,pi]); % 返回点坐标fplot('cos(x)',[-pi,pi],'r-+'); % 观察点的位置控制采样点的密度fplot('cos(x)',[-pi,pi],'r-+',0.05);fplot('cos(x)',[-pi,pi],'r-+',0.1);可绘制系统函数,也可绘制自定义函数的图形。
MatLab图形绘制功能(精编文档).doc

【最新整理,下载后即可编辑】MatLab & 数学建模第二讲MatLab图形绘制功能一、二维平面图形基本绘图函数c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线hold on 命令用于在已画好的图形上添加新的图形plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。
下例可画出一条正弦曲线:x=0:0.001:10; % 0到10的1000个点的x座标y=sin(x); % 对应的y座标plot(x,y); % 绘图Y=sin(10*x);plot(x,y,'r:',x,Y,'b') % 同时画两个函数•若要改变颜色,在座标对後面加上相关字串即可:x=0:0.01:10;plot(x,sin(x),'r')若要同时改变颜色及图线型态(Line style),也是在坐标对後面加上相关字串即可:plot(x,sin(x),'r*')用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围axis([0,6,-1.5,1])MATLAB也可对图形加上各种注解与处理:xlabel('x轴'); % x轴注解ylabel('y轴'); % y轴注解title('余弦函数'); % 图形标题legend('y = cos(x)'); % 图形注解gtext('y = cos(x)'); % 图形注解,用鼠标定位注解位置grid on; % 显示格线fplot的指令可以用来自动的画一个已定义的函数分布图,而无须产生绘图所须要的一组数据做为变数。
其语法为fplot('fun',[xmin xmax ymin ymax]),其中fun为一已定义的函数名称,例如sin, cos 等等;而xmin, xmax, ymin, ymax则是设定绘图横轴及纵轴的下限及上限。
MATLAB软件的绘图功能简介

MAT LAB软件的绘图功能简介丁玲玲3 刘 胜 邓志红 孙静川摘 要 介绍M AT LAB方便完善的绘图功能,给出的相应命令可以有效提高用户绘图效率。
关键词 计算机绘图 M AT LABDrawing Function of MatlabDing Lingling Liu Sheng Deng Zhihong Sun Jingchu an Abstract: In the paper,the drawing function of M AT LAB is introduced.The commands given in the paper will im2 prove user′s efficiency notably. K ey w ords: drawing function M AT LAB M AT LAB软件的图形处理功能尤为强大,用户可以在不熟悉M AT LAB其它功能的情况下通过几条简单命令绘制出理想的图形,非常适用于科学研究与工程实际。
1 M AT LAB图形绘制的基本命令 用户将X和Y轴的两组数据分别在两个向量如x和y 中储存,它们的长度相同,格式为:x=[x1,x2,x3,…,x n];y= [y1,y2,y3,…,y n];则可以简单而直观形象地调用plot函数,其调用格式为: plot(x,y)M AT LAB允许在一个绘图窗口上同时绘制多条曲线,例如下面的命令: t=[0:0.1:23pi];y=[sin(t);cos(t)];plot(t,y)这一段语句首先产生一个(0~2π)之间间隔为0.1弧度的行向量t,然后分别求取行向量sin(t)和cos(t)并将它们构成矩阵y的两行,最后将两条曲线在一个坐标系下绘制出来。
在彩色显示器上,M AT LAB会自动地用不同颜色将曲线显示出来;在单色打印机上可以用不同灰度来表示。
为了易于辨认,M AT LAB也提供了一些绘图选项,如表1所示。
matlab绘图功能
Matlab的常用绘图功能1.绘制二维图形(1)基本二维图形①plot(y)功能:以向量y的分量值为纵坐标,以相应的分量下标为横坐标,依次描点连线。
②plot(x,y)功能:以x为横坐标向量,y为纵坐标向量,描点连线。
③plot(x,y,'选项')功能:以选项指定的线型、颜色、数据点标记等描点绘线。
④plot(x1,y1,'选项1',x2,y2,'选项2',…)功能:绘制组合图(画若干条线在同一画中)。
例:t1=0:0.4:2*pit2=1:0.1:3*piplot(t1,sin(t1),':ob',t2,cos(t2),'--g')(2)几种特殊的坐标图①对数坐标曲线semilogx(x,y):以横坐标x为对数坐标,描点连线。
semilogy(x,y):以纵坐标y为对数坐标,描点连线。
loglog(x,y):纵、横坐标均为对数坐标。
grid on命令:图形窗口中添加网格线②极坐标曲线polar(theta,rho,’选项’)以theta为极角向量,rho为极径向量,描点连线作图,‘选项’同plot 。
例:theta=0:0.1:4*pirho=(cos(theta/4)+1/3)polar(theta,rho)③双y轴图形●plotyy(x1,y1,x2,y2)曲线(x1,y1)用左侧y轴,曲线(x2,y2)用右侧y轴●plotyy(x1,y1,x2,y2,’FUN’)用‘FUN’指定绘图函数(如:plot,semilog等)plotyy(x1,y1,x2,y2,’FUN1’,’FUN2’)用‘FUN1’指定的函数去绘制曲线(x1,y1),用‘FUN2’指定的函数绘(x2,y2)。
例:x=1:0.01:5y=exp(x)plotyy(x,y,x,y,'semilogy','plot')④复数数据绘制plot(z) :以z的实部为横坐标,虚部为纵坐标。
第4章_MATALAB绘图功能
c.对数坐标曲线命令 绘制二维对数坐标曲线的命令semilogx、semilogy 和 loglog, 其用法和函数 plot 相同。 函数 semilogx 横坐标为对数坐标; 函数 semilogy 纵坐标为对数坐标; 函数loglog 横、纵坐标均为对数坐标。 例:绘制正弦函数的对数坐标曲线。 t=0.1:0.1:3*pi; y=sin(t)+1; figure(1) semilogx(t,y) grid on figure(2) semilogy(t,y) figure(3) loglog(t,y)
函数 z x e ,定义区域为[-2,2]×[-2,2]。 生成网格并计算其网格点上的函数值。
[X,Y] = meshgrid(-2:2:2, -2:2:2); [X,Y] %将划分结果输出至矩阵 ans = -2 0 2 -2 -2 -2 -2 0 2 0 0 0 -2 0 2 2 2 2 Z = X .* exp(-X.^2 - Y.^2); %计算网格点上的函数值赋予变量 Z= -0.0007 0 0.0007 -0.0366 0 0.0366 -0.0007 0 0.0007
1
figure(1) x=0:0.1:1; y=sin(x); plot(x,y)
0.8 0.6
0.4
0.2 0 0 0.2 0.4 0.6 0.8 1
二、二维平面图形与坐标系
1. 几个基本的绘图命令 a. 线性坐标曲线 plot 函数命令 plot 是 MATLAB 二维曲线绘图中最简单、最重要、 使用最广泛的一个线性绘图函数。它可以生成线段、曲线 和参数方程曲线的函数图形。 命令格式: plot(y) :单参数式(y为纵坐标向量,横坐标为向量[1 2 3 4 …]) plot(x,y):参数式 (x 为横坐标向量,y为纵坐标向量) plot(Y):m×n 矩阵式(矩阵的每列为纵坐标,横坐标为向量[1:m]) plot(X,Y):混合式 plot(Z):复向量式 plot(x1,y1,x2,y2,…):综合调用方式
Matlab绘图功能
第五章Matlab绘图功能5.1 二维图形的绘制5.1.1 常用的二维图形绘图函数基本的二维绘图函数有plot ——绘制2维曲线;title ——给图形加标题;grid ——显示网格线;xlabel ——给x轴加标记;ylabel ——给y轴加标记;text ——在坐标图中加入文字注释。
π的曲线图。
例:画出函数x=,其中x从0到π2步进100yπ2sin/X=0:pi/100:2*pi;Y=sin(X);plot(X,Y); % 作图grid on; % 网格线显示,若该为grid off则不显示网格ylabel('y=sin 2\pi x'); % Y轴标注,可以有汉字xlabel('x'); % X轴标注,可以有汉字title('function plot y=sin 2\pi x'); % 图标题text(0.5,sin(0.5),'\leftarrow sin 2 \pi 0.5'); % text()可以在指定坐标处写文字标注text(2.3,sin(2.3),'\leftarrow sin 2 \pi 2.3'); % 所有标注中均可使用汉字% 对于特殊符号,如希腊字母,箭头等需要采用LaTeX格式结果如图5.1 所示。
图5.1 基本的二维绘图函数用法5.1.2 图形的线型和颜色控制在命令plot的高级用法中,可以设置作图的线型,标记类型,线和标记的颜色,粗细等特征。
用命令doc LineSpec和doc plot可以查询详细的帮助文档。
线型的定义如下:- solid line (default) 实线-- dashed line 虚线: dotted line 虚点连线-. dash-dot line 点划线常用标记的定义为:+ plus sign 十字标记o circle 小圈标记* asterisk 星号标记. point 黑点标记x cross 叉号标记s square 方框标记d diamond 菱形标记^ upward pointing triangle 上三角标记v downward pointing triangle 下三角标记> right pointing triangle 右三角标记< left pointing triangle 左三角标记p five-pointed star (pentagram) 五角星标记h six-pointed star (hexagram) 六角星标记颜色的定义是:r red 红g green 绿b blue 蓝c cyan 兰绿色m magenta 洋红y yellow 黄k black 黑w white 白另外,利用线型属性和标记属性可以随心所欲地设计作图图式。
matlab画图大全[资料]
matlab绘图大全Matlab绘图系列之高级绘图一、目录1.彗星图二维彗星图三维彗星图2.帧动画3.程序动画4.色图变换5.Voronoi图和三角剖分Voronoi图三角剖分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.Voronoi图和三角剖分Voronoi图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 tight9.切片图切片图[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×49subplot(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')。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。
此外,Matlab 还提供了直接对图形句柄进行操作的低层绘图操作。
这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
一、二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。
可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。
二维图形的绘制是其他绘图操作的基础。
(一)绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。
1.plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x 坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。
plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。
例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。
例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。
实际应用中还有一些变化。
2.含多个输入参数的plot函数plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。
含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)如下列命令可以在同一坐标中画出3条曲线。
>> x=linspace(0,2*pi,100);>> plot(x,sin(x),x,2*sin(x),x,3*sin(x))当输入参数有矩阵形式时,配对的x,y按对应的列元素为横坐标和纵坐标绘制曲线,曲线条数等于矩阵的列数。
>> x=linspace(0,2*pi,100);>> y1=sin(x);>> y2=2*sin(x);>> y3=3*sin(x);>> x=[x;x;x]';>> y=[y1;y2;y3]';>> plot(x,y,x,cos(x))x,y都是含有三列的矩阵,它们组成输入参数对,绘制三条曲线;x和cos(x)又组成一对,绘制一条余弦曲线。
利用plot函数可以直接将矩阵的数据绘制在图形窗体中,此时plot函数将矩阵的每一列数据作为一条曲线绘制在窗体中。
如>> A=pascal(5)A =1 1 1 1 1例用不同的线型和颜色在同一坐标内绘制曲线及其包络线。
>> x=(0:pi/100:2*pi)';>> y1=2*exp(-0.5*x)*[1,-1];>> y2=2*exp(-0.5*x).*sin(2*pi*x);>> x1=(0:12)/2;>> y3=2*exp(-0.5*x1).*sin(2*pi*x1);>> plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp');在该plot函数中包含了3组绘图参数,第一组用黑色虚线画出两条包络线,第二组用蓝色双划线画出曲线y,第三组用红色五角星离散标出数据点。
4.双纵坐标函数plotyy在Matlab中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy函数,它能把具有不同量纲,不同数量级的两个函数绘制在同一个坐标中,有利于图形数据的对比分析。
使用格式为:plotyy(x1,y1,x2,y2)。
x1,y1对应一条曲线,x2,y2对应另一条曲线。
横坐标的标度相同,纵坐标有两个,左边的对应x1,y1数据对,右边的对应x2,y2。
(二)绘制图形的辅助操作绘制完图形以后,可能还需要对图形进行一些辅助操作,以使图形意义更加明确,可读性更强。
1.图形标注在绘制图形时,可以对图形加上一些说明,如图形的名称、坐标轴说明以及图形某一部分的含义等,这些操作称为添加图形标注。
有关图形标注函数的调用格式为:title(’图形名称’)(都放在单引号内)xlabel(’x轴说明’)ylabel(’y轴说明’)text(x,y,’图形说明’)legend(’图例1’,’图例2’,…) P190其中,title、xlabel和ylabel函数分别用于说明图形和坐标轴的名称。
text函数是在坐标点(x,y)处添加图形说明。
(P88 或用gtext命令)。
legend函数用于绘制曲线所用线型、颜色或数据点标记图例,图例放置在空白处,用户还可以通过鼠标移动图例,将其放到所希望的位置。
除legend函数外,其他函数同样适用于三维图形,在三维中z坐标轴说明用zlabel函数。
上述函数中的说明文字,除了使用标准的ASCII字符外,还可以使用LaTex(一种流行的数学排版软件)格式的控制字符,这样就可以在图形上添加希腊字符,数学符号和公式等内容。
在Matlab支持的LaTex字符串中,用/bf , /it , /rm控制字符分别定义黑体、斜体和正体字符,受LaTex字符串控制部分要加大括号{}括起来。
例如,2.坐标控制在绘制图形时,Matlab可以自动根据要绘制曲线数据的范围选择合适的坐标刻度,使得曲线能够尽可能清晰的显示出来。
所以,一般情况下用户不必选择坐标轴的刻度范围。
但是,如果用户对坐标不满意,可以利用axis函数对其重新设定。
其调用格式为axis([xmin xmax ymin ymax zmin zmax])如果只给出前四个参数,则按照给出的x、y轴的最小值和最大值选择坐标系范围,绘制出合适的二维曲线。
如果给出了全部参数,则绘制出三维图形。
axis函数的功能丰富,其常用的用法有:axis equal :纵横坐标轴采用等长刻度axis square:产生正方形坐标系(默认为矩形)axis auto:使用默认设置axis off:取消坐标轴axis on :显示坐标轴还有:给坐标加网格线可以用grid命令来控制,grid on/off 命令控制画还是不画网格线,不带参数的grid命令在两种之间进行切换。
给坐标加边框用box命令控制。
和grid一样用法例:绘制分段函数,并添加图形标注。
(略)3.图形保持一般情况下,每执行一次绘图命令,就刷新一次当前图形窗口,图形窗口原有图形将不复存在,如果希望在已经存在的图形上再继续添加新的图形,可以使用图形保持命令hold。
hold on/off 命令是保持原有图形还是刷新原有图形,不带参数的hold命令在两者之间进行切换。
例:(略)4.图形窗口分割在实际应用中,经常需要在一个图形窗口中绘制若干个独立的图形,这就需要对图形窗口进行分割。
分割后的图形窗口由若干个绘图区组成,每一个绘图区可以建立独立的坐标系并绘制图形。
同一图形窗口下的不同图形称为子图。
Matlab提供了subplot函数用来将当前窗口分割成若干个绘图区,每个区域代表一个独立的子图,也是一个独立的坐标系,可以通过subplot函数激活某一区,该区为活动区,所发出的绘图命令都是作用于该活动区域。
调用格式:subplot(m,n,p)该函数把当前窗口分成m×n个绘图区,m行,每行n个绘图区,区号按行优先编号。
其中第p个区为当前活动区。
每一个绘图区允许以不同的坐标系单独绘制图形。
例:(略)三.绘制二维图形的其他函数1.其他形式的线性直角坐标图在线性直角坐标中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别为:bar(x,y,选项)选项在单引号中stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,…)前三个函数和plot的用法相似,只是没有多输入变量形式。
fill 函数按向量元素下标渐增次序依次用直线段连接x,y对应元素定义的数据点。
例5-8:分别以条形图、填充图、阶梯图和杆图形式绘制曲线x=0:0.35:7;y=2*exp(-0.5*x);subplot(2,2,1);bar(x,y,'g');title('bar(x,y,''g'')');axis([0, 7, 0 ,2]);subplot(2,2,2);fill(x,y,'r');title('fill(x,y,''r'')');axis([0, 7, 0 ,2]);subplot(2,2,3);stairs(x,y,'b');title('stairs(x,y,''b'')');axis([0, 7, 0 ,2]);subplot(2,2,4);stem(x,y,'k');title('stem(x,y,''k'')');axis([0, 7, 0 ,2]);2.极坐标图polar函数用来绘制极坐标图,调用格式为:polar(theta,rho,选项)其中,theta为极坐标极角,rho为极径,选项的内容和plot函数相似。
例5-9:绘制的极坐标图theta=0:0.01:2*pi;rho=sin(3*theta).*cos(5*theta);polar(theta,rho,'r');3.对数坐标图在实际应用中,经常用到对数坐标,Matlab提供了绘制对数和半对数坐标曲线的函数,其调用格式为:semilogx(x1,y1,选项1,x2,y2,选项2,…)semilogy(x1,y1,选项1,x2,y2,选项2,…)loglog(x1,y1,选项1,x2,y2,选项2,…)这些函数中选项的定义和plot函数完全一样,所不同的是坐标轴的选取。