文档库 最新最全的文档下载
当前位置:文档库 › MATLAB的绘图功能

MATLAB的绘图功能

MATLAB的绘图功能
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)

功能绘制曲线图形。

说明若y是向量,其元素是实数,则绘制y与其元素的下标所构成的二元组的曲线图。

若y的元素是复数,则等价干plot(real(y),imag(y))。

若y是矩阵,则按列绘制曲线图,曲线条数等于y阵的列数。

调用格式3 plot(x1,y1,x2,y2,…)

功能以(x1,y1),(x2,y2)为二元组,绘制多条曲线。

例1.1绘制y=sin(x),z=cos(x),w=0.25x-0.5的曲线,x ]

2,0[π>> x=0:pi/100:2*pi;

>> y=sin(x);

>> plot(x,y); %绘制y=sin(x)的图形

效果如图6-1:

图6-1 y=sin(x)的图形

在命令窗口中继续输入下面的指令

>> z=cos(x);

>> w=0.25*x-0.5;

>> plot(x,y,x,z,x,w); %绘制三个函数的图形

效果如图6-2

图6-2 y,z,w的图形

例1.2矩阵数据的曲线绘图

>> x=peaks; %利用函数生成数据矩阵x

%生成的是一个49 49的矩阵>> plot(x) %直接对矩阵x的数据绘图

效果如图6-3:

图6-3 实数矩阵的图形

例1.3用复数矩阵绘图,在复数矩阵中,虚部的值是实部的值的指数。

这里x,y都是一维向量

>> x=1:10;

>> y=1.5.^x;

>> z=x+i*y;

>> plot(z)

效果如图6-4:

图6-4 复数矩阵的图形

1.3 基本的绘图控制

在MA TLAB中绘制图形时,为了得到用户满意的结果,允许用户改变曲线的线型、颜色、数据点的标记以及坐标轴的刻度范围等图形的属性,从而可以改变图形的外观。

1.3.1 色彩、线型和数据点标志

函数plot可以接受字符串输入变量,这些字符串输入变量用来指定不同的线型、数据点的标志符号以及每条曲线的颜色。它的一般的调用格式为:

plot(x,y,’ s ’)

其中,s是由1至3个字母组成的一个字符串,用来指定所绘制的曲线的色彩、线型和数据点标志。s 为空时,表示按系统的缺省定义进行处理。

它例如:

plot(x,y,‘-ro’)

% 将绘制一条红色的实线,并且在每个数据点上,都用符号“o”进行标记下面的表6-2列出了代表不同曲线的颜色和线型的符号,在设置曲线的颜色时,可以利用缩写的字母,当然也可以利用实际的颜色名称。

表6-2颜色和线型标记

下面的表6-3列出了MA TLAB中的数据标记点的标记符号

表6-3 数据标记点的符号

例 1.4利用品红色,点划线和数据标记点符号为o来绘制

y=sin(x)的图形,x ]

2,0[π

>> x=0:pi/100:2*pi;

>> y=sin(x);

>> plot(x,y,'-.mo')

效果如图6-5

图6-5 y=sinx的图形

1.3.2 坐标轴的控制

MA TLAB在绘图时会根据数据的分布范围来自动选择坐标轴的刻度范围。用户也可以根据自己的实际要求,利用axis命令来指定坐标轴的刻度范围。

调用格式1axis([xmin ,xmax,ymin,ymax])

功能这里xmin、xmax、ymin和ymax分别表示X轴和Y轴的最大值和最小值。在调用该命令时要确保最大值的值大于最小值。

调用格式2axis square

功能使X轴和Y轴的长度相同

调用格式3axis equal

功能使X轴和Y轴的刻度单位相同

调用格式4axis tight

功能使坐标轴的区域和图形的区域正好吻合

在对坐标轴的刻度进行标注时,对于线性坐标轴,MA TLAB按照数据的范围自动在横轴和纵轴上标出等间距的刻度线。用户可以利用修改图形的xtick和ytick属性值,就可以自己设置刻度线的位置,刻度线之间的间距可以不等。在进行设置时,应该使刻度线的值按照升序排列。另外,如果指定的坐标轴的刻度值超过了坐标轴的显示范围,MA TLAB将会自动撤弃这些刻度值。

例如图6-5就是按照MA TLAB默认的坐标轴刻度生成一幅图形,下面用户自己再改变坐标轴的显示范围和刻度内容。

>> x=0:pi/100:2*pi;

>> y=sin(x);

>> plot(x,y,'-.mo')

>> axis([-1,11,-2,2]);%设置X轴和Y轴的最大值和最小值

>> set(gca,'xtick',[-1,3,7,11])%在X轴上的-1,3,7,11处标记刻度

效果如图6-6:

图6-6对坐标轴和刻度的控制

1.3.3坐标网格

使用grid命令可以在当前作图中附加网格线,其使用方法如下:

调用格式1 grid on

功能在当前坐标中附加网格线

调用格式2 grid off

功能移掉网格线

调用格式3 grid

功能切换grid的“on’与“off”两种状态

1.3.4 图形的标注和图例

MA TLAB提供了许多图形的标注命令如title、xlabel、ylabel、text和gtext等可用来在当前坐标系中附加适当的标注。除了加标注外,还可以在图形的任意位置上放置文本。它们的基本用法如下:调用格式title(’text’)

功能用来给图形加上标题

调用格式xlabel(’text’)

功能用来对X轴加入标记

调用格式ylabel(’text’)

功能用来对Y轴加入标记

调用格式zlabel(’text’)

功能用来对Z轴加入标记

调用格式text(X,Y,’string’)

功能在图形的指定位置(X,Y)加入一个文本字符串

调用格式gtext(’string’)

功能利用鼠标在图形中加入文本字符串

调用格式legend(’string1’,’string2’,…)

功能给图形加入图例;使用该命令可对当前图形建立一个图例说明盒,盒内给出用户指定的图例说明,利用鼠标可以移动图例说明盒,以改变其位置。

此外利用命令legend off可移掉图例说明盒。

例1.5 演示图形控制的例子:

>> x=linspace(0,2*pi,50);

>> y=sin(x);

>> z=cos(x);

>> w=0.25*x-0.5;

>> plot(x,y,'b:',x,z,'r-',x,w,'-.b*');%绘图

>> xlabel('X axis');%轴的标注

>> ylabel('function y,z and w');%轴的标注

>> title('Three Functions ');%图形的标题

>> grid on%添加坐标网格

>> text(6,-0.5,'y=sinx')%在点(6,-0.5)处标注

>> text(2,-0.5,'z=cosx')

>> gtext('w=0.25x-0.5')

>> legend('y=sinx','z=cosx','w=0.25x-0.5')%制作图例说明盒

效果如图6-7

图6-7 坐标网格,标注及图例说明

1.3.5 图形的叠加功能

使用hold 命令可以在已有的图形系统中附加新的图形成分。其使用方法如下:

调用格式1hold on

功能保留当前图形及坐标的全部属性,使得随后绘制的图形附加到已存在的图形上去。

调用格式2 hold off

功能返回hold的缺省模式,随后的作图命令plot将抹去当前已有图形,在绘制新的图形前重新设置坐标轴的属性。

调用格式3 hold

功能切换hold的’on’和’of f’两种状态。

例1.6 演示图形的叠加功能

>> x=0:pi/50:4*pi;

>> y=sin(x);

>> plot(x,y,'r')%绘制一条曲线

效果如图6-8:

图6-8y=sinx的图形

要在已经作好的图6-8的基础上再添加z=sin(x-0.5)和s=sin(x-1)的图形,可继续输入下面的指令:>> hold on%等待继续添加图形

>> z=sin(x-0.5);

>> s=sin(x-1);

>> plot(x,z,'bo',x,s,'-.m*')%绘制两条曲线

>> hold off%关闭图形的继续添加功能

效果如图6-9:

图6-9添加函数z,s后的图形需要说明的是,要使用命令hold on添加图形,此时图形的坐标轴和刻度仍然保留以前的,并不对它们进行改变;在添加完所有图形后,一般应关闭添加功能,以免对后来的图形输出造成不良的影响;如果还需添加,可再次置为hold on.。

1.3.6 离散数据点的绘制

在MA TLAB中,有时需要只绘制表示数据的点,而不将这些离散的点连成完整的线条。此时,只须在线条特征设置时,忽略线型属性,而仅仅设置其标记符号,就可以只绘制数据点。例如:设有两个向量x和y,分别为:

x=0:pi/20:6*pi;

y=exp(2*cos(x));

调用函数plot时,其字符串的参数只包含颜色和数据标记符号,如:

plot(x,y,'r*')

这样MA TLAB只在每个数据点上绘制一个红色的*号,如图6-10所示:

图6-10离散数据点的绘制

当然,也可以指定线型和标记符号,同时绘制数据点和连接这些数据点的线条。

例如:把上面的plot命令稍作修改,首先将数据绘制成红色的实心线,然后在每个数据点上添加带有蓝色边界的圆圈标记符号:

plot(x,y,'-r',x,y,'ob')

效果如图6-11所示:

图6-11 数据点和连接线的绘制

1.4 MATLAB的图形窗口

1.4.1 建立图形窗口

MA TLAB直接将绘制的图形输出到与命令窗口独立的新的

窗口中。在MA TLAB中,输出图形的窗口称为图形窗口(即figure)。图形窗口的特性是通过用户计算机上的视窗系统和MA TLAB的图形系统来共同控制的。

如果在调用MA TLAB的图形函数时没有图形窗口,则系统将自动创建一个新的图形窗口。如果已经存在一个图形窗口,那么MA TLAB的绘图函数就会在这个图形窗口中进行绘图操作。如果存在多个图形窗口,那么MA TLAB的绘图函数就会在当前图形窗口中绘图。当前窗口通常是最后一个使用过的图形窗口。

MA TLAB的figure函数用于创建图形窗口。

例如在指令窗口中输入下面的代码:

>> figure

>> figure

就建立了两个新的图形窗口,并把最后这个窗口作为MA TLAB的当前图形窗口。

如图6-12:

图6-12 创建空白图形窗口

将现有的图形窗口设置为当前图形窗口一般有两种方法:用鼠标点击选中,使该窗口称为当前图形窗口。

将需要设置为当前图形窗口的窗口句柄作为参数传递给figure函数,例如:

figure(n)

说明:这里n是一个正整数,表示图形窗口句柄,是用来识别一个图形窗口的号码。一个图形窗口的图形句柄显示在该图形窗口的标题栏中。这个操作将会使图形句柄n所代表的窗口成为当前图形窗口。如果不存在句柄为n的图形窗口,那么就会建立一个新的图形窗口,把这个新图形窗口作为当前图形窗口,这个新窗口的句柄为n。

如果用户想关闭图形窗口,可以利用鼠标点积窗口右上侧的

关闭按钮来关闭图形窗口,也可以利用函数来关闭窗口。

例如命令:

close表示关闭当前图形窗口

而命令:close(n)

表示关闭图形句柄为n的窗口,

close all

表示关闭所有的图形窗口。

如果用户并不想关闭一个图形窗口,而仅仅想将该窗口中的内容清除,那么可以利用函数clf来实现该功能。命令clf用来清除当前图形窗口中的所有内容。而命令

elf reset

除了能够清除当前图形窗口的所有内容以外,还可以将该图形的所有属性,除了位置和单位属性,都重新设置为缺省状态。

1.4.2 子图

我们可以在同一个MA TLAB图形窗口中显示多个图形将这些显示在同一个窗口中的图形打印在同一张纸面上。要实现此功能利用函数subplot就能完成。

调用格式subplot(m,n,p)

功能将当前图形窗口分割成为m n个绘图子区域,并将第p个子区域作为当前的绘图区域。在图形区

域的号码编排中,采用行优先的原则,即:所有的

子图沿着第一行从左往右编号,然后是第二行,依

次类推。

例1.7 把一个图形窗口分为四个子图,每个子图绘制了不同的图形:

>> x11=x.*cos(x);

>> x12=-x.*sin(x)+cos(x);

>> x21=sin(x).*cos(x);

>> x22=(sin(x).^2).*(cos(x).^2);

>> subplot(2,2,1);%在左上角绘图

>> plot(t,x11);

>> title('第一个子图')

>> subplot(2,2,2);%在右上角绘图

>> plot(t,x12);

>> title('第二个子图')

>> subplot(2,2,3);%在左下角绘图

>> plot(t,x21,'mo');

>> title('第三个子图')

>> subplot(2,2,4);%在右下角绘图

>> plot(t,x21,'g*');

>> title('第四个子图')

效果如图6-13:

图6-13 子图的绘制

对当前子图的选取:

在一个图形窗口中,绘制的多个子图互相之间是互相独立的,用户可以单独对某一个子图进行修改和标注等操作,而不会影响其他的子图。对子图的操作也是对当前子图进行操作的。如果用户想修改一个图中的子图,也必须首先使这个子图成为当前子图。每个图形窗口中都有一个当前子图。系统默认的当前子图是最后使用的那个子图,在上面的例子中,当前子图是第四个子图。

如果用户想把图中的第二个子图改为当前子图,可以:

(1)用鼠标单击第二个子图,就可以把它改为当前子图。

(2)利用函数Subplot(2 ,2 ,2)可以将第二个子图设置为当前子图。

如果函数subplot中的m和n的数目和原来的有所不同,那么

MA TLAB将会按照新的子图命令来改变图形窗口中的子图的号码,并且将原先的子图清除,为新的子图腾出空间。

如果要使图形回到缺省状态,也就是只包含一个坐标轴,那么可以用下面的命令来实现:

subplot(1,l,l)

1.4.3 简易的二维图形的绘制

函数:ezplot

1.5 三维图形的绘制

1.5.1 三维曲线图形的绘制

绘制三维图形的最常用、最基本的函数是plot3 ,它与绘制二维图形的函数plot的用法相似。

函数是plot3的一般格式:

plot3(x,y,z)

说明:1)当x,y,z为向量时,将以三个向量中的相应元素x

坐标、y坐标、z坐标绘制出数据点,然后再用

线把这些点连接起来得到一条空间曲线;

2)当x,y,z为是同维矩阵时,则分别取x,y,z中的对应列,画出多条曲线。

与函数plot一样,也可以对图形的绘制进行控制,如:

plo t3(x,y,z,’s’) %s为颜色,线型,数据点的标记组成的字符串

另外,命令plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’,…)表示由多个参数组绘制多条曲线,其中每个x,y,z为向量或矩阵,s为为颜色,线型,数据点的标记组成的字符串。

例1.8 数据为向量的三维绘图

>> t=0:pi/50:5*pi;

>> plot3(sin(t),cos(t),1.5*t);

>> grid on

效果如图6-14:

图6-14 三维曲线

例1.9 数据为矩阵的三维图形的绘制

>> [X,Y]=meshgrid(-2:0.1:2); %生成一个数据矩阵

>> Z=X.*exp(-0.5*X.^2-Y.^3);

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中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绘图详解

一.二维图形(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绘图功能 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 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的绘图功能 视觉是人们感受世界、认识自然最重要的途径。人们很难直接从一大堆原始的离散数据中体会到它们的含义,用数据画出图形却能使人们用视觉器官直接感受到数据的许多内在本质。 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)

相关文档