Matlab 绘图与图形处理 下载本文

内容发布更新时间 : 2024/4/20 16:24:51星期一 下面是文章的全部内容请认真阅读。

MATLAB6.0数学手册

第7章 绘图与图形处理

人们很难从一大堆原始的数据中发现它们的含义,而数据图形恰能使视觉感官直接感受到数据的许多内在本质,发现数据的内在联系。MATLAB可以表达出数据的二维,三维,甚至四维的图形。通过图形的线型,立面,色彩,光线,视角等属性的控制,可把数据的内在特征表现得淋漓尽致。下面我们分别介绍图形的命令。

7.1 二维图形

7.1.1 基本平面图形命令

命令1 plot

功能 线性二维图。在线条多于一条时,若用户没有指定使用颜色,则plot循环使用由当前坐标轴颜色顺序属性(current axes ColorOrder property)定义的颜色,以区别不同的线条。在用完上述属性值后,plot又循环使用由坐标轴线型顺序属性(axes LineStyleOrder property)定义的线型,以区别不同的线条。

用法 plot(X,Y) 当X,Y均为实数向量,且为同维向量(可以不是同型向量),X=[x(i)],

Y=[y(i)],则plot(X,Y)先描出点(x(i),y(i)),然后用直线依次相连;若X,Y为复数向量,则不考虑虚数部分。若X,Y均为同维同型实数矩阵,X = [X(i)],Y = [Y(i)],其中X(i),Y(i)为列向量,则plot(X,Y)依次画出plot(X(i),Y(i)),矩阵有几列就有几条线;若X,Y中一个为向量,另一个为矩阵,且向量的维数等于矩阵的行数或者列数,则矩阵按向量的方向分解成几个向量,再与向量配对分别画出,矩阵可分解成几个向量就有几条线;在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。 plot(Y) 若Y为实数向量,Y的维数为m,则plot(Y)等价于plot(X,Y),其中

x=1:m;若y为实数矩阵,则把y按列的方向分解成几个列向量,而y 的行数为n,则plot(Y)等价于plot(X,Y)其中x=[1;2;…;n];在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。

plot(X1,Y1,X2,Y2,…),其中Xi与Yi成对出现,plot(X1,Y1,X2,Y2,…)将分别

按顺序取两数据Xi与Yi进行画图。若其中仅仅有Xi或Yi是矩阵,其余的为向量,向量维数与矩阵的维数匹配,则按匹配的方向来分解矩阵,再分别将配对的向量画出。

plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2…) 将按顺序分别画出由三参数定义

Xi,Yi,LineSpeci的线条。其中参数LineSpeci指明了线条的类型,标记符号,和画线用的颜色。在plot 命令中我们可以混合使用三参数和二参数的

228 第7章 绘图与图形处理

形式:

plot(X1,Y1,LineSpec1,X2,Y2,X3,Y3,LineSpec3)

plot(…,'PropertyName',PropertyValue,…) 对所有的用plot生成的line图

形对象中指定的属性进行恰当的设置。

h = plot(…) 返回line图形对象句柄的一列向量,一线条对应一句柄值。 说明 参数LineSpec

功能 定义线的属性。Maltab允许用户对线条定义如下的特性: 1.线型

表7-1

定义符 线型 - 实线(缺省值) -- 划线 : 点线 -. 点划线 2.线条宽度

指定线条的宽度,取值为整数(单位为像素点) 3.颜色

表7-2

定义符 颜色 定义符 颜色 R(red) 红色 M(magenta) 品红 G(green) 绿色 y(yellow) 黄色 b(blue) 兰色 k(black) 黑色 c(cyan) 青色 w(white) 白色 4.标记类型 表7-3

定义符 标记类型 定义符 标记类型 定义符 标记类型 + 加号 d 棱形 s 正方形 o(字母) 小圆圈 ^ 向上三角形 h 正六角星 * 星号 v 向下三角形 P 正五角星 . 实点 > 向右三角形 x 交叉号 < 向左三角形 5.标记大小 指定标记符号的大小尺寸,取值为整数(单位为像素) 6.标记面填充颜色

指定用于填充标记符面的颜色。取值在上表。 7.标记周边颜色

指定标记符颜色或者是标记符(小圆圈、正方形、棱形、正五角星、正六角星和四个方向的三角形)周边线条的颜色。取值在上表。

在所有的能产生线条的命令中,参数LineSepc可以定义线条的下面三个属性:线型、标记符号、颜色进行设置。对线条的上述属性的定义可用字符串来定义,如:plot(x,y,'-.or')

结合x和y,画出点划线(-.),在数据点(x,y)处画出小圆圈(o),线和标记都用红色画出。其中定义符(即字符串)中的字母、符号可任意组合。若没有定义符,则画图命令plot自动用缺省值进行画图。若仅仅指定了标记符,而非线型,则plot只在数据点画出

229 MATLAB6.0数学手册

标记符。如:plot(x,y,’d’)

例7-1

>>t = 0:pi/20:2*pi;

>>plot(t,t.*cos(t),'-.r*') >>hold on

>>plot(exp(t/100).*sin(t-pi/2),'--mo') >>plot(sin(t-pi),':bs') >>hold off

图形结果为图7-1。 例7-2

>>plot(t,sin(2*t),'-mo', 'LineWidth',2,'MarkerEdgeColor','k',… 'MarkerFaceColor',[.49 1 .63],'MarkerSize',12)

图形结果为图7-2。

图7-1 二维曲线图 图7-2 二维图形的绘制

命令2 fplot

功能 在指定的范围limits内画出一元函数y=f(x)的图形。其中向量x的分量分布在指定的范围内,y是与x同型的向量,对应的分量有函数关系:y(i)=f(x(i))。若对应于x的值,y返回多个值,则y是一个矩阵,其中每列对应一个f(x)。例如,f(x)返回向量[f1(x),f2(x),f3(x)],输入参量x=[x1;x2;x3],则函数f(x)返回矩阵

f1(x1) f2(x1) f3(x1) f1(x2) f2(x2) f3(x2) f1(x3) f2(x3) f3(x3)

注意一点的是,函数function必须是一个m-文件函数或者是一个包含变量x,且能用函数eval计算的字符串。例如:’sin(x)*exp(2*x)’,’[sin(x),cos(x)]’,’hump(x)’。

用法 fplot('function',limits) 在指定的范围limits内画出函数名为function的

一元函数图形。其中limits是一个指定x-轴范围的向量[xmin xmax]或者是x轴和y轴的范围的向量[xmin xmax ymin ymax]。

fplot('function',limits,LineSpec) 用指定的线型LineSpec画出函数function。

fplot('function',limits,tol) 用相对误差值为tol画出函数function。相对

误差的缺省值为2e-3。

fplot('function',limits,tol,LineSpec) 用指定的相对误差值tol和指定的

230