当前位置:文档之家› Matlab绘图技巧

Matlab绘图技巧

Matlab绘图技巧
Matlab绘图技巧

绘制二维数据曲线图

1.1 绘制单根二维曲线

plot 函数的基本调用格式为:plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。

例1-1 在0≤x≤2p区间内,绘制曲线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)

例1-2 绘制曲线。

程序如下:t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);

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

1.2 绘制多根二维曲线

1.plot函数的输入参数是矩阵形式

(1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。

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

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

为横、纵坐标绘制多条曲线。

2.含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)

(1)当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。

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

例1-3 分析下列程序绘制的曲线。x1=linspace(0,2*pi,100);

x2=linspace(0,3*pi,100);

x3=linspace(0,4*pi,100);

y1=sin(x1);y2=1+sin(x2);

y3=2+sin(x3);x=[x1;x2;x3]';

y=[y1;y2;y3]';

plot(x,y,x1,y1-1)

3.具有两个纵坐标标度的图形在MA TLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。

例1-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).*co s(pi*x);plotyy(x,y1,x,y2);

4.图形保持hold on/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。

例1-5 采用图形保持,在同一坐标内绘制曲线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);plot(x,y1)hold

ony2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);hold off

1.3 设置曲线样式

MA TLAB提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。例如,“b-.”表示蓝色点划线,“y:d”表示黄色虚线并用菱形符标记数据点。当选项省略时,MA TLAB 规定,线型一律用实线,颜色将根据曲线的先后顺序依次。要设置曲线样式可以在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),标记两曲线交叉点。程序如下:x=linspace(0,2*pi,1000);y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0. 5*x).*cos(pi*x);k=find(abs(y1-y2)<1e-2); %查找y1与y2相等点(近似相等)的下标x1=x(k); %取y1与y2相等点的x坐标y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求y1与y2值相等点的y坐标

plot(x,y1,x,y2,'k:',x1,y3,'bp');

1.4 图形标注与坐标控制

1.图形标注

有关图形标注函数的调用格式为:title(图形名称) xlabel(x轴说明) ylabel(y轴说明) text (x,y,图形说明) legend(图例1,图例2,…) 函数中的说明文字,除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。例如,text(0.3,0.5,…sin({\omega}t+{\beta})?)将得到标注效果sin(ωt+β)。例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}'); %加图形标题xlabel('V ariable X'); %加X轴说明ylabel('V ariable Y'); %加Y轴说明text(0.8,1.5,'曲线y1=2e^{-0.5x}'); %在指定位置添加图形说明text(2.5,1.1,'曲线y2=cos(4{\pi}x)'); legend(…y1?,… y2?) %加图例

2.坐标控制

axis函数的调用格式为:axis([xmin xmax ymin ymax zmin zmax])axis函数功能丰富,常用的格式还有:axis equal:纵、横坐标轴采用等长刻度。axis square:产生正方形坐标系(缺省为矩形)。axis auto:使用缺省设置。axis off:取消坐标轴。axis on:显示坐标轴。给坐标加网格线用grid命令来控制。grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。

给坐标加边框用box命令来控制。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。

例1-8 在同一坐标中,可以绘制3个同心圆,并加坐标控制。程序如下:t=0:0.01:2*pi;x=exp(i*t);y=[x;2*x;3*x]';plot(y)grid on; %加网格线box on; %加坐标边框axis equal %坐标轴采用等刻度

1.5 图形的可视化编辑

MA TLAB 6.5版本在图形窗口中提供了可视化的图形编辑工具,利用图形窗口菜单栏或工具栏中的有关命令可以完成对窗口中各种图形对象的编辑处理。在图形窗口上有一个菜单栏和工具栏。菜单栏包含File、Edit、View、Insert、Tools、Window和Help共7个菜单项,工具栏包含11个命令按钮。

1.6 对函数自适应采样的绘图函数

fplot函数的调用格式为:fplot(fname,lims,tol,选项) 其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统默认值为2e-3。选项定义与plot函数相同。

例1-9 用fplot函数绘制f(x)=cos(tan(πx))的曲线。命令如下:fplot('cos(tan(pi*x))',[ 0,1],1e-4) 1.7 图形窗口的分割

subplot函数的调用格式为:subplot(m,n,p)该函数将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。在每一个绘图区允许以不同的坐标系单独绘制图形。例5-10 在图形窗口中,以子图形式同时绘制多根曲线。二。其他二维图形

2.1 其他坐标系下的二维数据曲线图

1.对数坐标图形MA TLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:semilogx(x1,y1,选项1,x2,y2,选项2,…) semilogy(x1,y1,选项1,x2,y2,选项2,…) loglog(x1,y1,选项1,x2,y2,选项2,…)

2.极坐标图polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项) 其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。

例1-12 绘制r=sin(t)cos(t)的极坐标图,并标记数据点。程序如下:t=0:pi/50:2*pi;r=sin(t).*cos(t);polar(t,r,'-*');

2.2 二维统计分析图

在MA TLAB中,二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项) stairs(x,y,选项) stem(x,y,选项) fill(x1,y1,选项1,x2,y2,选项2,…)

例1-13 分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。程序如下:x=0:pi/10:2*pi;y=2*sin(x);subplot(2,2,1);bar(x,y,'g');title('bar(x,y,''g'')');a xis([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');title('stem(x,y,''k'')');axis([0,7,-2,2]);subp lot(2,2,4);fill(x,y,'y');title('fill(x,y,''y'')');axis([0,7,-2,2]); MA TLAB提供的统计分析绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等。

例1-14 绘制图形:(1) 某企业全年各季度的产值(单位:万元)分别为:2347,1827,2043,3025,试用饼图作统计分析。(2) 绘制复数的相量图:7+2.9i、2-3i和-1.5-6i。程序如下:subplot(1,2,1);pie([2347,1827,2043,3025]);title('饼图'); legend('一季度','二季度','三季度','四季度'); subplot(1,2,2);compass([7+2.9i,2-3i,-1.5-6i]);title('相量图'); 三。隐函数绘图MA TLAB提供了一个ezplot函数绘制隐函数图形,下面介绍其用法。(1) 对于函数f = f(x),ezplot函数的调用格式为:ezplot(f):在默认区间-2π

例1-15 隐函数绘图应用举例。程序如下:subplot(2,2,1);ezplot('x^2+y^2-9');axis

equalsubplot(2,2,2);ezplot('x^3+y^3-5*x*y+1/5')subplot(2,2,3);ezplot('co

s(tan(pi*x))',[ 0,1])subplot(2,2,4);ezplot('8*cos(t)','4*sqrt(2)*sin(t)',[0,2* pi])

四。三维图形

4.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对应列元素绘制三维曲线,曲线条数等于矩阵列数。

例1-16 绘制三维曲线。程序如下:t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title('Li ne in 3-D Space');xlabel('X');ylabel('Y');zlabel('Z');grid on;

4.2 三维曲面

1.产生三维数据在MA TLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其格式为:x=a:d1:b; y=c:d2:d;[X,Y]=meshgrid(x,y);语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。

2.绘制三维曲面的函数surf函数和mesh函数的调用格式为:mesh(x,y,z,c)surf(x,y,z,c)一般情况下,x,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。

例1-17 绘制三维曲面图z=sin(x+sin(y))-x/10。程序如下:[x,y]=meshgrid(0:0.25:4*pi);z=sin(x+sin(y))-x/10;mesh(x,y,z);axis([0

4*pi 0 4*pi -2.5 1]);此外,还有带等高线的三维网格曲面函数meshc 和带底座的三维网格曲面函数meshz。其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。

例1-18 在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);sub plot(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)')

3.标准三维曲面

sphere函数的调用格式为:[x,y,z]=sphere(n)cylinder函数的调用格式为:[x,y,z]= cylinder(R,n)MA TLAB还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。

例1-19 绘制标准三维曲面图形。程序如下:t=0:pi/20:2*pi;[x,y,z]= cylinder(2+sin(t),30);subplot(2,2,1);surf(x,y,z);subplot(2,2,2);[x,y,z]=sph ere;surf(x,y,z);subplot(2,1,2);[x,y,z]=peaks(30);

surf(x,y,z);

4.3 其他三维图形

在介绍二维图形时,曾提到条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、stem3、pie3 和

fill3。bar3函数绘制三维条形图,常用格式为:bar3(y)bar3(x,y) stem3函数绘制离散序列数据的三维杆图,常用格式为:stem3(z)stem3(x,y,z)pie3函数绘制三维饼图,常用格式为:pie3(x)fill3函数等效于三维函数fill,可在三维空间内绘制出填充过的多边形,常用格式为:fill3(x,y,z,c) 例1-20 绘制三维图形:(1) 绘制魔方阵的三维条形图。(2) 以三维杆图形式绘制曲线y=2sin(x)。(3) 已知x=[2347,1827,2043,3025],绘制饼图。(4) 用随机的顶点坐标值画出五个黄色三角形。程序如下:subplot(2,2,1);bar3(magic(4))subplot(2,2,2);y=2*sin(0:pi/10:2*pi);stem3( y);subplot(2,2,3);pie3([2347,1827,2043,3025]);subplot(2,2,4);fill3(rand(3 ,5),rand(3,5),rand(3,5), 'y' ) 例1-21 绘制多峰函数的瀑布图和等高线图。程序如下:subplot(1,2,1);[X,Y,Z]=peaks(30);waterfall(X,Y,Z)xlabel('X-axis'),ylabel( 'Y-axis'),zlabel('Z-axis');subplot(1,2,2);contour3(X,Y,Z,12,'k'); %其中12代表高度的等级数xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');

五。图形修饰处理

5.1 视点处理

MA TLAB提供了设置视点的函数view,其调用格式为:view(az,el)其中az为方位角,el为仰角,它们均以度为单位。系统缺省的视点

定义为方位角-37.5°,仰角30°。例5-22 从不同视点观察三维曲线。

5.2 色彩处理

1.颜色的向量表示MA TLAB除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。向量元素在[0,1]范围取值,3个元素分别表示红、绿、蓝3种颜色的相对亮度,称为RGB三元组。

2.色图色图(Color map)是MA TLAB系统引入的概念。在MA TLAB 中,每个图形窗口只能有一个色图。色图是m×3 的数值矩阵,它的每一行是RGB三元组。色图矩阵可以人为地生成,也可以调用MA TLAB提供的函数来定义色图矩阵。

3.三维表面图形的着色三维表面图实际上就是在网格图的每一个网格片上涂上颜色。surf函数用缺省的着色方式对网格片着色。除此之外,还可以用shading命令来改变着色方式。shading faceted命令将每个网格片用其高度对应的颜色进行着色,但网格线仍保留着,其颜色是黑色。这是系统的缺省着色方式。shading flat命令将每个网格片用同一个颜色进行着色,且网格线也用相应的颜色,从而使得图形表面显得更加光滑。shading interp命令在网格片内采用颜色插值处理,得出的表面图显得最光滑。

例1-23 3种图形着色方式的效果展示。程序如下:[x,y,z]=sphere(20);colormap(copper);subplot(1,3,1);surf(x,y,z);axis equalsubplot(1,3,2);surf(x,y,z);shading flat;axis equalsubplot(1,3,3);surf(x,y,z);shading interp;axis equal

5.3 光照处理

MA TLAB提供了灯光设置的函数,其调用格式为:light('Color',选项1,'Style',选项2,'Position',选项3)

例5-24 光照处理后的球面。程序如下:[x,y,z]=sphere(20);subplot(1,2,1);surf(x,y,z);axis

equal;light('Posi',[0,1,1]);shading interp;hold on;plot3(0,1,1,'p');text(0,1,1,' light');subplot(1,2,2);surf(x,y,z);axis equal;light('Posi',[1,0,1]);shading interp;hold on;plot3(1,0,1,'p');text(1,0,1,' light');

5.4 图形的裁剪处理

例5-25 绘制三维曲面图,并进行插值着色处理,裁掉图中x和y都小于0部分。程序如下:[x,y]=meshgrid(-5:0.1:5);z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);surf( x,y,z);shading interp;pause %程序暂停i=find(x<=0&y<=0);z1=z;z1(i)=NaN;surf(x,y,z1);shading interp;为了展示裁剪效果,第一个曲面绘制完成后暂停,然后显示裁剪后的曲面。六。图像处理与动画制作

6.1 图像处理

1.imread和imwrite函数imread和imwrite函数分别用于将图像文件读入MA TLAB工作空间,以及将图像数据和色图数据一起写入一定格式的图像文件。MA TLAB支持多种图像文件格式,

如.bmp、.jpg、.jpeg、.tif等。

2.image和imagesc函数这两个函数用于图像显示。为了保证图像的显示效果,一般还应使用colormap函数设置图像色图。

例1-26 有一图像文件flower.jpg,在图形窗口显示该图像。程序如下:[x,cmap]=imread('flower.jpg'); %读取图像的数据阵和色图阵image(x);colormap(cmap);axis image off %保持宽高比并取消坐标轴6.2 动画制作

MA TLAB提供getframe、moviein和movie函数进行动画制作。1.getframe函数getframe函数可截取一幅画面信息(称为动画中的一帧),一幅画面信息形成一个很大的列向量。显然,保存n幅图面就需一个大矩阵。

2.moviein函数moviein(n)函数用来建立一个足够大的n列矩阵。该矩阵用来保存n幅画面的数据,以备播放。之所以要事先建立一个大矩阵,是为了提高程序运行速度。

3.movie函数movie(m,n)函数播放由矩阵m所定义的画面n次,缺省时播放一次。

例1-27 绘制了peaks函数曲面并且将它绕z轴旋转。程序如下[X,Y,Z]=peaks(30); surf(X,Y,Z)axis([-3,3,-3,3,-10,10])axis off;shading interp;colormap(hot);m=moviein(20); %建立一个20列大矩阵for i=1:20view(-37.5+24*(i-1),30) %改变视点m(:,i)=getframe; %将图形保存到m矩阵end movie(m,2); %播放画面2次

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 的绘图 一、实验目的:掌握利用MATLAB 画曲线和曲面。 二、实验内容: 1、 在不同图形中绘制下面三个函数t ∈[0,4π]的图象,3个图形分别是 figure(1),figure(2),figure(3)。 ) sin(41.0321t e y t y t y t -== =π 说明:y 1 线型:红色实线,y 2 线型:黑色虚线,y 3: 线型:兰色点线 分别进行坐标标注,分别向图形中添加标题‘函数1’,‘函数2’, ‘函数3’ 解答: 源程序与图像: t=0:0.1:4*pi; y_1=t; y_2=sqrt(t); y_3=4*pi.*exp(-0.1*t).*sin(t); figure(1) plot(t,y_1,'-r'); title('函数1'); xlabel('t');ylabel('y_1'); figure(2) plot(t,y_2,'--k'); title('函数2'); xlabel('t');ylabel('y_2'); figure(3) plot(t,y_3,':b'); title('函数3'); xlabel('t');ylabel('y_3'); 246 8101214 02468 10 12 14 函数1 t y 1

0246 8101214 0.511.522.533.54函数2 t y 2 2 4 6 8 10 12 14 -8-6-4-2024 681012函数3 t y 3 2、 在同一坐标系下绘制下面三个函数在t ∈[0,4π]的图象。 (用2种方法来画图,其中之一使用hold on ) 使用text 在图形适当的位置标注“函数1”“函数2”,“函数3” 使用gtext 重复上面的标注,注意体会gtext 和text 之间的区别 解答: 方法一: 程序与图形: t=0:0.1:4*pi; y_1=t; y_2=sqrt(t); y_3=4*pi.*exp(-0.1*t).*sin(t); figure(1) plot(t,y_1,'-r'); gtext('函数1');

MATLAB中plotyy函数详解:matlab双Y轴作图

Matlab plotyy画双纵坐标图实例 x = 0::20; y1 = 200*exp*x).*sin(x); y2 = *exp*x).*sin(10*x); [AX,H1,H2] = plotyy(x,y1,x,y2,'plot'); set(AX(1),'XColor','k','YColor','b'); set(AX(2),'XColor','k','YColor','r'); HH1=get(AX(1),'Ylabel'); set(HH1,'String','Left Y-axis'); set(HH1,'color','b'); HH2=get(AX(2),'Ylabel'); set(HH2,'String','Right Y-axis'); set(HH2,'color','r'); set(H1,'LineStyle','-'); set(H1,'color','b'); set(H2,'LineStyle',':'); set(H2,'color','r'); legend([H1,H2],{'y1 = 200*exp*x).*sin(x)';'y2 = *exp*x).*sin(10*x)'}); xlabel('Zero to 20 musec.');

title('Labeling plotyy'); Q:右边用蓝色圈起来的tick能去掉吗由于用plotyy画图,为了使图尽量地显示出来,用了set(AX(1),'YLimMode','auto'),但这样可能会导致左边AX(1)和右边AX(2)的tick的间距不一样,影响美观。或者说能不能使plotyy画出的图两边的tick间距是一样的,这样在图形右边的tick就会重合在一起. A:如果只是想让plotyy的图美一些,可以使用其如下形式的调用方式: [AX,H1,H2] = plotyy(...) 其中AX(2)就是右边Axes对象的句柄,拿到它以后就可以set或者get来处理了,也可以把其ytick关掉。 A:也可以用line语句来画,就没有左边和上边的线了。 Q:plotyy(X1,Y1,X2,Y2,FUN1,FUN2),FUN1和FUN2应该怎么写 A:这两个FUN代表plotyy不一定要用两个plot,比如下面的例子,一条曲线用plot,一条用semilogy x1=1::100; x2=x1;

教你如何用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向量即可输出曲线:

MATLAB画图入门篇--各种基本图形绘制的函数与实例

MATLAB画图入门篇--各种基本图形绘制的函数与实例【来自网络】 一.二维图形(Two dimensional plotting) 1.基本绘图函数(Basic plotting function):Plot,semilogx,semilogy,loglog,polar,plotyy (1).单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[00.62.358.311.71517.719.420];plot(y) 可以在图形中加标注和网格, 例2:给例1的图形加网格和标注。 y=[00.62.358.311.71517.719.420];plot(y) title('简单绘图举例');xlabel('单元下标');ylabel('给定的矢量');grid (2).双矢量绘图(Double vector plotting):如x和y是同样长度的矢量,plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi;y=sin(x);plot(x,y) (3).对数坐标绘图(ploting in logarithm coordinate):x轴对数semilogx,y轴对数semilogy,双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[00.62.358.311.71517.719.420]; subplot(2,2,1);plot(y);subplot(2,2,2);semilogx(y) subplot(2,2,3);semilogy(y);subplot(2,2,4);loglog(y) (4)极坐标绘图(Plotting in polar coordinate): polar(theta,rho)theta—角度,rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t)) 2.多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a)x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。 例1: 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) (b)x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例2: 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) (c)x和y是同样大小的矩阵时,plot(x,y)绘制y矩阵中各列对应于x各列的图形。 例3: 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(:,3)=0.3*sin(x(:,1)); plot(x,y) 这里x和y的尺寸都是101×3,所以画出每条都是101点组成的三条曲线。如行列转置后就会画出101条曲线,每条线

matlab绘图详解

一.二维图形(Two dimensional plotting) 1. 基本绘图函数(Basic plotting function):Plot, semilogx, semilogy, loglog, polar, plotyy (1). 单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) 可以在图形中加标注和网格, 例2:给例1 的图形加网格和标注。 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) title('简单绘图举例'); xlabel('单元下标'); ylabel('给定的矢量'); grid (2). 双矢量绘图(Double vector plotting):如x和y是同样长度的矢量, plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi; y=sin(x); plot(x,y) (3). 对数坐标绘图(ploting in logarithm coordinate): x轴对数 semilogx, y轴对数semilogy, 双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; subplot(2,2,1); plot(y); subplot(2,2,2); semilogx(y) subplot(2,2,3); semilogy(y); subplot(2,2,4); loglog(y) (4)极坐标绘图( Plotting in polar coordinate): polar(theta,rho) theta—角度, rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi; polar(t,sin(2*t).*cos(2*t)) 2. 多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a) x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。例1: 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) (b) x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例 2: 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)

matlab图形处理工具

1、matlab函数bwareaopen──删除小面积对象 格式:BW2 = bwareaopen(BW,P,conn) 作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域。 算法: (1)Determine the connected components. L = bwlabeln(BW, conn); (2)Compute the area of each component. S = regionprops(L, 'Area'); (3)Remove small objects. bw2 = ismember(L, find([S.Area] >= P)); 2、matlab函数bwarea──计算对象面积 格式:total = bwarea(BW) 作用:估计二值图像中对象的面积。 注:该面积和二值图像中对象的像素数目不一定相等。 3、matlab函数imclearborder──边界对象抑制 格式:IM2 = imclearborder(IM,conn) 作用:抑制和图像边界相连的亮对象。若IM是二值图,imclearborder将删除和图像边界相连的对象。默认情况conn=8。 注:For grayscale images, imclearborder tends to reduce the overall intensity level in addition to suppressing border structures. 算法: (1)Mask image is the input image. (2)Marker image is zero everywhere except along the border, where it equals the mask image. 4、matlab函数bwboundaries──获取对象轮廓 格式:B = bwboundaries(BW,conn)(基本格式) 作用:获取二值图中对象的轮廓,和OpenCV中cvFindContours函数功能类似。B是一个P×1的cell数组,P为对象个数,每个cell是Q×2的矩阵,对应于对象轮廓像素的坐标。 5、matlab函数imregionalmin──获取极小值区域 格式:BW = imregionalmin(I,conn) 作用:寻找图像I的极小值区域(regional maxima),默认情况conn=8。 Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value. 6、matlab函数bwulterode──距离变换的极大值 格式:BW2 = bwulterode(BW,method,conn)

第四讲 、Matlab绘图

第四讲 Matlab绘图 4.1 二维图形 4.2 数据分析图 4.3 三维图形 4.1 二维图形 1、基本图形的绘制 plot(x,y) 对向量x绘制向量y。以x为横坐标,y为纵坐标,按照坐标(xi ,yi)的有序排列绘制曲线。 plot(...,str) 使用字符串str指定的颜色和线型进行绘图。 例1:>> x=-pi:0.02*pi:pi; >> y=sin(x).*x.^2; >> plot(x,y) ezplot(f,xmin,xmax) 绘制函数f在区间[xmin,xmax]上的图形。如果省略xmin和xmax参数,区间将大概取在-2pi——2pi之间。由于ezplot命令使用算法来判断该函数变化显著的区间,因此区间的选取是不固定的。 例2:>> ezplot('sin(x).*x.^2') 2、图形控制 figure(gcf) 显示当前图形窗口。只键入figure命令则创建新的图形窗口; shg 显示当前图形窗口,等价于figure(gcf)。 hold on 保持当前图形。允许在当前图形状态下,使用同样的缩放比例加入另一个图形。 hold off 释放图形窗口,这样下一个图形将称为当前图形。这是缺省状态。 hold 在hold on和hold off之间进行切换。 subplot(m,n,p) 将图形窗口分割成m行n列,并设置p所指定的子窗口为当前窗口。子窗口按行由左至右,由上至下进行编号。这一命令在Matlab的当前版本中也被写作subplot(mnp)。axis…)用行向量中给出的值,设置坐标轴的最大和最小值。对于二维图形,该向量中含有元素: [xmin, xmax, ymin, ymax]。对于三维图形,是[xmin, xmax, ymin, ymax,zmin, zmax]。axis ~~ ~~的不同参数将给出不同的结果: 1.manual 固定坐标轴刻度。如果当前图形窗口为hold on状态,则后面的图形将采用同样的刻度 2.auto 把坐标轴刻度重新设置为缺省状态值。 3.equal 设置x轴和y轴为同样的刻度增量。 4.tight 以数据的大小为坐标轴的范围。 5.ij 翻转y轴,使得正数在下,负数在上。 6.xy 复位y轴,使正数在上。 7.off 坐标轴消隐。 8.on 绘制坐标轴。 title(txt) 在图形窗口顶端的中间位置输出字符串txt作为标题。 xlabel(txt) 在x轴下的中间位置输出字符串txt作为标注。 ylabel(txt) 在y轴边上的中间位置输出字符串txt作为标注。 zlabel(txt) 在z轴边上的中间位置输出字符串txt作为标注。 text(x,y,txt) 在图形窗口的(x,y)处写字符串txt。坐标x和y按照与所绘制图形相同的刻度给出。对于向量x和y,字符串txt写在(xi,yi)的位置上。如果t x t是一个字符串向量,即一个字符矩阵,且与x, y有相同的行数,则第i行的字符串将写在图形窗口的(xi,yi)的位置上。 gtext(txt) 通过使用鼠标或方向键,移动图形窗口中的十字光标,让用户将字串t xt放置在图形窗口中。当十字光标走到所期望的位置时,用户按下任意键或鼠标上的任意按钮,字符串将会写入在窗口中。

做一个实例,搞定MATLAB界面编程

做一个实例,搞定MATLAB界面编程 2009-04-12 16:55 作者:彭军 带插图版本的pdf格式文件,请下载: https://www.doczj.com/doc/6d9702306.html,/source/1144420 一个实例搞定MATLAB界面编程 作者:彭军 邮件:pengjun@https://www.doczj.com/doc/6d9702306.html, 博客:https://www.doczj.com/doc/6d9702306.html,/pengjun 下面请跟我一步一步做一个图像处理的程序,如果您坚持做完这个实例,我想MATLAB界面编程对您而言,就没有什么难度了。当然,我这里说的是,您首先要有一定的MATLAB编程基础。还有,我的MATLAB版本是2008a。在2008a以前的版本中没有工具栏编辑器,如果需要工具栏要手动写程序,这个我就不多讲了。好了,废话少说,跟我来吧! 1、在MATLAB的命令窗口(Command Window)中运行guide命令,来打开GUIDE 界面,如下: 2、然后,选择空模板(Blang GUI),点击OK,即可打开GUIDE的设计界面,如下: 3、点击工具栏上的菜单编辑器(Menu Editor),打开菜单编辑器,如下: 4、在Menu Bar中新建一个菜单项,名字为“文件”,其他设置请看下图: 5、在“文件”菜单下添加菜单项:“打开”,“保存”,“退出”。见下图:如果需要在菜单项“退出”上面添加一个分割线的话,选中“Separator above this item”就行了。 保存我的界面为pjimage.fig. 保存完毕之后,会自动打开pjimage.m文件,而我们所有的程序都是要写在这个M文件里面的。在编程中,我们的每一个鼠标动作都对应一个Callback函数。那么我们的菜单项也是如此的。 在界面上,单击鼠标右键选择“Property Inspector”,即可打开属性窗口。当我们点击不同的控件时,其对应的属性都会在这里显示,我们可以进行修改。最主要的属性莫过于Tag属性和String属性。 设置当前Figure窗口的Tag属性为:figure_pjimage,窗口的标题(Name属性)为:图像处理实例。如下: 然后,点击工具栏的保存按钮。之后,点击工具栏的运行按钮(Run Figure)。注意,工具栏的图标都会有提示的,像运行按钮的提示就是Run Figure. 我们会看到如下的界面: 那说明,我们保存的.fig文件的目录不是当前目录,但是没关系啊,我们只要

Matlab绘图功能

第五章Matlab绘图功能 5.1 二维图形的绘制 5.1.1 常用的二维图形绘图函数 基本的二维绘图函数有 plot ——绘制2维曲线; title ——给图形加标题; grid ——显示网格线; xlabel ——给x轴加标记; ylabel ——给y轴加标记; text ——在坐标图中加入文字注释。 π的曲线图。 例:画出函数x =,其中x从0到π2步进100 yπ2 sin / 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 黑点标记

Matlab经典案例

1、三维曲线 >> t=0:pi/50:10*pi; >> plot3(sin(2*t),cos(2*t),t) >> axis square >> grid on 2、一窗口多图形 >> 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.0893 y1 = -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、

matlab中plot基础绘图实例

%plot基本绘图 x=0:0.1:2*pi; y=sin(x) plot(x,y) %两个参数都是矩阵 x1=0:0.1:2*pi; x2=-pi:0.1:pi; y1=sin(x) y2=cos(x) plot(x1,y1,x2,y2)%多条曲线绘制在统一坐标轴上 %plot只有一个参数 x=linspace(0,2*pi,200) y=sin(x) plot(y) y2=cos(x) y3=y+i*y2%横坐标实部为正弦,纵坐标虚部为余弦,构成一个圆形 plot(y3) axis equal%将上述图型的横纵坐标调整为相同,使得椭圆变为正圆 %plot含有多个参数 x1=linspace(0,2*pi,200) x2=linspace(0,2*pi,100) x3=linspace(0,2*pi,50) y1=cos(x1) y2=sin(x2) y3=0.01*exp(x3) plot(x1,y1,x2,y2,x3,y3)%当x1,x2,x3不同维数(点数不同)可用高方法绘制 %线性选项 x=0:0.1:2*pi; y=sin(x) plot(x,y,'r')%颜色,g为绿色,y为黄色,k为黑色,默认b为蓝色 plot(x,y,'*')%形状,*为*状,p为五角星,.为小方块 plot(x,y,'--')%--为短线,:为虚线,-.为点虚线 plot(x,y,'*r--')%可以组合使用,只需用一对单引号把要求全部括起来 %标注 x=0:0.1:2*pi; y=sin(x) plot(x,y) xlabel('x')%横坐标轴名称 ylabel('y')%纵坐标轴名称

matlab plot画图

转)plot 画图 默认分类 2009-04-30 16:38:02 阅读116 评论0字号:大中小 第五讲计算结果的可视化 本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。 5.1 二维平面图形 5.1.1 基本图形函数 plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是 说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制 曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线, 当x 为m× n 矩阵时,就由n 条曲线。 (2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。 (3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘 制多条曲线。 例5.1.1 画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) 图5.1.1 函数plot 绘制的正弦曲线 在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专 门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可实 现它们的功能。 - 2 - 表5.1.1 绘图参数表 色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式 y 黄- 实线. 点< 小于号 m 紫:点线o 圆s 正方形 c 青-. 点划线x 叉号 d 菱形 r 红- - 虚线+ 加号h 六角星 g 绿* 星号p 五角星 b 蓝v 向下三角形 w 白^ 向上三角形 k 黑> 大于号 例如,在上例中输入 >> plot(x,y1,'r+-',x,y2,'k*:')

matlab中画图的时各种设置

MATLAB 受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图 功能.本章主要介绍2维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法. 第一节图形窗口与坐标系 一.图形窗口 1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸. 2. 在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的 句柄.MATLAB通过管理图形窗口的句柄来管理图形窗口; 3.当前窗口句柄可以由MATLAB函数gcf获得; 4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口); figure(h)----将句柄为h的窗口设置为当前窗口; 5.打开图形窗口的方法有三种: 1)调用绘图函数时自动打开; 2)用File---New---Figure新建; 3)figure命令打开,close命令关闭. 在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已 打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗 口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形. 6.窗口中的图形打印:用图形窗口的File菜单中的Print项. 7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜 单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属 性. 二.坐标系 1.一个图形必须有其定位系统,即坐标系; 2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值; 4.当前坐标系句柄可以由MATLAB函数gca获得; 5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指 定坐标系句柄值. 6.一些有关坐标轴的函数: 1)定义坐标范围:一般MATLAB自动定义坐标范围,如用户认为设定的不 合适,可用:axis([Xmin, Xmax, Ymin, Ymax]) 来重新设定; 29 2) 坐标轴控制:MATLAB的缺省方式是在绘图时,将所在的坐标系也画出 来,为隐去坐标系,可用axis off;axis on则显示坐标轴 (缺省值). 3)通常MATLAB的坐标系是长方形,长宽比例大约是4:3,为了得到一个 正方形的坐标系可用:axis square 4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例 的坐标系,可用:axis equal 第二节二维图形的绘制 一. plot函数

第二讲 Matlab编程与作图

第二讲Matlab编程与作图 第一部分Matlab程序设计初步 Matlab除了指令行操作的直接交互外,作为一种高级应用软件还提供了自己的编程语言。通过编写Matlab程序,可以更加方便地调用Matlab提供的各种功能强大的函数库,使得程序能完成复杂的运算处理大量的数值数据。 1、M文件简介 Matlab提供了丰富的编程语言,使得用户可以将一连串的命令写入文件,然后使用简单的函数来执行这些命令。文件被保存为文本文件,后缀为.m,比如说dblquad.m,因此Matlab的程序通常被称为M 文件。 M文件是一个文本文件,可以使用各种文本编辑器对它进行编辑和修改,比如Windows操作系统自带的记事本,也可以用Matlab 内建的M文件编辑器。 M文件分为两类,一类称为脚本(Scripts),类似于批处理文件,相当于将在Matlab命令窗口中执行的一系列指令放在一个文件中,当在命令窗口调用该文件名时,则按顺序执行其中的命令集。 例:编写求10!的程序。 另一类M文件称为函数(Function),它可以接受输入变量,并将运算结果送至输出变量,类似于数学中的函数y=f(x)。 函数M文件的基本结构: function f=fact(n) 函数定义行

%Compute a factorial value. %FACT(N) returns the factorial of N, 帮助文档%usually denoted by N! %Put simply,FACT(N) is PROD(1:N), 注释 f=prod(1:n); 函数体2、运算符 关系运算符:<, <=, >, >=, = =, ~= 逻辑运算符:与(&),或(|),非(~) 例:编写分段函数 21 () 1 -1<1 321 x x f x x x x ?> ? =≤ ? ?+≤- ? %myfun1.m function y=myfun1(x) y=(x.^2).*(x>1)+(x>-1& x<=1)+(3+2*x).*(x<=-1); 注意:1.函数名与变量名的命名法则相同,要求以字母开头,后接字母或下划线;2.函数名与保存的文件名最好一致。 3、控制流 所有的计算机编程语言都提供了控制程序流执行程序的语法,Matlab也不例外。所有的控制流语法都以end 结尾。 ⑴for 循环语句 语法:for 循环变量=数组 指令组;

MATLAB的绘图功能

四MATLAB的绘图功能 视觉是人们感受世界、认识自然最重要的途径。人们很难直接从一大堆原始的离散数据中体会到它们的含义,用数据画出图形却能使人们用视觉器官直接感受到数据的许多内在本质。 MA TLAB一向注重数据的图形表示,并不断地采用新技术改进和完备其可视化功能。MA TLAB作为一个优秀的科技软件,在数据可视化方面也有上乘表现。MA TLAB可以给出数据的二维、三维乃至四维的图形表现。通过对图形线型、立面、色彩、渲染、光线、视角等的控制,可把数据的特征表现得淋漓尽致。MA TLAB提供了两个层次的图形命令:一种是对图形句柄进行的低级图形命令,另一种是建立在低级图形命令之上的高级图形命令。MA TLAB的图形功能很强,不但可以绘制一般函数的图像,而且可以绘制专业图形,如饼图、条形图等。 在本章介绍如何创建二维、三维图形及其控制输出的方法。 1.1 基本绘图函数 MA TLAB提供多个函数用于绘制图形,以向量或矩阵作为输入参数,绘制它们的图像。下面的列出了基本绘图函数。 表6-1基本绘图函数

1.2 二维图形的绘制 1.2.1 绘制二维图形的一般步骤 为了让读者对绘制图形的过程有一个宏观的了解,在这里先介绍绘制二维图形的一般步骤,具体细节将在后面的章节中进行展开。 绘制二维图形的一般步骤如下: (1)数据的准备:选定所要表现的范围 产生自变量采样向量 计算相应的函数值向量 典型指令:x=0:pi/100:2*pi; (2)选定图形窗及其子图的位置: 缺省时,打开Figure No.1,或当前窗,当前子图 可用指令指定图形窗号和子图号 典型指令:figure(1)%指定1号图形窗 subplot(2,2,2)%指定2号子团 (3)调用(高层)绘图指令:线型、色彩、数据点形 典型指令:plot(x,y,’-ro’)%用红色实线画曲线,其数据点类型为o (4)设置轴的范围与刻度、坐标分格线 典型指令:axis([0,inf,-1,1])%设置坐标轴的范围 grid on %画坐标分格线 (5)图形注释,包括:图名、坐标名、图例、文字说明等 典型指令:title(‘专家系统’)%图名 xlabel(‘’);ylabel(’y’)%轴名 legend(’sinx’,‘cosx‘)%图例 text(2,1,’y=sinx‘)%文字说明 (6)打印:图形窗上的直接打印选项或按键 利用图形后处理软件打印 采用图形窗选项或按键打印最简捷。 步骤1,3是最基本的绘图步骤。至于其他步骤,并不完全必须。 1.2.2 plot函数的调用格式 在二维曲线的绘图命令中,函数plot是最基本,最重要的二维图形命令,其它许多绘图命令都是在它的基础上形成的。 下面介绍plot的使用方法: 调用格式1plot(x,y) 功能绘制二元组x、y的曲线图形。 说明这里x为横坐标,y为纵坐标。若x、y是同规模的向量,则绘制一条曲线。 若x是向量而y是矩阵,则绘制多条曲线,它们具有相同的横坐标数据。 若x、y都是矩阵,则以它们对应的列构成二元组,绘制多条曲线。 调用格式2plot(y)

MATLAB绘图(第2讲)解析

第四章 MATLAB 绘图 复习: 一 、 MATLAB 绘图的一般步骤 1、 取点。 2、 输入作图命令,绘制图形。 二、二维图形的绘制 直角坐标系中,二维曲线的作图命令有:Plot 、fplot 、ezplot Plot ():plot(X,’s ’),plot(x,y,’s ’),plot(X,Y,’s ’) Fplot ():ezplot(‘f ’),ezplot(‘f ’,[xmin,xmax]), ezplot(‘x(t)’,’y(t)’,[xmin,xmax]),fplot(‘fun ’,lims) ezplot ():polar(theta ,rho ,’s ’),ezpolar(‘f ‘),ezpolar(‘f ‘ ,[a ,b]) 第六讲 二 极坐标系由一条带箭头的射线构成,射线端点称为极坐标的极点,射线称为极轴。在极坐标系中平面内的点可极角theta 、极径rho 确定,一般极径rho 被看作是极角theta 的函数,即rho=f(theta) 命令格式 说 明 polar(theta ,rho ,’s ’) 输入时theta 可换为x ,rho 可换为y ,用法与plot 命令相同 ezpolar(‘f ‘) 在默认区间()π2,0上绘制函数rho=f(theta)的图形,用法与ezplot 命令相同。 ezpolar(‘f ‘ ,[a ,b]) 在区间(a ,b )上绘制函数rho=f(theta)的图形 例:阅读并运行下列程序: 1、心形线: 一般方程形式:)cos 1(θ±=a r , )sin 1(θ±=a r (a 为常数) >> x=0:0.05*pi:2*pi; >> y=2*(1+cos(x)); >> polar(x,y)

Matlab画图示例

Matlab 画图示例 1 文档说明 期刊文献中对图形格式、图中曲线线型,文字大小等都会有要求,而matlab 默认输出的图形格式和显示方式可能不符合期刊要求。本文档简单给出了几种调整matlab 输出图形格式的方法及示例图形,仅供参考。 2 示例 2.1 图形格式调整 下面给出设置图片输出格式及调整图形大小、坐标轴及题注字体的示例。如作图y=sin(x),要求图中线型为2,颜色为白底黑色;坐标轴字体为14,标注字体为12,图形宽度为21cm ,以tiff 格式输出,要求分辨率为600dpi ; 102030 40506070 角度 幅值 示例图片 图1 图形格式调整示例 点击edit--copy figure ,将图片粘贴到word,图片输出如图1。 Matlab 程序及说明见附录1 2.2 多曲线显示设置 MATLAB 在多组变量绘图时,可将曲线以不同的颜色,不同的线型、线宽及标记点表示出来以示区别。常用的选项设置如下:

各种颜色属性 'r' 红色 'm' 粉红 'g' 绿色 'c' 青色 'b' 兰色 'w' 白色 'y' 黄色 'k' 黑色 各种线型属性 '-' 实线 '--' 虚线 ':' 点线 '-.' 点划线 各种标记点属性选项 '.' 用点号绘制各数据点 '^' 用上三角绘制各数据点 '+' 用'+'号绘制各数据点 'v' 用下三角绘制各数据点 '*' 用'*'号绘制各数据点 '>' 用右三角绘制各数据点 ' .' 用'.'号绘制各数据点 '<' 用左三角绘制各数据点 's'或squar 用正方形绘制各数据点 'p' 用五角星绘制各数据点 'd'或diamond 用菱 形绘制各数据点 'h' 用六角星绘制各数据点 这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的 '+'号绘制曲线。 注意: 1)表示属性的符号必须放在同一个字符串中; 2)可同时指定2~3个属性; 3) 与先后顺序无关; 4)指定的属性中,同一种属性不能有两个以上. 下面给出几个示例。 2.2.1 线宽显示示例 作出四条曲线,线宽分别为1,3,5,7 10 20 30 40 50 60 70 角度 幅值 示例图片 图2 线宽显示示例

相关主题
文本预览
相关文档 最新文档