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 绘图大全
要设置曲线样式可以在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作图
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为长度相同的向量,这是最常见、最基本的用法。
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的实部为横坐标,虚部为纵坐标。
复习二、MATLAB_基本绘图功能
曲线线型、色彩、数据点型的允许值
2、坐标、刻度、分格线、坐标框控制 axis(V) set(gca,’Xtick’,xs,’Ytick’,ys) set(gca,’Xtick’,xs,’Ytick’,ys,’Ztick’,zs) grid 是否画分格线的双向切换指令。 grid on 画出分格线。 grid off 不画出分格线。 box 坐标形式在封闭式和开启式之间切换指令。 box on 使当前坐标呈封闭形式。 box off 使当前坐标呈开启形式。 还可在 坐标轴属性编辑器 设置
复习二、MATLAB 基本绘图功能
二维图形的绘制 三维图形的绘制
一、二维图形绘制 1、基本绘图函数
plot的基本调用格式: plot(x,y):输出以向量x为横坐标,向量y纵坐标 的图形,x、y必须具有相同的长度。 plot(y):输出以向量y元素序号m为横坐标,向 量y对应元素m为纵坐标的图形。 plot(x,y,’str’):用‘str’指定的方式,输出以x为 横坐标, y为纵坐标的图形。在指定方式str中, 用户可以规定绘制曲线的线型、数据点型、颜色 等。 plot(x1,y1,’str1’,x2,y2,’str2’,…): 在一副图中,用 ‘str1’指定的方式,输出以x1为横坐标, y1为纵坐 标的图形。用‘str2’指定的方式,输出以x2为横坐 标, y2为纵坐标的图形。’str’选项中的部分参数 见表6.3所示。
2、特殊三维绘图函数
Байду номын сангаас
3、图形标识
4、多次叠绘、双纵坐标和多子图 多子图 MATLAB允许用户在一个图形窗口中布 置几幅独立的子图,其基本指令是 subplot(m,n,k) 或subplot(mnk) 表 示使(m×n)幅子图中的第k幅成为当前图。
matlab绘图指令大全
绘图指令1 二维曲线图
调整坐标范围:axis axis([0,300,0,2])
1.5 图形修饰
设置颜色 y m c r g b w k 设置线型 - : -. --
设置标记 . o x + *
e=0.2*rand(size(X));
1.7 数值函数的二维图
可绘制系统函数,也可绘制自定义函数的图形。
2 三维曲线图
2.1 三维曲线plot3
3 曲面图形
3.2 三维网格mesh、meshc、meshz
利用peaks(50)作为模拟数据矩阵;
3.4 二元函数的伪彩色图pcolor
3.5 等高线contour
3.6 矢量场图quiver
Z=X.*exp(-X.^2-Y.^2);
3.7 视角控制view
视点控制方式及效果:
方位角、仰角控制方式及效果:缺省为(-37.5,30)。
3.8 多视区控制subplot
3.9 制作、播放动画
[x,y,z]=peaks(30); surf(x,y,z)
% 制作动画
m=moviein(5); % 5帧画面的动画变量
for i=1:5
view([1 1 i]) % 不断调整视点
m(:,i)=getframe; % 将当前画面作为帧保存到序列中end
% 播放动画
movie(m,2,1); % 每隔1秒播放1帧,循环播放2次3.10 示例:地形图
3.11 示例:汶川地形图
load dem.txt
mesh(dem)
4 数据特征的图形展示
以pdf结尾的函数,计算概率密度或概率;以cdf结。
matlab绘图总结(个人总结)
1,单矢量绘图x=[1 2 3 4 5 6 7 8 9 10];y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20];plot(x,y)title('简单绘图举例');xlabel('单元下标');ylabel('给定的矢量');grid2,双矢量绘图x=0:0.05:4*pi;y=sin(x);plot(x,y)3,对数坐标绘图对数坐标分为x轴对数(semilogx),y轴对数(semilogy)及双对数(loglog)三个函数,用法和plot命令相似。
4,极坐标绘图极坐标绘图的用法和基本绘图命令plot()相似,其格式为polar(theta,rho)t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t))x=0:pi/50:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,x,y2,x,y3)x1=0:pi/50:2*pi;x2=pi/4:pi/50:2*pi+pi/4;x3=pi/2:pi/50:2*pi+pi/2; % 问题出在哪里?!!!(已解决)y1=cos(x1);y2=cos(x2);y3=cos(x3);plot(x1,y1,x2,y2,x3,y3)x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2; % 问题出在哪呢?!!!(已解决)y=sin(x(1,:));plot(x,y)x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y)x(:,1)=[0:pi/50:2*pi]';x(:,2)=[pi/4:pi/50:2*pi+pi/4]';x(:,3)=[pi/2:pi/50:2*pi+pi/2]'; % 这个又有问题了!!!y(:,1)=sin(x(:,1));y(:,2)=0.6*sin(x(:,1));y(:,2)=0.3*sin(x(:,1));plot(x,y)4,多组变量绘图x=0:pi/50:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,x,y2,x,y3)5,双y轴绘图x=0:0.3:12;y=exp(-0.3*x).*sin(x)+0.5;plotyy(x,y,x,y,'plot','stem')t=0:900;A=1000;a=0.005;b=0.005;z1=A*exp(-a*t);z2=sin(b*t);plotyy(t,z1,t,z2,'semilogy','plot')5,图的形式和颜色matlab 提供了四种线形和十三种标记点类型MATLAB在多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.这些选项如下表所示:各种颜色属性选项'r'红色'm'粉红'g'绿色'c'青色'b'兰色'w'白色'y'黄色'k'黑色各种线型属性选项'-'实线'--'虚线':'点线'-.'点划线各种标记点属性选项'.'用点号绘制各数据点'^'用上三角绘制各数据点'+'用'+'号绘制各数据点'v'用下三角绘制各数据点'*'用'*'号绘制各数据点'>'用右三角绘制各数据点' .'用'.'号绘制各数据点'<'用左三角绘制各数据点's'或squar 用正方形绘制各数据点'p'用五角星绘制各数据点'd'或diamond用菱形绘制各数据点'h'用六角星绘制各数据点这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的'+'号绘制曲线.t=0:pi/100:2*pi;y=sin(t);y2=sin(t-0.25);y3=sin(t-0.5);plot(t,y,'m-',t,y2,'k+',t,y3,'g:')t=0:pi/20:2*pi;y=sin(t);plot(t,y,'d')6,图形的控制与表现axis 人工选择坐标轴尺寸clf 清图形窗口ginput 利用鼠标的十字准线输入hold 保持图形shg 显示图形窗口subplot 将图形窗口分成N块子窗口t=0:pi/20:4*pi;y=sin(t);plot(t,y)gridt=0:pi/20:2*pi;[x,y]=meshgrid(t);subplot(2,2,1)plot(sin(t),cos(t)),axis equalsubplot(2,2,2)z=sin(x)+cos(y);plot(t,z)axis([0 2*pi -2 2]) subplot(2,2,3)z=sin(x).*cos(y); plot(t,z)axis([0 2*pi -1 1]) subplot(2,2,4)z=sin(x).^2-cos(y).^2; plot(t,z),axis([0 2*pi -1 1])[x,y,z]=peaks; contour(x,y,z,20,'k') hold onpcolor(x,y,z) shading interphold off坐标轴控制指令axis([xmin xmax ymin ymax])x=0:.025:pi/2;plot(x,tan(x),'-ro')axis([0 pi/2 0 5])图形的标注title 标题xlabel x轴标注ylabel y轴标注text 任意定位的标注gtext 鼠标定位标注legend 标注图例加注坐标轴标题和图形标识,在图形中加注文本t=0:pi/100:2*pi;y=sin(t);plot(t,y)axis([0 2*pi -1 1])xlabel('0\leq\itt\rm\leq\pi','FontSize',16)ylabel('sin(t)','FontSize',20)title('正弦函数图形','FontName','隶书','FontSize',20)text(3*pi/4,sin(3*pi/4),'\leftarrowsin(t)=0.707','FontSize',16)text(pi,sin(pi),'\leftarrowsin(t)=0','FontSize',16)text(5*pi/4,sin(5*pi/4),'sin(t)=-0.707\rightarrow','FontSize',16,'Horizontal Alignment','right')指定TeX字符t=0:pi/100:2*pi;alpha=-0.8;beta=15;y=sin(beta*t).*exp(alpha*t);plot(t,y)title('{\itAe}^{-\alpha\itt}sin\beta{\itt}\alpha<<\beta')xlabel('时间us.'),ylabel('幅值')在图形中添加图例框x=0:pi/100:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,'-ro',x,y2,'-g*',x,y3,'bd')legend('曲线1','曲线2','曲线3')特殊图形1,条形图(1)二维条形图函数意义bar 二维垂直条形图bath 二维水平条形图bar3 三维垂直条形图bar3h 三维水平条形图y=[27 38 55 37 98 45 67 43 54]; bar(y)bar(y,'stack')barh(y)y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; bar(y)bar(y,'stack')barh(y)bar3(y)bar3h(y)bar(y,'stack')barh(y,'stack')指定x坐标的条形图x=[1 2 4 7 10];y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2];bar(x,y)figure,barh(x,y)可以把二维曲线当做二维条形线的包络线x=0:pi/10:2*pi;y=sin(x);bar(x,y)bar(x,y,'r')y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2];bar3(y,'group') % 分组形式的三维图figure,bar3(y) % 分列形式的三维图有两组生物医学的实验数据,一组表示物质成分(TCE),一组表示温度(temp),数据是在35天里每隔5天的取样,将物质成分和温度与时间的关系画在同一张图中TCE=[515 429 370 250 135 120 60 120];temp=[29 23 27 25 20 23 23 27];days=0:5:35;bar(days,temp,'c')xlabel('Day')ylabel('Temperature(^{o}C)')h1=gca; % 获得当前轴对象句柄h2=axes('Position',get(h1,'position') ); % 建立新的轴对象句柄plot(days,TCE,'LineWidth',3)gridset(h2,'YAxisLocation','right','Color','none','XTickLabel',[])set(h2,'XLim',get(h1,'XLim'),'Layer','top')set(h2,'XLim',get(h1,'XLim'),'Layer','top') %完成一张图形的绘制text(11,380,'Concentration','Rotation',-57,'FontSize',16)ylabel('TCE Concentration (PPM)')title('Bioremediation','FontSize',16)饼图1,不分离的饼图x=[5.5 74.7 44.5 33.2 46.6];pie(x)2,带分离的饼图x=[5.5 74.7 44.5 33.2 46.6];pie(x,[0 1 0 0 1])3,不完整的饼图当x的元素之和不为1时绘制的是不完整的饼图x=[0.2 0.3 0.4];pie(x)4,三维饼图pie3([1 2 3 4 5],[ 0 0 0 0 1])legend('矿大','地质大学','石油大学','海洋大学','其他')clear,clc,close all;x=0:0.01:2;y=-(x-1).^2;h1=plot(x,y);hold on;h2=plot(1,0,'o','MarkerSize',15, 'MarkerEdgecolor','k', 'MarkerFacecolor','g');legend([h1,h2],'-(x-1)^2','max(fx)');其他图形1,直方图yn=randn(10000,1);hist(yn)figure,hist(yn,20)y=randn(10000,3);hist(y)2,用杆状图表现离散数据x=0:0.2:10;y=exp(-0.3*x).*sin(x); stem(x,y)figure,stem(x,y,':sr')3,阶梯图的表现方法alpha=0.01;beta=0.5;t=0:10;f=exp(-alpha*t).*sin(beta*t); stairs(t,f)hold onhold offlabel='函数e^{-(\alpha*t)}sin\beta*t的阶梯图'; text(0.5,-0.2,label,'FontSize',14)xlabel('t=0:10','FontSize',14)axis([0 10 -1.2 1.2])4,彩色分点图t=0:pi/10:2*pi;y=sin(t);scatter(t,y)figure,scatter(t,y,'v')figure,scatter(t,y,(abs(y)+2).^4,'filled')figure,scatter(t,y,30,y,'v','filled')figure,scatter(t,y,(t+1).^3,t,'filled')三维图形1,三维曲线图t=0:pi/50:10*pi;x=exp(-t/15).*sin(2*t);y=exp(-t/15).*cos(2*t);z=t;axis square;grid on当x,y和z都是矩阵时的三维曲线[X,Y]=meshgrid([-2:0.1:2]);Z=X.*exp(-X.^2-Y.^2);plot3(X,Y,Z)grid ont=0:pi/20:5*pi;plot3(sin(t),cos(t),t,':*r')[x,y,z]=peaks(10);surf(x,y,z)2,三维网格图mesh(peaks(20))meshc(peaks(20))Waterfall(peaks(30))p=peaks(30);meshz(p)3,着色表面图surf 绘制着色表面图的基本命令surfc 绘制带等高线的着色表面图surfl 绘制表面图的光照效应x=-1.5:0.3:1.5;y=-1:0.2:1;[x,y]=meshgrid(x,y);z=sqrt(4-x.^2/9-y.^2/4);surf(x,y,z)surfc(x,y,z)surfl(x,y,z)colormap(hot)surfl(x,y,z)shading facetedshading flatsurfl(x,y,z)shading interpsurfl(x,y,z)shading flatt=0:pi/12:3*pi;r=abs(exp(-0.25*t)).*sin(t); [x,y,z]=cylinder(r,30); surfl(x,y,z)colormap(pink)shading interp表面图形的透明处理surfl(x,y,z)hidden offsurfl(x,y,z)hidden on[x,y]=meshgrid(-8:.5:8);R=sqrt(x.^2+y.^2)+eps;z=sin(R)./R;mesh(z)colormap([0 0 1])hidden off表面图形的颜色映射[x,y]=meshgrid(-8:.5:8);R=sqrt(x.^2+y.^2)+eps;z=sin(R)./R;mesh(z)colormap([0 0 1]) % RGB三基色[x,y]=meshgrid(-8:.5:8); R=sqrt(x.^2+y.^2)+eps; z=sin(R)./R;mesh(z)colormap(copper) colormap(bone) colormap(gray) colormap(hot) colormap(pink) colormap(cool) colormap(hsv) colormap(jet) colormap(spring) colormap(summer) colormap(autumn) colormap(winter) colormap(flag) colormap(prism) colormap(copper) colormap(colorcube) colormap(lines)切片图slice(X,Y,Z,v,xi,yi,zi) % 其中X,Y,Z为使用meshgrid生成的三维网格坐标矩阵,v为所绘制图形的函数,xi,yi,zi为切片位置x=-2:0.1:2;y=-2:0.25;z=-2:0.25:2;[X,Y,Z]=meshgrid(x,y,z);V=X.*exp(-X.^2-Y.^2-Z.^2);xi=[-0.7,0.7];yi=0.5;zi=-0.5;slice(X,Y,Z,V,xi,yi,zi)xlabel('x');ylabel('y');zlabel('z');colorbar('horiz')view([-30,45])图形的高级处理技术1,视图控制视图和旋转的函数包括view,viewmtx,rotate,和rotate3d等1,视图方向view(az,el)peaks(50)view(90,0)view(30,45)view(2)peaks(50)rotate3d2,光照(1),light 创建光源light函数为光源创建函数,其调用格式为:light('color',option1,'style',option2,'poisition',option3)在执行该命令函数之前,图形采用的是强度相等的漫射光,一旦执行该命令,则激活图形上各子对象所有与光有关的属性,其参数的缺省设置为:无穷远处的白光光源穿过[1 0 1]射向坐标原点(2),light 光照模式light options设置照明模式flat 入射光均匀照射在对象的每个小面上,该选项为缺省模式phong 先对顶点颜色插值,在计算各像素点的反光,该选项表现效果最好,但占用机时较多gouraud 对顶点处法线插值,再对由顶点勾画的面进行插值,选项用于曲面的表现(3),material 材料反射系数material options使用预定的材料反射系数shiny 有光泽明亮镜反射份额较大dull 暗淡柔和漫反射份额较大无镜面亮点metal 有金属光泽镜反射份额大背景光和漫反射份额小default 缺省方式(4)material([ka,kd,ks,n,sc])对五大反射要素进行特别设置ka 环境光kd 漫反射强度ks 镜射光强度n 镜面指数sc 镜面颜色的反射系数clft=linspace(0,2*pi,100);r=1-exp(-t/2).*cos(4*t);%旋转母线[x,y,z]=cylinder(r,60); % 产生旋转柱面数据ii=find(x<0&y<0); % 确定x-y平面上第四象限上的数据下标z(ii)=NaN; %剪切surf(x,y,z)colormap(pink)shading interplight('position',[-3 -1 3],'style','local') % 设置光源material([0.5 0.4 0.3 10 0.3]) % 设置表面反射显示效果增强后的二元函数表面图形图及光照[x,y]=meshgrid(-8:.1:8);r=sqrt(x.^2+y.^2)+eps;z=2*sin(r)./r;surf(x,y,z)shading interp;daspect([5 5 11])axis tightview(-50,30)light('position',[-10 -10 2])绘制双光照射的球sphere(36);axis equallight('Position',[1 3 2]);light('Position',[-3 -1 3]);material shinyaxis offrotate3d[x,map]=imread('C:\Users\user\Desktop\新建文件夹\单单.jpg'); %读取图形文件image(x);colormap(map) % 显示图像axis image off% 关掉坐标轴3,句柄图形(1),自定义坐标轴的显示刻度t=0:pi/20:2*pi;y=sin(t);plot(t,y)t=-pi:pi/20:pi;y=sin(t);plot(t,y)set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',{'-pi','-pi/2','0','pi/2','pi'}) % 此句还可以写为:set(gca,'XtickLabeks','-pi|-pi/2|0|pi/2|pi'),如果是数字也可以直接写成set(gca,'XtickLabeks',[1;5;10;20])axis ([-pi pi -1 1])grid2,在图形的上层显示网格建立句柄为h的三维曲面h=surf(sphere (30))figure,h=surf(sphere (30))set(h,'EdgeColor',[0.8 0.8 0.8]) rotate3dfigure,h=surf(sphere (30))set(h,'EdgeColor','g')rotate3d将坐标轴显示在图形的上层pcolor(peaks);shading interpset(gca,'Layer','top')grid用鼠标确定在曲线上画点的位置t=0:pi/20:2*pi;plot(t,cos(t))hold onset(gcf,'WindowButtonDownFcn',['p=get(gca,''CurrentPoint'');','px=p(1,1) ;py=cos(px);','plot(t,cos(t));','plot(px,py,''*r'');'])axis(axis)绘制三个Y轴的曲线[ax,hlines]=plotyyy(x1,y1,x2,y2,x3,y3,ylabels)其中x1,y1;x2,y2和x3,y3分别为三组绘图数据,ylabels为3*1阶的单元数组,用于存储三个Y轴的标识,输出参数[ax,hlines]分别为三个轴和三条曲线的图形句柄。
第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')。
第四讲 matlab绘图功能
4.2.2 三维网格图绘制
三维网格图绘制步骤
生成坐标: [X,Y]=meshgrid(x,y) 参数x和y为向量 表达式点运算: Z=X.^2+Y.^2 X,Y是n×m的矩阵, 维数由向量尺寸决定 默认37.5º ,俯角30º
27
4.2.3 三维曲面图绘制
曲面绘制函数surf绘制着色的三维曲面
数值计算软件实践
第四讲 绘图功能
MATLAB有着强大的函数绘图功能,不 需要过多地考虑绘图细节,只需给出一 些基本参数就能得到所需图形。 掌握绘图命令,服务于论文的写作。
主要内容
4.1
二维绘图 4.2 三维绘图 4.3 图形窗口*
2
4.1 二维绘图
二维图形的绘制是MATLAB语言
24
4.2.1 三维图绘制基本函数
三维饼图pie3
pie3([数据],[相对位置关系])
25
4.2.2 三维网格图绘制
三维网格图函数 mesh可绘出在某一 区间内的完整曲面 mesh(z) %z为n×m 的矩阵,x与y坐标为 元素的下标。 mesh(x,y,z) %x,y,z 分别为三维空间的坐 标位置。
% 子图分割命令 m行n列。p从左至右,从上至下排 列。
Subplot只是分割命令,要绘图,后面要紧跟绘图命令。
9
4.1.1 二维图绘制与修饰
单窗口多曲线分图绘图
subplot(2,2,[3,4])
10
4.1.1 二维图绘制与修饰
多窗口绘图
figure(n) %创建窗口函数,n为窗口序号
34
4.3.1 菜单操作
(整理)matlab绘图指令大全.
绘图指令1 二维曲线图1.1 绘制折线图plot调整坐标范围:axis axis([0,300,0,2])1.2 绘制自定义函数1.3 绘制符号函数1.4 绘制自定义函数1.5 图形修饰设置颜色 y m c r g b w k 设置线型 - : -. --设置标记 . o x + *在指定坐标处,书写文字:1.6 更多类型的二维图e=0.2*rand(size(X));1.7 数值函数的二维图可绘制系统函数,也可绘制自定义函数的图形。
2 三维曲线图2.1 三维曲线plot32.2 三维面填色fill33 曲面图形3.1 网格点坐标的表示3.2 三维网格mesh、meshc、meshz消影开关:hidden on / hidden off利用peaks(50)作为模拟数据矩阵;3.3 着色表面图surf、surfc3.4 二元函数的伪彩色图pcolor3.5 等高线contour3.6 矢量场图quiverZ=X.*exp(-X.^2-Y.^2);3.7 视角控制view视点控制方式及效果:方位角、仰角控制方式及效果:缺省为(-37.5,30)。
3.8 多视区控制subplot3.9 制作、播放动画[x,y,z]=peaks(30); surf(x,y,z)% 制作动画m=moviein(5); % 5帧画面的动画变量for i=1:5view([1 1 i]) % 不断调整视点m(:,i)=getframe; % 将当前画面作为帧保存到序列中end% 播放动画movie(m,2,1); % 每隔1秒播放1帧,循环播放2次3.10 示例:地形图3.11 示例:汶川地形图load dem.txtmesh(dem)4 数据特征的图形展示以pdf结尾的函数,计算概率密度或概率;以cdf结尾的函数,计算累计分布函数。
如:示例:显示t分布与标准正态分布之间的关系。
示例:观察数据的分布特征。
第3讲 MATLAB的绘图功能
第3讲MATLAB的绘图功能1.二维图形绘制命令MATLAB不但擅长于矩阵相关的数值运算,也适合用在各种科学视图表示(Scientific visualization)。
下面将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。
plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x 及y坐标。
下例可画出一条正弦曲线:close all;x=linspace(0, 2*pi, 100); % 100个点的x坐标y=sin(x); % 对应的y坐标plot(x,y);小整理:MATLAB基本绘图函数plot: x轴和y轴均为线性刻度(Linear scale)loglog: x轴和y轴均为对数刻度(Logarithmic scale)semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度若要画出多条曲线,只需将坐标对依次放入plot函数即可:plot(x, sin(x), x, cos(x));若要改变颜色,在坐标对后面加上相关字符串即可:plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜色及图线型态(Line style),也是在坐标对后面加上相关字符串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');小整理:plot绘图函数的叁数图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:axis([0, 6, -1.2, 1.2]);此外,MATLAB也可对图形加上各种注解与处理:xlabel('Input V alue'); % x轴注解ylabel('Function V alue'); % y轴注解title('Two Trigonometric Functions'); % 图形标题legend('y = sin(x)','y = cos(x)'); % 图形注解grid on; % 显示格线我们可用subplot来同时画出数个小图形于同一个视窗之中:subplot(2,2,1); plot(x, sin(x));subplot(2,2,2); plot(x, cos(x));subplot(2,2,3); plot(x, sinh(x));subplot(2,2,4); plot(x, cosh(x));MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。
5matlab绘图V2.
例 3:
t=0:0.1:2*pi; y=sin(t); y1=sin(t+0.25); y2=sin(t+0.5); y3=cos(t); y4=cos(t+0.25); y5=cos(t+0.5); plot(t,[y',y1',y2',y3',y4',y5'])
3. 单窗口多曲线分图绘图
例:t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi]; y=[-0.3;0.8]; s=['sin(t)';'cos(t)']; text(x,y,s); title('正弦和余弦曲线'); legend('正弦','余弦') xlabel('时间t'),ylabel('正弦、余弦') gtext('here your mouse hitted'); grid
(12) area –––– 区域图
Y = [1, 5, 3; 3, 2, 7; 1, 5, 3; 2, 6, 1];
area(Y) grid on colormap summer set(gca,'Layer','top') title 'Stacked Area Plot'
(13) pie –––– 饼图
t=0:0.1:2*pi y=sin(t); y1=sin(t+0.25); y2=sin(t+0.5); subplot(3,1,1); plot(t,y) subplot(3,1,2); plot(t,y1) subplot(3,1,3); plot(t,y2)
matlab绘图知识点总结
matlab绘图知识点总结一、Matlab基本绘图函数1. plot函数plot函数是Matlab中最基本的绘图函数之一,用于绘制二维图表。
其基本语法为:plot(x, y)。
其中x是横轴坐标数据,y是纵轴坐标数据。
通过plot函数可以绘制折线图、散点图等。
2. bar函数bar函数用于绘制条形图,其基本语法为:bar(x, y)。
其中x是条形的横轴坐标位置,y是条形的高度。
3. pie函数pie函数用于绘制饼图,其基本语法为:pie(x, labels)。
其中x是用来指定各个扇形区域的大小的矩阵,labels则是用来指定每个扇形区域的标签。
4. hist函数hist函数用于绘制直方图,其基本语法为:hist(x, bins)。
其中x是待绘制的数据,bins则是用来指定直方图的条形数目。
5. scatter函数scatter函数用于绘制散点图,其基本语法为:scatter(x, y)。
其中x和y分别是散点的横轴和纵轴坐标数据。
6. contour函数contour函数用于绘制等高线图,其基本语法为:contour(x, y, z)。
其中x和y分别是网格的横轴和纵轴坐标,z则是用来指定等高线的数值。
二、自定义图形1. 设置标题、标签和图例在Matlab中,可以使用title、xlabel、ylabel和legend等函数分别设置图表的标题、横轴和纵轴标签以及图例。
2. 设置图表样式可以使用line属性、marker属性以及color属性等来设置折线图、散点图等的样式。
3. 修改图表坐标轴可以使用xlim、ylim函数来设置图表的横轴和纵轴范围,并使用xticks和yticks函数来设置坐标刻度。
4. 绘制多个数据集可以使用hold on函数来绘制多个数据集,并使用hold off函数来结束绘制多个图表。
5. 设置图表背景可以使用grid、box、axis equal等函数来设置图表的背景。
三、子图表绘制1. subplot函数subplot函数用于在一个图形窗口中绘制多个子图表,其基本语法为:subplot(m,n,p)。
Matlab的图形功能
10
3
10
2
10
1
10 7
0
5. 二维特殊函数图
函数名 说明 函数名 area fplot 填充绘图 bar hist 条形图 barh pareto 水平条形图 comet pie 彗星图 errorbar plotmatrix 误差带图 ezplot ribbon 简单绘制函数图 ezpolar 简单绘制极坐标图 scatter feather stem 矢量图 fill stairs 多边形填充
>> a=eye(20); >> mesh(a)
吴晓华 2002.11
Matlab与科学计算
>> a=eye(20); >> mesh(a)
1 0.8 0.6 0.4 0.2 0 20 15 10 5 0
吴晓华 2002.11
20 15 10 5 0
Matlab与科学计算
2.二维图形绘制
主要用于慨率分析,误差分析及各种标量场和矢量场 的分析中. 1. plot, ezplot, fplot(前面已介绍) 2. 对数坐标图:
吴晓华 2002.11
Matlab与科学计算
>> A=rosser; >> v=[-1000,-500,-100,0,100,500,1000]; >> contour(A,v)
8
7
6
5
4
3
2
1
1
2
3
4
5
- 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 =例用不同的线型和颜色在同一坐标内绘制曲线及其包络线。
>〉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.图形标注在绘制图形时,可以对图形加上一些说明,如图形的名称、坐标轴说明以及图形某一部分的含义等,这些操作称为添加图形标注。
有关图形标注函数的调用格式为: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函数完全一样,所不同的是坐标轴的选取。
semilogx函数使用半对数坐标,x轴为常用对数刻度,而y轴仍保持线性刻度。
semilogy恰好和semilogx相反。
loglog 函数使用全对数坐标,x、y轴均采用对数刻度.例:略4.对函数自适应采样的绘图函数5.其他形式的二维图形二.三维绘图(一)绘制三维曲线的基本函数最基本的三维图形函数为plot3,它将二维绘图函数plot的有关功能扩展到三维空间,可以用来绘制三维曲线.其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…)其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot 的选项一样.当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。
当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵的列数。
例513 绘制空间曲线该曲线对应的参数方程为t=0:pi/50:2*pi;x=8*cos(t);y=4*sqrt(2)*sin(t);z=—4*sqrt(2)*sin(t);plot3(x,y,z,’p');title(’Line in 3-D Space');text(0,0,0,'origin');xlabel(’X’);ylabel(’Y’);zlabel(’Z');grid;(二)三维曲面1.平面网格坐标矩阵的生成当绘制z=f(x,y)所代表的三维曲面图时,先要在xy平面选定一矩形区域,假定矩形区域为D=[a,b]×[c,d],然后将[a,b]在x方向分成m份,将[c,d]在y方向分成n份,由各划分点做平行轴的直线,把区域D分成m×n个小矩形.生成代表每一个小矩形顶点坐标的平面网格坐标矩阵,最后利用有关函数绘图。