matlab中使用plot画图

matlab中使用plot画图
matlab中使用plot画图

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)

plot(x,y1,'k-.o',x,y2,'k*:')

grid on (/off) 给当前图形标记添加(取消)网络xlable(‘string’) 标记横坐标

ylabel(‘string’) 标记纵坐标

title(‘string’) 给图形添加标题

text(x,y,’string’) 在图形的任意位置增加说明性文本信息gtext(‘string’) 利用鼠标添加说明性文本信息

axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot(x,y1,x,y2)

>> grid on

>> xlabel('independent variable X')

>> ylabel('Dependent Variable Y1 & Y2')

>> title('Sine and Cosine Curve')

>> text(1.5,0.3,'cos(x)')

>> gtext('sin(x)')

>> axis([0 2*pi -0.9 0.9])

5.1.3 图形的比较显示

在一般默认的情况下,MATLAB 每次使用plot 函数进行图形绘制,将重新产生一个图形窗口。但有时希望后续的图形能够和前面所绘制的图形进行比较。一般来说有两种方法:

一是采用hold on(/off)命令,将新产生的图形曲线叠加到已有的图形上;

二是采用subplot(m,n,k)函数,将图形窗口分隔成n m×个子图,并选择第k 个子图作为当前图形,然后在同一个视图窗口中画出多个小图形。

(1)子窗口的序号按行由上往下,按列从左向右编号。

(2)如果不用指令clf 清除,以后图形将被绘制在子图形窗口中。

例5.1.3 在同一窗口中绘制线段。(见图5.1.5)

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

>> y1=sin(x);

>> y2=cos(x);

>> y3=x;

>> y4=log(x);

>> plot(x,y1,x,y2)

>> hold on

>> plot(x,y3)

>> plot(x,y4)

>> hold off

例5.1.4 在多个窗口中绘制图形。(见图5.1.6)

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

>> y1=sin(x);

>> y2=cos(x);

>> y3=exp(x);

>> y4=log(x);

>> subplot(2,2,1);

>> plot(x,y1);

>> subplot(2,2,2);

>> plot(x,y2);

>> subplot(2,2,3);

>> plot(x,y3);

>> subplot(2,2,4);

>> plot(x,y4);

5.2 三维立体图形

5.2.1 三维曲线图

与二维图形相对应,MATLAB 提供了plot3 函数,可以在三维空间中绘制三维曲线,

它的格式类似于plot,不过多了z 方向的数据。plot3 的调用格式为:

plot3(x1,y1,z1,x2,y2,z2,...)

其中x1,y1,z1,x2,y2,z2,…等分别为维数相同的向量,分别存储着曲线的三个坐标值,该

函数

的使用方式和plot 类似,也可以采用多种的颜色或线型(见表5.1.1)来区分不同的数据

组,

只需在每组变量后面加上相关字符串即可实现该功能。

例5.2.1 绘制方程x=t

y=sin(t)

z=cos(t)

在t=[0,2*pi]上

的空间方程。(见图5.2.1)

>> clf

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

>> y1=sin(x);

>> y2=cos(x);

>> plot3(y1,y2,x,'m:p')

>> grid on

>> xlabel('Dependent Variable Y1')

>> ylabel('Dependent Variable Y2')

>> zlabel('Independent Variable X')

>> title('Sine and Cosine Curve')

图5.2.1 函数plot 绘制的三维曲线图

- 7 -

5.2.2 三维曲面图

如果要画一个三维的曲面,可以使用mesh(X,Y,Z)或surf(X,Y,Z)函数来实现。mesh 函数为数据点绘制网格线,图形中的每一个已知点和其附近的点用直线连接。surf

函数和mesh 的用法类似,但它可以画出着色表面图,图形中的每一个已知点与其相邻点以

平面连接。

为方便测试立体绘图,MATLAB 提供了一个peaks 函数,它可以产生一个的高

斯分布矩阵,其生成方程是

N N ×

z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3*e x

p(-(x+1).^2-y.^2)

对应的图形是一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点。下面使用peaks 函数来比较一下mesh 和surf 的区别。

例5.2.2 分别用mesh 函数和surf 函数绘制高斯矩阵的曲面。

>> z=peaks(40);

>> mesh(z);

>> surf(z);

图5.2.2 mesh 函数绘制的三维曲面图

- 8 -

图5.2.3 surf 函数绘制的着色表面图

在曲面绘图中,另一个常用的函数是meshgrid 函数,其一般引用格式是:[X, Y]=meshgrid (x, y)

其中x 和y 是向量,通过meshgrid 函数就可将x 和y 指定的区域转换成为矩阵X 和Y。

这样我们在绘图时就可以先用meshgrid 函数产生在x-y 平面上的二维的网格数据,再以一

组z 轴的数据对应到这个二维的网格,即可画出三维的曲面。

例5.2.3 绘制方程

sin((x^2+y^2)^(1/2))

z = ---------------------

(x^2+y^2)^(1/2)

在x∈[-7.5,7.5];y∈[-7.5,7.5] 的图形。

>> x=-7.5:0.5:7.5;y=x;

>> [X,Y]=meshgrid(x,y);

>> R=sqrt(X.^2+Y.^2)+eps;

>> Z=sin(R)./R;

>> surf(X,Y,Z)

>> xlabel('X 轴方向')

>> ylabel('Y 轴方向')

>> zlabel('Z 轴方向')

(见图5.2.4)

_(x^2+y^2)

例5.2.4 绘制由方程形成的立体图。(见图5.2.5)z=xe

>> clear

>> x=-2:0.1:2;y=x;

>> [X,Y]=meshgrid(x,y);

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

- 9 -

>> surf(X,Y,Z)

图5.2.4

图5.2.5

- 10 -

5.2.3 观察点

MTALAB 允许用户设置观察点,其指令是:view(azimuth,elevation)

其中方位角azimuth 是观察点和坐标原点连线在x-y 平面的投影和y 轴负方向的夹角,仰

elevation 是观察点与坐标原点的连线和x-y 平面的夹角。对于这两个角度,三维图形的

默认

值分别是-37.5 和30,二维图形的默认值是0 和90。

例5.2.5 从不同的角度观察高斯矩阵的曲面。

>> z=peaks(40);

>> subplot(2,2,1);

>> mesh(z);

>> subplot(2,2,2);

>> mesh(z);

>> view(-37.5,-30);

>> subplot(2,2,3);

>> mesh(z);

>> view(180,0);

>> subplot(2,2,4);

>> mesh(z);

>> view(0,90);

图5.2.6 对应不同观察点的三维曲面图

5.3 其他图形函数

除了plot 绘图函数以外,在有些场合对绘制的曲线会有一些特殊要求,这就要其他函

数来实现,常用的几种函数如下(见表5.3.1)

- 11 -

表5.3.1 其他图形函数表

函数含义

loglog 使用对数坐标系绘图

semilogx 横坐标为对数坐标轴,纵坐标为线性坐标轴

semilogy 横坐标为线性坐标轴,纵坐标为对数坐标轴

polar 绘制极坐标图

fill 绘制实心图

bar 绘制直方图

pie 绘制饼图

area 绘制面积图

quiver 绘制向量场图

stairs 绘制阶梯图

sterm 绘制火柴杆图

例5.3.1

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

>> y1=sin(x);

>> subplot(2,2,1);

>> plot(x,y1);

>> subplot(2,2,2);

>> bar(x,y1);

>> subplot(2,2,3);

>> fill(x,y1,'g');

>> subplot(2,2,4);

>> stairs(x,y1,'k');

图5.3.1 其他图形函数

- 12 -

5.3.1 直方图

函数bar(x)可以绘制直方图,这对统计或者数据采集非常直观实用。它共有四种形式:

bar,bar3,barh 和bar3h,其中bar 和bar3 分别用来绘制二维和三维竖直方图,barh 和b

ar3h 分

别用来绘制二维和三维水平直方图,调用格式是:

bar(x,y) 其中x 必须单调递增或递减,y 为n m×矩阵,可视化结果为m 组,

组n 个垂直柱,也就是把y 的行画在一起,同一列的数据用相同的颜色表示;bar(x,y,width) (或bar(y,width))指定每个直方条的宽度,如width>1,则直方条会重

叠,默认值为width=0.8;

bar(…,’grouped’) 使同一组直方条紧紧靠在一起;

bar(…,’stack’) 把同一组数据描述在一个直方条上。

例5.3.2

>> y=[5 3 2 9;4 7 2 7;1 5 7 3];

>> subplot(2,2,1),bar(y)

>> x=[5 9 11];

>> subplot(2,2,2),bar3(x,y)

>> subplot(2,2,3),bar(x,y,'grouped')

>> subplot(2,2,4),bar(rand(2,3),.75,'stack')

图5.3.2 直方图

5.3.2 面积图

函数area 用来绘制面积图,面积图在plot 的基础上填充x 轴和曲线之间的面积,该图

用于查看某个数在该列所有数的总和中所占的比例。

例5.3.3

>> x=-3:3;

>> y=[3 2 5;6 1 8;7 4 9;6 3 7;8 2 9;4 2 9;3 1 7];

>> area(x,y)

- 13 -

图5.3.3 面积图

5.3.3 饼图

函数pie 用来绘制饼图,它可以形象地表示出向量中各元素所占比例。其调用格式是:

pie(x) x 中的元素通过x/sum(x)进行归一化,以确定饼图中的份额;

pie(x,explode) 向量explode 和x 元素数相同,用来指出需要分开的饼片,explode 中

不为零的部分会被分开。

图5.3.4 饼图

- 14 -

例5.3.4 设某班的某课程的考试成绩如下:90 分以上有32 人,81 至90 有58 人,71

至80 分有27 人,60 至70 分为21 人,60 分以下有16 人,画出饼图。(见图5.3.4)

>> x=[32 58 27 21 16];

>> explode0=[1 0 0 0 0];

>> subplot(1,2,1)

>> pie(x,explode0)

>> explode1=[0 0 0 0 1];

>> subplot(1,2,2)

>> pie(x,explode1)

5.3.4 不同坐标系中的绘图

Semilogx,semilogy,loglo,polar(theta,rho)的使用方法和plot 完全类似,不同的只是绘

制到

不同的图形坐标上。函数semilogx 绘制x 轴为对数标度的图形,在半对数坐标系中绘图;

函数semilogy 绘制y 轴为对数标度的图形;函数loglog 绘制两个轴都为对数间隔的图形

函数polar(theta,rho)绘制极坐标图形,其中theta 为相角,rho 为其对应的半径。

例5.3.5 绘制ρ=acos(3θ),a=2 的图形。(见图5.3.5)

>> theta=-pi:pi/80:pi;

>> polar(theta,2*cos(3*theta))

图5.3.5 极坐标图

5.4 符号表达式绘图

MATLAB 软件提供了将表达式进行图形显示的功能。完成此功能需调用fplot 函数和

ezplot 函数。

- 15 -

函数fplot 用来绘制数学函数,其调用格式为:fplot(fun,lims)

其中fun 就是所要绘制的函数,可以是定义函数的M 文件名,也可以是以x 为变量的可计

算字符串。例如’diric(x,10)’或’[sin(x),cos(x)]’,对于向量x 的每个元素,函数fun(x)必须返

回一个行向量。如果fun 返回[f1(x),f2(x),f3(x)],输入[x1;x2],就会返回矩阵f1(x1) f2(x1) f3(x1)

f1(x2) f2(x2) f3(x2)

lims=[XMIN XMAX YMIN YMAX]限定了x,y 轴上的绘图空间。

例5.4.1

>> subplot(2,2,1),fplot('humps',[0 1])

>> subplot(2,2,2),fplot('abs(exp(-j*x*(0:9))*ones(10,1))',[0 2*pi])

>> subplot(2,2,3),fplot('[tan(x),sin(x),cos(x)]',2*pi*[-1 1 -1 1])

>> subplot(2,2,4),fplot('sin(1./x)',[0.01 0.1],1e-3)

图5.4.1 fplot 函数绘制表达式图形

ezplot 函数是简捷绘图指令之一,它无需数据准备,直接画出函数图形,基本

调用格式

为ezplot(f)

其中f 是字符串或代表数学函数的符号表达式,只有一个符号变量,可以是x,缺省情况下

x 轴的绘图区域为] 2 , 2 [ π π ? ,但我们可以用ezplot(f,xmin,xmax)或ezp lot(f,[xmin,xmax])来指

定x 的范围。

例5.4.2

>> y='x^2';

>> subplot(1,2,1)

- 16 -

>> ezplot(y)

>> subplot(1,2,2)

>> y='sin(x)';

>> ezplot(y,[-pi,pi])

图5.4.2 ezplot 函数绘制表达式图形

5.5 plot 函数

MATLAB 对数据是按列存储和计算的,运用plot(x)时,当x 为一个向量时,以其元

素为纵坐标,其序号为横坐标值绘制曲线。当x 为实矩阵时,则以其序号为横坐标,按列

制每列元素相对于序号的曲线,当x 为n m×矩阵时,就有n 条曲线。

如果x,y 是同维向量,plot(x,y)指令以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。

如x 是向量,y 是有一维与x 元素数量相等的矩阵,则以x 为共同横坐标,按列绘制y 每

元素值,曲线数为y 的另一维的元素数。如果x,y 是同维矩阵,则以x,y 对应列元素为、

坐标分别绘制曲线,数目等于矩阵的列数。

例5.5.1

>> x=[3 5 10 8];

>> subplot(2,2,1)

>> plot(x)

>> x=[3 5 10 8;7 2 9 4;2 7 2 7]';

>> subplot(2,2,2)

>> plot(x)

>> x=[3 5 6 8];

>> y=[1 5 10 4];

- 17 -

>> subplot(2,2,3)

>> plot(x,y)

>> x=[1 3 5 7;2 4 6 8]';

>> y=[6 2 5 10;3 5 2 6]';

>> subplot(2,2,4)

>> plot(x,y,'k:*')

图5.5.1

5.6 交互式图形指令

ginput 是一个比较特殊的图形指令,用作获取图上数据,例如指令

>>[x,y]=ginput(6) % 从图形上选取6 个点

此时,ginput 指令将把当前图形调入前台,同时光标变为十字叉,移动光标,使交叉点落

目标点上,单击鼠标,即可获得该点数据。

例5.5.2

>> fplot('humps',[0 1])

>> ginput(6)

x =

0.0449

0.1832

0.3007

0.3813

0.6417

0.8952

- 18 -

y =

7.4561

38.1579

96.3450

57.4561

10.9649

21.1988

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、翻转fliplr(左右)、flipud(上下) fftshift()上下左右 fftshift(,1)对行(row)同时操作,引起列的变化(不是简单的上下) 类似fpliud fftshift(,2)对列(column)同时操作,引起行的变化(不是简单的左右) 类似fplilr eg:a=[1 2 3;4 5 6; 7,8 9]; fliplr=321 654 987 flipud= 789 456 123 fftshift=978 312 645 fftshift(a,1)= 789 123 456 fftshift(a,2)= 312 645 978 2、data:Naz*Nrg,行为方位向,列为距离向 fft(,[],1)同时对一列进行fft,在SAR数据处理中为方位向FFT,变换到距离时域,方位频域(距离-多普勒域)== fft() fft(,[],2)同时对一行进行fft,在SAR数据处理中为距离向FFT,变换到距离频域,方位时域。== fft(x.’).’ fft(,[],1) + fft(,[],2) = fft2() 3、conj(共轭) conv(卷积) 4、imagesc,colormap(gray) 5、转置:“’” 对于复数为共轭转置,若要只转置不取共轭,则应该是“.’” 对于实数,“’”即可实现转置。 6、对于有复数j的程序,在循环中切忌再次使用j作为循环变量,同理,不可再次定义变量j进行其他运算。 7、算法优化: a) sinc(1:100)比单独计算sinc(1)…sinc(100)快N倍; b) 如果遇到a^2*b^2,则可以先计算(a*b)再对乘积求平方; 8、eps 计算机最小正数,在pc机上,它等于2e-52。 9、保存的指令格式 (1)save 工作间中的所有变量保存在磁盘上名为matlab.mat 的文件中。(2)save [文件名] [变量名] 将指定的变量保存在指定文件中,如: save temp x y z 把x,y,z 这三个变量保存在文件temp.mat 中。在下次加载MATLAB 时可以利用load 指令将保存在文件中的变量恢复到工作间中其格式有: (1)load 将保存在matlab.mat 中的变量装入到MATLAB 工作间中。 (2)load [文件名] [变量名] 从指定的文件中将指定的变量装入。 save e:\mydir\data AR load e:\mydir\data AR 10、reshape(变量,行,列) 11、取整函数: fix朝零方向取整ceil 朝正无穷大方向取整

Matlab中使用Plot函数动态画图方法

%% %先画好,然后更改坐标系 %在命令行中使用 Ctrl+C 结束 t=0:0.1:100*pi; m=sin(t); plot(t,m); x=-2*pi; axis([x,x+4*pi,-2,2]); grid on while 1 if x>max(t) break; end x=x+0.1; axis([x,x+4*pi,-2,2]); %移动坐标系 pause(0.1); end %% % Hold On 法 % 此种方法只能点,或者分段划线 hold off t=0; m=0; t1=[0 0.1]; %要构成序列 m1=[sin(t1);cos(t1)]; p = plot(t,m,'*',t1,m1(1,:),'-r',t1,m1(2,:),'-b','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:100 hold on t=0.1*i; %下一个点 m=t-floor(t); t1=t1+0.1; %下一段线(组) m1=[sin(t1);cos(t1)]; p = plot(t,m,'*',t1,m1(1,:),'-r',t1,m1(2,:),'-b','MarkerSize',5); x=x+0.1; axis([x x+2*pi -1.5 1.5]); pause(0.01); end

%% %采用背景擦除的方法,动态的划点,并且动态改变坐标系% t,m 均为一行,并且不能为多行 t=0; m=0; p = plot(t,m,'*',... 'EraseMode','background','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:1000 t=0.1*i; %两个变量均不追加 m=sin(0.1*i); set(p,'XData',t,'YData',m) x=x+0.1; drawnow axis([x x+2*pi -1.5 1.5]); pause(0.1); end %% %采用背景擦除的方法,动态的划线,并且动态改变坐标系% 多行划线 t=[0] m=[sin(t);cos(t)] p = plot(t,m,... 'EraseMode','background','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:1000 t=[t 0.1*i]; %Matrix 1*(i+1) m=[m [sin(0.1*i);cos(0.1*i)]]; %Matrix 2*(i+1) set(p(1),'XData',t,'YData',m(1,:)) set(p(2),'XData',t,'YData',m(2,:)) drawnow x=x+0.1; axis([x x+2*pi -1.5 1.5]); pause(0.5);

matlab画图基本函数和参数之plot

matlab画图基本函数和参数之plot (2010-06-05 16:54:20) 基本语法: plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue,...) plot(axes_handle,...) h = plot(...) hlines = plot('v6',...) 详解: plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线;如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y));其它使用情况下,忽略坐标数据中的虚部。 plot(X1,Y1,...)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。 plot(X1,Y1,LineSpec,...)通过参数 LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形 plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...) 此时完全等效于 plot(X1,Y1,LineSpec1,...) hlod all plot(X2,Y2,LineSpec2,...)

MATLAB中提供的线型属性有: 需要说明的是,LineSpec中设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。也就是说'r-.*'、'-.r*'、'*-.r'等形式是等效的,都表示使用红色点划线连接各个节点,各节点使用“*”标识。 plot(...,'PropertyName',PropertyValue,...) 设置由plot创建的所有曲线句柄对象的属性,Line对象属性和属性值参见附录,具体设置参考下面的实例,当然可以使用set/get进行设置。 plot(axes_handle,...)指定坐标系,也就是在 axes_handle坐标系中绘图,在没有指定时默认为gca。 h = plot(...)返回由plot创建的所有曲线句柄对象的句柄。每条曲线对应一个句柄,如果有n条曲线,则h为n×1的数组。 注意事项: 在同时绘制多条曲线时,如果没有指定曲线属性,plot按顺序循环使用当前坐标系中ColorOrder和LineStyleOrder两个属性。 默认情况,MATLAB在每次调用plot函数时将ColorOrder和 LineStyleOrder自动重置为DefaultAxesColorOrder和DefaultAxesLineStyleOrder。 Default**属性我们可以自定义,有效期至MATLAB关闭,Matlab下次启动时将Default**属性重置为厂家设置(Factory) set(0,'DefaultAxesColorOrder',’r|g|b|k’,... 'DefaultAxesLineStyleOrder','-|-.|--|:')

matlab作图

MATLAB受到了广大理工科学生和学者青睐,除了Matlab强大的矩阵计算功能和功能齐全的toolbox以外,一个重要原因是因为它提供了方便的绘图功能。下面我们将详细介绍2维图形对象的生成函数及图形控制函数的使用方法以及一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法. 一、图形窗口与坐标系; A.图形窗口 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项,打开图形对象的参数设置窗口,可以设置对象的属性. B.坐标系; 1.一个图形必须有其定位系统,即坐标系; 2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值; 4.当前坐标系句柄可以由MATLAB函数gca获得; 5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指定坐标系句柄值.

MATLAB画图函数plot应用大全.docx

MATLAB图像生成函数Plot ()总结 一、基本形式 (1)? y=[0 0.58 0.70 0.95 0.83 0.25]; ? plot(y) 生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。 (2)? x=linspace(0,2*pi,30); %生成一组线性等距的数值 ? y=si n(x); ?plot(x,y) 生成的图形是上30个点连成的光滑的正弦曲线。 二、多重线 (1)在同一个画面上可以画许多条曲线,只需多给出几个数组: ? x=0:pi/15:2*pi; ? yl=si n(x); ? y2=cos(x); ?plot(x,yl,x/y2) (2)利用hold命令。在已经画好的图形上,若设置hold on, MATLA 将把新的plot命令产生的图形画在原来的图形上。而命令hold off将结束这个过程。例如: ? x=linspace(0,2*pi,30); y=sin(x); plot(x,y) ? hold on ? z=cos(x); plot(x,z) ? hold off 三、线型和颜色 MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下: (1)线型线方式:?实线:点线虚点线--波折线。 (2)线型点方式:?圆点+加号*星号xx形o小圆

(3)颜色:y黄;r红;g绿;b蓝;w 口;k黑;m紫;c青. 以下面的例子说明用法: ? x=0:pi/15:2*pi; ? yl=sin(x); y2=cos(x); ?plot(x/yl/b:+;x/y2;g-.*/) 四、改变坐标轴 (1)网格和标记 在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。 ? x=linspace(0/2*pi/30); y=sin(x); z=cos(x); ?plot(x,y,x,z) ?grid ?xlabel(1ndependent Variable X') ?ylabel(z Dependent Variables Y and Z‘) ?title(z Sine and Cosine Curves') (2)在坐标轴加字符: ?text(2.5,0.7/sinx,) 表示在坐标x=2.5, y=0.7处加上字符串sinxo更方便的是用鼠标来确定字符串的位置,方法是输入命令: >>gtext('sinx‘) 在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字 符串放在那里。 (3)坐标系的控制 在缺省情况下MATLAB 口动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有: axis([xminxmaxyminymax])[冲分别给出x轴和y轴的最大值、最小值axis equal 或axis( 'equal' )x轴和y轴的单位长度相同 axis square 或axis( "square')图框呈方形

教你如何用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的基本绘图方法 一、实验目的 1.二维平面图形的绘制 2.三维立体图形的绘制 3.隐函数作图 二、实验地点:A404 三、实验日期: 四、实验内容 (一)二维平面图形的绘制 1、Plot的使用方法介绍 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,…元素为纵坐标值绘制多条曲线。 例1:画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) 注:在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MA TLAB 软件专门提供了这方面的参数选项,我们只要在每个坐标后加上相关字符串,就可实现它们的功能。具体参见教材。 2、图形修饰 MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。 图形修饰函数表如下: 函数含义 grid on (/off) 给当前图形标记添加(取消)网络 xlable(‘string’) 标记横坐标 ylabel(‘string’) 标记纵坐标 title(‘string’) 给图形添加标题 text(x,y,’string’) 在图形的任意位置增加说明性文本信息 gtext(‘string’) 利用鼠标添加说明性文本信息 axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值 例2、给例1的图形中加入网络和标记。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2)

MATLAB中plot的用法

MATLAB中plot的用法(2011-05-17 22:10:50)转载▼ 标签:杂谈 第五讲计算结果的可视化 本节介绍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*:') 则得图5.1.2 图5.1.2 使用不同标记的plot 函数绘制的正弦曲线 5.1.2 图形修饰 MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。 表5.1.2 图形修饰函数表

(matlab)plot画图的颜色线

(matlab)plot画图的颜色线型 y 黄色 ·点线 m 粉红○圈线 c 亮蓝 × ×线 r 大红++字线 g 绿色-实线 b 蓝色 * 星形线 w 白色:虚线 k 黑色-. -- 点划线 matlab6.1线形: [ + | o | * | . | x | square | diamond | v | ^ | > | < | pentagram | hexagram ] square 正方形 diamond 菱形 pentagram 五角星 hexagram 六角星 用法 grid 打开网格线-- 虚线 hold on 命令用于在已画好的图形上添加新的图形 1 x=0:0.001:10; % 0到10的1000个点(每隔0.001画一个点)的x座标 y=sin(x); % 对应的y座标 plot(x,y); % 绘图 注:matlab画图实际上就是描点连线,因此如果点取得不密,画出来就成了折线图,请试验之 2 Y=sin(10*x); plot(x,y,'r:',x,Y,'b') % 同时画两个函数 3 若要改变颜色,在座标对后面加上相关字串即可: x=0:0.01:10; plot(x,sin(x),'r') 4 若要同时改变颜色及图线型态(Line style),也是在坐标对后面加上相关字串即可:plot(x,sin(x),'r*') 5 用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围 axis([0,6,-1.5,1]) 6 MATLAB也可对图形加上各种注解与处理:(见上表) xlabel('x轴'); % x轴注解 ylabel('y轴'); % 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绘图的一些技巧 1.在坐标轴上任意标上感兴趣的刻度。 用XTick、YTick、ZTick。如图1. 如:x=0:0.1:10;y=x.^2;h=plot(x,y,'o',x,y);set(gca,'YTick',[0,10,25,50,80,99],'XTick',[0.5,8,10]); 用XTickLabel、YTickLabel、ZTickLabel属性把标记标签从数值改为字符串。如图2. 如将y轴上的值80用字符串代替:x=0:0.1:10;y=x.^2;h=plot(x,y,'o',x,y); set(gca,'YTickLabel','0|10|25|50|cutoff|99'); 图1 图2 2.使用多个x轴和y轴

XAxisLocation和YAxisLocation属性指定在图形的哪一侧放置x轴和y轴。如图3. x1=0:0.01:10;y1=sin(x1); h1=line(x1,y1,'Color','r'); ax1=gca;set(ax1,'XColor','r','YColor','r'); ax2=axes('Position',get(ax1,'Position'),'XAxisLocation','top','YAxisLocation','right','Color','none',' XColor','k','YColor','k'); x2=x1;y2=cos(x2); h2=line(x2,y2,'Color','k','Parent',ax2); 图3 3.连接图形与变量(更新自变量或因变量的值) 用数据源属性XDataSource、YDataSource、ZDataSource及refreshdata.可以做动画。 t=0:0.01:2*pi; y=exp(sin(t)); h=plot(t,y,'YDataSource','y'); for k=1:0.1:20 y=exp(sin(t.*k)); refreshdata(h,'caller'); drawnow; pause(0.1); end 4.创建组(Hggroup)对象 将每个Hggroup子对象的HitTest属性值设置为off,使得单击任何子对象时,可以选择所有子对象。

MATLAB画图函数plot()7页word文档

MATLAB图像生成函数Plot()总结 一、基本形式 (1)>> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。 (2)>> x=linspace(0,2*pi,30); % 生成一组线性等距的数值 >> y=sin(x); >> plot(x,y) 生成的图形是上30个点连成的光滑的正弦曲线。 二、多重线 (1)在同一个画面上可以画许多条曲线,只需多给出几个数组: >> x=0:pi/15:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) (2)利用hold命令。在已经画好的图形上,若设置hold on,MATLA 将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。例如: >> x=linspace(0,2*pi,30); y=sin(x); plot(x,y) >> hold on >> z=cos(x); plot(x,z) >> hold off 三、线型和颜色 MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下: (1)线型线方式: - 实线 :点线 -. 虚点线 - - 波折线。 (2)线型点方式: . 圆点 +加号 * 星号 x x形 o 小圆 (3)颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青. 以下面的例子说明用法: >> x=0:pi/15:2*pi;

>> y1=sin(x); y2=cos(x); >> plot(x,y1,’b:+’,x,y2,’g-.*’) 四、改变坐标轴 (1)网格和标记 在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。 >> x=linspace(0,2*pi,30); y=sin(x); z=cos(x); >> plot(x,y,x,z) >> grid >> xlabel(‘Independent Variable X’) >> ylabel(‘Dependent Variables Y and Z’) >> title(‘Sine and Cosine Curves’) (2)在坐标轴加字符: >> text(2.5,0.7,’sinx’) 表示在坐标x=2.5, y=0.7处加上字符串sinx。更方便的是用鼠标来确定字符串的位置,方法是输入命令: >> gtext(‘sinx’) 在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。 (3)坐标系的控制 在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有: axis([xmin xmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值 axis equal 或 axis(‘equal’) x轴和y轴的单位长度相同 axis square 或 axis(‘square’) 图框呈方形 axis off 或 axis(‘off’) 清除坐标刻度 还有axis auto axis image axis xy axis ij axis normal axis on axis(axis) 用法可参考在线帮助系统。 五、多幅图形 (1)可以在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;

(完整版)matlab的一些画图技巧

matlab中如何在指定一点画一个填充颜色的小圆 plot(1,1,'r.','markersize',50) 二维作图 绘图命令plot绘制x-y坐标图;loglog命令绘制对数坐标图;semilogx和semilogy命令绘制半对数坐标图;polor命令绘制极坐标图. 基本形式 如果y是一个向量,那么plot(y)绘制一个y中元素的线性图.假设我们希望画出 y=[0., 0.48, 0.84, 1., 0.91, 6.14 ] 则用命令:plot(y) 它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y的下标编号, n为向量y的长度 Matlab会产生一个图形窗口,显示如下图形,请注意:坐标x和y是由计算机自动绘出的. 图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14])

上面的图形没有加上x轴和y轴的标注,也没有标题.用xlabel,ylabel,title 命令可以加上. 如果x,y是同样长度的向量,plot(x,y)命令可画出相应的x元素与y元素的x-y坐标图.例: x=0:0.05:4*pi; y=sin(x); plot(x,y) grid on, title(' y=sin( x )曲线图' ) xlabel(' x = 0 : 0.05 : 4Pi ') 结果见下图. 图4.1.1.2 y=sin(x)的图形 title图形标题 xlabel x坐标轴标注 ylabel y坐标轴标注 text标注数据点

legend 在右上角加解释 文字 grid给图形加上网格 hold保持图形窗口的图形 表4.1.1.1 Matlab图形命令 多重线 在一个单线图上,绘制多重线有三种办法. 第一种方法是利用plot的多变量方式绘制: plot(x1,y1,x2,y2,...,xn,yn) x1,y1,x2,y2,...,xn,yn是成对的向量,每一对x, y在图上产生如上方式的单线.多变量方式绘图是允许不同长度的向量显示在同一图形上.第二种方法也是利用plot绘制,但加上hold on/off命令的配合:plot(x1,y1) hold on plot(x2,y2) hold off 第三种方法还是利用plot绘制,但代入矩阵:

Matlab中plot函数及legend函数详解及实例

Matlab中plot函数及legend函数详解及实例 作者--乘江枫 Matlab中plot函数全功能解 功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue,...) plot(axes_handle,...) h = plot(...) hlines = plot('v6',...) 描述 plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线;如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y));其它使用情况下,忽略坐标数据中的虚部。 plot(X1,Y1,...)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。

plot(X1,Y1,LineSpec,...)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形 plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...) 此时完全等效于 plot(X1,Y1,LineSpec1,...) hlod all plot(X2,Y2,LineSpec2,...) MATLAB中提供的线型属性有:

MATLAB中绘图命令介绍

MATLAB中绘图命令介绍 本节将介绍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函数即可: hold on 保持当前图形,以便继续画图到当前坐标窗口 hold off 释放当前图形窗口 title(’图形名称’)(都放在单引号内) xlabel(’x轴说明’) ylabel(’y轴说明’)

text(x,y,’图形说明’) legend(’图例1’,’图例2’,…) plot(x, sin(x), x, cos(x)); 若要改变颜色,在座标对後面加上相关字串即 可: plot(x, sin(x), 'c', x, cos(x), 'g'); 若要同时改变颜色及图线型态,也是在座标对後 面加上相关字串即可: plot(x, sin(x), 'co', x, cos(x), 'g*'); 小整理:plot绘图函数的叁数字元、颜色元、 图线型态, y 黄色 .点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线plot3 三维曲线作图 图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]); axis函数的功能丰富,其常用的用法有: axis equal :纵横坐标轴采用等长刻度 axis square:产生正方形坐标系(默认为矩形)

Matlab中使用Plot函数动态画图方法

Matlab中使用Plot函数动态画图方法总结 本文来自: MATLAB爱好者论坛(MATLABFAN) 作者: admin日期: 2009-8-17 11:23 阅读: 550人打印收藏大中小 Plot, Matlab, 函数, 动态, 画图 Matlab除了强大的矩阵运算,仿真分析外,绘图功能也是相当的强大,静态画图没什么问题,由于Matlab本身的多线程编程缺陷,想要动态的画图,并且能够很好的在GUI中得到控制,还不是一件很容易的事情,下面总结几种方法。 一. AXIS 移动坐标系 这种方法是最简单的一种方法,适合于数据已经全部生成的场合,先画图,然后移动坐标轴。实例代码如下: 1.%% 2.%先画好,然后更改坐标系 3.%在命令行中使用Ctrl+C结束 4.t=0:0.1:100*pi; 5.m=sin(t); 6.plot(t,m); 7.x=-2*pi; 8.axis([x,x+4*pi,-2,2]); 9.grid on 10.while 1 11.if x>max(t) 12.break; 13.end 14.x=x+0.1; 15.axis([x,x+4*pi,-2,2]); %移动坐标系 16.pause(0.1); 17.end 复制代码

二. Hold On 模式 此种方法比较原始,适合于即时数据,原理是先画上一帧,接着保留原始图像,追加下一幀图像,此种方式比较繁琐,涉及画图细节,并且没有完整并连续的Line对象数据。 例如: 1.%% 2.% Hold On 法 3.% 此种方法只能点,或者分段划线 4.hold off 5.t=0; 6.m=0; 7.t1=[0 0.1]; %要构成序列 8.m1=[sin(t1);cos(t1)]; 9.p = plot(t,m,'*',t1,m1(1,:),'-r',t1,m1(2,:),'-b','MarkerSize',5); 10.x=-1.5*pi; 11.axis([x x+2*pi -1.5 1.5]); 12.grid on; 13. 14.for i=1:100 15. hold on 16. t=0.1*i; %下一个点 17. m=t-floor(t); 18. t1=t1+0.1; %下一段线(组) 19. m1=[sin(t1);cos(t1)]; 20. p = plot(t,m,'*',t1,m1(1,:),'-r',t1,m1(2,:),'-b','MarkerSize',5); 21. x=x+0.1; 22. axis([x x+2*pi -1.5 1.5]); 23. pause(0.01); 24.end 复制代码

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 黑点标记

相关文档
最新文档