《第三讲Matlab绘图案例》由会员分享,可在线阅读,更多相关《第三讲Matlab绘图案例(46页珍藏版)》请在金锄头文库上搜索。
1、Matlab 绘图Matlab 绘图绘图如何画出如何画出 ysin(x) 在在 0, 2*pi 上的图像?上的图像?q 手工作图手工作图Matlab 绘图绘图u 找点:找点: x=0, pi/4, pi/2, 3*pi/4, pi, u 计算函数值:计算函数值: y=sin(0), sin(pi/3), sin(pi/2), u 描点:在坐标系中画出这些离散点描点:在坐标系中画出这些离散点u 用直线或曲线连接这些点,得到函数的大致图形用直线或曲线连接这些点,得到函数的大致图形q Matlab 作图作图Matlab 绘图绘图u 给出离散点列:给出离散点列: x=0:pi/10:2*piu 计算函
2、数值:计算函数值: y=sin(x)u 画图:用画图:用 matlab 二维绘图命令二维绘图命令 plot 作出函数图形作出函数图形 plot(x,y) 例例: x=0:pi/10:2*pi; y=sin(x); plot(x,y);Matlab 二维作图二维作图u plot(x,y)q 基本形式基本形式l x, y 都是向量,则以都是向量,则以 x 中元素为横坐标,中元素为横坐标, y 中元素为中元素为纵坐标作平面曲线。此时纵坐标作平面曲线。此时 x, y 必须具有必须具有相同长度相同长度。 x, y 都是矩阵,则将都是矩阵,则将 x 的列和的列和 y 中相应的列相组合,中相应的列相组合,绘
3、制多条平面曲线。此时绘制多条平面曲线。此时 x, y 必须具有必须具有相同的大小相同的大小。 x 是向量是向量, y 是矩阵,若是矩阵,若 x 的长度与的长度与 y 的行数相等,的行数相等,则将则将 x 与与 y 中的各列相对应,绘制多条平面曲线;否中的各列相对应,绘制多条平面曲线;否则,若则,若 x 的长度与的长度与 y 的列数相等,则将的列数相等,则将 x 与与 y 中的各中的各行相对应,绘制多条平面曲线。此时行相对应,绘制多条平面曲线。此时 x 的长度必须等的长度必须等于于 y 的行数或列数的行数或列数。plot 举例举例 x=0:0.1:4*pi; y=cos(x); plot(x,y
4、);例例:y=cos(x) 在在 0, 4*pi 上的图像上的图像自己动手指出以下各个绘图命令的输出图形分别是什么,并上机验证指出以下各个绘图命令的输出图形分别是什么,并上机验证 t=0 1; x=1 2; y=x;3 4; z=y;5 6; plot(t,x); plot(t,y); plot(t,y); plot(t,z); plot(t,z);Matlab 二维作图二维作图u plot(y): : 绘制绘制向量向量 y 中中元素的线性图元素的线性图q 基本形式基本形式(续)(续)例例: y=0,0.48,0.84,1,0.91,6.14; plot(y); figure(2); plot
5、(1:length(y), y)自己动手x=1:length(y);plot(x,y);以下标为横坐标,元素值为纵坐标,以下标为横坐标,元素值为纵坐标,等价于:等价于:plot(Y): : 当当 Y 是矩阵时的图形是什么?是矩阵时的图形是什么? Y=1 2; 3 3; 2 5; plot(Y); plot(Y); q 点和线的基本属性点和线的基本属性图形的属性图形的属性u plot(x,y,string)其中其中 string 是用是用 单引号单引号 括起来的字符串,用来指定图括起来的字符串,用来指定图形的属性形的属性(点、线的形状和颜色)(点、线的形状和颜色)属性可以全部指定,也属性可以全部
6、指定,也可以只指定其中某几个可以只指定其中某几个排列顺序任意排列顺序任意红色、虚线、红色、虚线、离散点用加号离散点用加号蓝色、点划线蓝色、点划线离散点为菱形离散点为菱形黑色、实线黑色、实线离散点用星号离散点用星号 x=0:0.2:2*pi; plot(x,cos(x); plot(x,cos(x),r+:); plot(x,cos(x),bd-.); plot(x,cos(x),k*-);图形的基本属性图形的基本属性线型线型点标记点标记颜色颜色- - 实线实线: : 虚线虚线-.-. 点划线点划线- 间断线间断线. . 点点o o 小圆圈小圆圈x x 叉子符叉子符+ + 加号加号* * 星号星
7、号s s 方格方格d d 菱形菱形 朝上三角朝上三角v v 朝下三角朝下三角 朝右三角朝右三角 legend(cos(x);例例:图形的其他属性图形的其他属性u 在指定地方添加文本text(x,y,string1,string2, .) text(pi/2,cos(pi/2),leftarrowy=cos(x);xlable, ylabel, text 命令也可以指定文本的属性直观方法:可以直接在图象上进行编辑其他相关命令其他相关命令u 保持当前窗口的图像hold on 或或 hold offu 新建绘图窗口figure(n)u 显示网格grid on 或或 grid off其他相关命令其他相
8、关命令u 划分绘图区域subplot(m,n,p)怎样在一个怎样在一个绘图区域绘图区域内绘制多个函数的图像内绘制多个函数的图像 ?将一个绘图窗口分割成将一个绘图窗口分割成 m*n 个子区域,并个子区域,并 按行按行 从左至从左至右右 依次编号依次编号 。p 表示第表示第 p 个绘图子区域。个绘图子区域。 x=-pi:pi/10:pi; subplot(2,2,1);plot(x,sin(x); subplot(2,2,2);plot(x,cos(x); subplot(2,2,3);plot(x,x.2); subplot(2,2,4);plot(x,exp(x);例例:同时绘制多个函数图像同
9、时绘制多个函数图像u plot(x1,y1,s1,x2,y2,s2, . ,xn,yn,sn)属性选项属性选项可以省略可以省略等价于:等价于:hold onplot(x1,y1,s1)plot(x2,y2,s2).plot(xn,yn,sn)图形的其他属性图形的其他属性 x=-pi:pi/10:pi; y=sin(x); plot(x,y,rh:,linewidth,2, . markeredgecolor,b, . markerfacecolor,g)例例:q 线条的粗细,字体大小,坐标轴属性等。linewidth: 指定线条的粗细指定线条的粗细markeredgecolor: 指定标记的边
10、缘色指定标记的边缘色markerfacecolor: 指定标记表面的颜色指定标记表面的颜色注:注:1) 属性与属性的值是成对出现的属性与属性的值是成对出现的 2) 更多属性参见更多属性参见 plot 的联机帮助的联机帮助空间三维作图空间三维作图q 三维曲线 : plot3设三维曲线的参数方程为:x=x(t),y=y(t),z=z(t),则其图形可由下面的命令绘出:例:例:三维螺旋线三维螺旋线plot3的用法与的用法与 plot 类似类似 t=0:0.1:10*pi; x=2*t; y=sin(t); z=cos(t); plot3(x,y,z);plot3(x,y,z,s)空间三维作图空间三维
11、作图q 空间曲面 空间三维作图空间三维作图q 空间曲面 l mesh(Z) :绘出矩阵绘出矩阵 Z 的三维消隐图。的三维消隐图。l mesh(x,y,Z) x, y 是向量,是向量,length(x)=n,length(y)=m,m,n=size(Z)l mesh(X,Y,Z) 绘制由矩阵绘制由矩阵 X,Y,Z 所确定的曲面所确定的曲面网格图网格图空间三维作图空间三维作图q 带等高线的带等高线的空间曲面 meshc调用方式与调用方式与 mesh 相同,在相同,在 mesh 基础上增加等高线基础上增加等高线meshz调用方式与调用方式与 mesh 相同,在相同,在 mesh 基础上屏蔽边界面基础
12、上屏蔽边界面q 屏蔽边界面的屏蔽边界面的空间曲面 空间三维作图空间三维作图u 网格生成函数:网格生成函数:meshgridx, y 为给定的向量,为给定的向量,X, Y 是网格划分后得到的网格矩阵是网格划分后得到的网格矩阵u 绘制由函数绘制由函数 z=z(x,y) 确定的曲面时,首先需产生一确定的曲面时,首先需产生一个网格矩阵,然后计算函数在各网格点上的值。个网格矩阵,然后计算函数在各网格点上的值。若 x = y, 则可简写为 X,Y= meshgrid(x)X,Y= meshgrid(x,y)空间三维作图空间三维作图 x=-8:0.5:8; y=-8:0.5:8; X,Y=meshgrid(
13、x,y); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; mesh(X,Y,Z)例:由函数 确定的曲面绘图区域取为 -8,8-8,8q 点点 线线二维作图机制二维作图机制例:y = sin(x), 0 x x=0:0.5:2*pi; y=sin(x); plot(x,y,.)先画点,后连线一、画点一、画点q 点点 线线二维作图举例二维作图举例例:y = sin(x), 0 x x=0:0.5:2*pi; y=sin(x); plot(x,y,r.-)先画点,后连线二、连线二、连线二维作图举例二维作图举例 x=0:0.1:2*pi; y=sin(x); plot(x,y,.
14、)加密:取更多的点加密:取更多的点 x=0:0.1:2*pi; y=sin(x); plot(x,y,.-) x=0:0.1:2*pi; y=sin(x); plot(x,y)q 例:三维螺线 Matlab 空间曲线绘图举例空间曲线绘图举例x=t, y=sin(t), z=cos(t), 0 t t=0:0.5:20; x=t; y=sin(t); z z=cos(t); plot3(x,y,z,.-) t=0:0.5:20; x=t; y=sin(t); z z=cos(t); plot3(x,y,z,.)空间曲线作图举例空间曲线作图举例 t=0:0.1:20; x=t; y=sin(t);
15、 z z=cos(t); plot3(x,y,z) t=0:0.1:20; x=t; y=sin(t); z z=cos(t); plot3(x,y,z,.-)线线: 分别沿分别沿 x 方向和方向和 y 方向方向 连接这些点即可得到连接这些点即可得到空间曲面作图空间曲面作图先画点 (x,y,z),后连线,构成曲面网格图点点: :q 例:“墨西哥帽子”空间曲面作图举例空间曲面作图举例( a x a, -a y x=-8:0.5:8; y=-8:0.5:8; X,Y=meshgrid(x,y); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; mesh(X,Y,Z)1) x 与
16、 y 可以取不同的步长2) 注意这里采用的数组运算epseps?最后一个命令能否改为最后一个命令能否改为 mesh(Z)?X,Y=meshgrid(-8:0.5:8);例:绘制等高线 meshc空间曲面作图举例空间曲面作图举例 X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; meshc(X,Y,Z)例:绘制边界面屏蔽 meshz空间曲面作图举例空间曲面作图举例 X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; meshz(X,Y,Z)空间三维作图空间三维作图q
17、空间曲面其它作图函数 u sphere(n) 专用于绘制单位球面专用于绘制单位球面mesh 绘制网格图,surf 绘制着色的三维表面图u surf(X,Y,Z) 绘制由矩阵绘制由矩阵 X,Y,Z 所确定的曲面图,参数含义同所确定的曲面图,参数含义同 meshsphere 只能画单位球面!只能画单位球面!自己动手绘制球面绘制球面 x2 + y2 + z2 = 16X,Y,Z=sphere(n)surf 作图举例作图举例 X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; surf(X,Y,Z)mesh 与与 surf 的比较的比较如
18、果没有给出如果没有给出 n 的值,的值,则系统默认为则系统默认为 n=20sphere 作图作图u 其它调用方式:axis auto 自动模式,使得图形的坐标满足图中的一切元素自动模式,使得图形的坐标满足图中的一切元素axis equal 各坐标轴采用等长刻度各坐标轴采用等长刻度axis square 使绘图区域为正方形使绘图区域为正方形axis on/off 恢复恢复/取消对坐标轴的一切设置取消对坐标轴的一切设置axis manual 以当前的坐标限制图形的绘制(多图时)以当前的坐标限制图形的绘制(多图时) 更多参见更多参见 axis 的联机帮助的联机帮助坐标轴控制坐标轴控制axis(xmi
19、n, xmax, ymin, ymax, zmin, zmax)作用:控制坐标轴的显示范围作用:控制坐标轴的显示范围q 坐标轴控制命令: axisu r, g, b 都是 0 1 之间的一个数u s 为字符串,表示所采用的色系,常用的值有颜色映象颜色映象 相应的颜色系相应的颜色系 颜色映象颜色映象 相应的颜色系相应的颜色系autumn红黄色系红黄色系hsv色调饱和色系色调饱和色系gray线性灰色系线性灰色系hot黑红黄白色系黑红黄白色系cool青和洋红色系青和洋红色系 pink柔和色系柔和色系图像的着色方案图像的着色方案colormap(r g b) 或或 colormap(s)q color
20、map: 设置绘图的着色方案u ezplot(f)Matlab 符号作图符号作图q 二维曲线绘图: ezplotu ezplot(f,a,b)u ezplot(f(x,y)u ezplot(f(x,y),a,b,c,d)u ezplot(f,g,a,b)缺省的绘图区间为缺省的绘图区间为 -2 , 2 例:ezplot 作图作图Matlab 符号作图符号作图q 空间曲线绘图: ezplot3缺省的绘图区间为缺省的绘图区间为 0, 2 u ezplot3(x,y,z,a,b)u ezplot3(x,y,z)Matlab 符号作图符号作图q 空间曲面绘图: ezmesh、ezsurfu ezmesh
21、(z(x,y),a,b,c,d)u ezmesh(z(x,y),a,b)u ezmesh(z(x,y)u ezmesh(x(s,t),y(s,t),z(s,t),a,b,c,d)u ezmesh(x(s,t),y(s,t),z(s,t),a,b)u ezmesh(x(s,t),y(s,t),z(s,t)ezsurf 的用法与 ezmesh 相同上机作业上机作业u 利用 plot 函数在一个坐标系下绘制以下函数的图形:y1 用黑色间断线点标记为星号y2 用红色实线点标记为小方格y3 用蓝色虚线点标记为小圆圈要求:u 教材第 54 页 6、7、8。人有了知识,就会具备各种分析能力,人有了知识,就会
22、具备各种分析能力,明辨是非的能力。明辨是非的能力。所以我们要勤恳读书,广泛阅读,所以我们要勤恳读书,广泛阅读,古人说古人说“书中自有黄金屋。书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,给我们巨大的精神力量,鼓舞我们前进鼓舞我们前进。