matlab基本画图函数plot

matlab基本画图函数plot
matlab基本画图函数plot

matlab中最基本的函数plot()的用法(2011-12-13 19:17:29)转载▼标签: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)

图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 图形修饰函数表

函数含义

grid on (/off) 给当前图形标记添加(取消)网络

xlable(‘string’) 标记横坐标

ylabel(‘string’) 标记纵坐标

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

text(x,y,’string’) 在图形的任意位置增加说明性文本信息

gtext(‘string’) 利用鼠标添加说明性文本信息

axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值

- 3 -

例5.1.2 给例5.1.1 的图形中加入网络和标记。(见图5.1.3 和5.1.4)>> 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 使用了图形修饰的plot 函数绘制的正弦曲线

5.1.3 图形的比较显示

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

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

subplot(m,n,k)函数,将图形窗口分隔成n m×个子图,并选择第k 个子图作为当前图形,然

后在同一个视图窗口中画出多个小图形。

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

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

>> y1=sin(x);

>> y2=cos(x);

>> y3=x;

- 4 -

>> 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);

[说明] (1)子窗口的序号按行由上往下,按列从左向右编号。(2)如果不用指令clf 清除,以后图形将被绘制在子图形窗口中。图5.1.4 设置坐标轴最大最小值的正弦曲线

- 5 -

图5.1.5 图形的比较显示(曲线叠加方法)

图5.1.6 图形的比较显示(图形窗口分割方法)

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 绘制的三维曲线图

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*ex

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;

第5/9页>> 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 中不为零的部分会被分开。

第6/9页图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

第7/9页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 指令将把当前图形调入前台,同时光标变为十字叉,移动光标,使交叉点落在

第8/9页目标点上,单击鼠标,即可获得该点数据。例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 小知识 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绘图功能大全

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中使用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函数画图

MATLAB函数画图(2) MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。本节将介绍MA TLAB基本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绘图函数的叁数 字元颜色字元图线型态 y 黄色. 点 k 黑色o 圆 w 白色x x b 蓝色+ + g 绿色* * r 红色- 实线 c 亮青色: 点线 m 锰紫色-. 点虚线 -- 虚线 ==================================================== 图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]); 此外,MA TLAB也可对图形加上各种注解与处理: xlabel('Input Value'); % x轴注解 ylabel('Function Value'); % y轴注解

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之绘图函数

Matlab之绘图函数 为了显示三维图形,MATLAB提供了各种各样的函数。有一些函数可在三维空间中画线,而另一些可以画曲面与线格框架。另外,颜色可以用来代表第四维。当颜色以这种方式使用时,由于它不再象照片中那样显示信息的自然属性----色彩,而且也不是基本数据的内在属性,所以它称作伪彩色。为了简化对三维图形的讨论,对颜色的介绍推迟到下一章。在这一章,主要讨论绘制三维图形的基本概念。 以下所讨论的函数和它们的特征总结在表2、表3、表4和表5中: 表2 contour二维等值线图,即从上向下看contour3等值线图contour3等值线图fill3填充的多边形mesh 网格图meshc具有基本等值线图的网格图meshz有零平面的网格图pcolor二维伪彩色绘图,即从上向下看surf图plot3直线图quiver二维带方向箭头的速度图surf曲面图surfc具有基本等值线图的曲面图surfl带亮度的曲面图waterfall无交叉线的网格图 表示3 axis修正坐标轴属性clf清除图形窗口clabel放置等值线标签close关闭图形窗口figure创建或选择图形窗口getframe捕捉动画桢grid放置网格griddata对画图用的数据进行内插hidden隐蔽网格图线条hold保留当前图形meshgrid产生三维绘图数据movie放动画moviein创建桢矩阵,存储动画shading 在曲面图和伪彩色图中用分块、平滑和插值加阴影subplot在图形窗口内画子图text在指定的位置放文本title放置标题view改变图形的视角xlabel放置x轴标记ylabel放置y轴标记zlabel放置z轴标记 表4 view(az,el)设置视图的方位角az和仰角elview([az,el])view([x,y,z])在笛卡儿坐标系中沿向量[x,y,z]正视原点设置视图,例如view([0 0 1])=view(0,90)view(2)设置缺省的二维视图,az=0, el=90view(3)设置缺省的三维视图,az=-37.5,el=30[az,el]=view返回当前的方位角az和仰角elview(T)用一个4×4的转置矩阵T来设置视图T=view返回当前的4×4转置矩阵 表5 mmcont2(X,Y,Z,C)具有颜色映象的二维等值线图mmcont3(X,Y,Z,C)具有颜色映象的三维等值线图mmspin3d(N)旋转当前图形的三维方位角来制作动画mmview3d用滑标来调整视角 另外提醒一点,Matlab的reshape函数是列优先的,如: y = 1 2 3 4 5 6 reshape(y,3,2)= 1 4 2 5 3 6 而不是 1 2 3 4 5 6 https://www.360docs.net/doc/4b12700698.html,/blog/static/816261002008111631157417/ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 一、直接绘图函数 直接绘图函数有两个,fplot和ezplot 1.fplot fplot命令的调用格式主要有: (1)fplot(fun,lims,str,tol):直接绘制函数y=fun(x)的图形。其中,lims为一个向量,若lims只包含两个元素则表示x轴的范围:[xmin,xmax]。若lims包含四个元素则前两个元素表示x轴的范围:[xmin,xmax],后两个元素表示y轴的范围:[ymin,ymax]。str可以指定图形的线型和颜色。tol的值小于1,代表相对误差,默认值为0.002,即0.2%。 >>fplot(@humps,[-1,5]) %在[-1,5]范围内绘制函数humps 上述命令中,@humps表示以函数句柄的形式引用函数。(C:\Program Files\MATLAB\R2009a\toolbox\matlab\demos\humps.m)。

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的基本绘图方法 一、实验目的 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绘制一元函数与二元函数的图象

实验二 用matlab 绘制一元函数与二元函数的图象 1.平面曲线的表示形式 对于平面曲线,常见的有三种表示形式,即以直角坐标方程],[),(b a x x f y ∈=,以参数方程],[),(),(b a t t y y t x x ∈==,和以极坐标],[),(b a r r ∈=??表示等三种形式。 2.曲线绘图的MATLAB 命令 MATLAB 中主要用plot,fplot 二种命令绘制不同的曲线。 可以用help plot, help fplot 查阅有关这些命令的详细信息 例16.2.1 作出函数x y x y cos ,sin ==的图形,并观测它们的周期性。先作函数 x y sin =在]4,4[ππ-上的图形,用MA TLAB 作图的程序代码为: >>x=linspace(-4*pi,4*pi,300); %产生300维向量x >>y=sin(x); >>plot(x,y) %二维图形绘图命令 结果如图1.1,上述语句中%后面如“%产生300维向量x ”是说明性语句,无需键入。 图1.1 的图形 此图也可用fplot 命令,相应的MATLAB 程序代码为: >>clear; close; %clear 清理内存;close 关闭已有窗口。 >>fplot('sin(x)',[-4*pi,4*pi]) 结果如图1.2.

图1.2 x y sin =的图形 如果在同一坐标系下作出两条曲线 x y sin =和x y cos =在] 2, 2 [π π -上的图形,相应 的MA TLAB程序代码为: >>x=-2*pi:2*pi/30:2*pi; %产生向量x >>y1=sin(x); y2=cos(x); >>plot(x,y1,x,y2,’:’)%’:’表示绘出的图形是点线 结果如图1.3其中实线是 x y sin =的图形,点线是x y cos =的图形。 图1.3的图形

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画图技巧方法

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绘图函数共22页文档

一、MATLAB通用图形函数命令 有关命令行环境的一些操作: (1) clc 擦去一页命令窗口,光标回 屏幕左上角 (2) clear 从工作空间清除所有变量 (3) clf 清除图 形窗口内容 命令1 figure 功能创建一个新的图形对象。图形对象为在屏幕上单独的窗口,在窗口中可以输出图形。 用法 figure 用缺省的属性值创建一个新的图形对象。 命令2 subplot 功能生成与控制多个坐标轴。把当前图形窗口分隔成几个矩形部分,不同的部分是按行方向以数字进行标号的。每一部分有一坐标轴,后面的图形输出于当前的部分中。 用法 subplot(m,n,p) 将一图形窗口分成m*n个小窗口,在第p个小窗口中创建一坐标轴。则新的坐标轴成为当前坐标轴。若p为一向量,则创建一坐标轴,包含所有罗列在p中的小窗口。 命令3 hold 功能保持当前图形窗口中的图形。该命令是决定是否在当前坐标轴中只能增加新的图形对象还是覆盖原有图形对象。 用法 hold on 保留当前图形与当前坐标轴的属性值,后面的图形命令只能在当前存在的坐标轴中增加图形。但是,当新图形的数据范围超出了当前坐标轴的范围,则命令会自动地改变坐标轴的范围,以适应新图形。 hold off 在画新图形之前,重新设置坐标轴的属性为缺省值。 命令4 axis 功能坐标轴的刻度与外在显示 用法 axis([xmin xmax ymin ymax]) 设置当前坐标轴的x-轴与y-轴的范围。 命令5 close

功能关闭指定的图形窗口。 用法 close 关闭当前的图形窗口。 二、MATLAB绘图参数控制 命令1 plot 功能这是最基本、最常用的绘图函数,用于绘制线性二维图。有多条曲线时,循环使用由坐标轴颜色顺序属性定义的颜色,以区别不同的曲线;之后再循环使用由坐标轴线型顺序属性定义的线型,以区别不同的曲线。 plot 作图时,可以通过四个参数选择控制曲线的类型。 1.线型(4种) 2 指定线条的宽度,取值为整数(单位为像素点) 例如:plot( x, y, ‘linewidth’, 4 ) 3.颜色(8种)

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绘图程序

常见的MATLAB绘图程序y=[3,7,9,1,5,2,8]; subplot(1,2,1),plot(y,'linewidth',2),grid x=[3,3,9;8,1,2;1,8,5;7,9,1]; subplot(1,2,2),plot(x),xlabel('x'),ylabel('y') grid on %极坐标曲线 theta=0:0.1:8*pi; polar(theta,cos(4*theta)+1/4) %对数坐标 x=0:0.1:2*pi; y=sin(x); semilogx(x,y); grid on %各种坐标系中 theta=0:0.1:6*pi; r=cos(theta/3)+1/9; subplot(2,2,1),polar(theta,r); subplot(2,2,2),plot(theta,r); subplot(2,3,4),semilogx(theta,r); subplot(2,3,5),semilogy(theta,r); subplot(2,3,6),loglog(theta,r); grid on %双y轴图形 x=0:0.01:5; y=exp(x); plotyy(x,y,x,y,'semilogy','plot'),grid grid on %复数数据 t=0:0.1:2*pi; x=sin(t); y=cos(t); z=x+i*y; plot(t,z),grid plot(z) grid on %二维图形处理 x=(0:0.1: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);

相关文档
最新文档