Matlab第四讲:Matlab绘图_第1页
Matlab第四讲:Matlab绘图_第2页
Matlab第四讲:Matlab绘图_第3页
Matlab第四讲:Matlab绘图_第4页
Matlab第四讲:Matlab绘图_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1数学软件数学软件 Matlab 二维平面作图二维平面作图 三维空间作图三维空间作图2本讲主要内容本讲主要内容n 二维平面作图二维平面作图n 三维空间作图三维空间作图n 符号作图符号作图n Matlab 绘图过程绘图过程/原理原理 3手工作图手工作图如何画出如何画出 ysin(x) 在在 0, 2 上的图像?上的图像?4手工作图手工作图l 找点找点: x=0, pi/4, pi/3, pi/2, pi, l 计算函数值计算函数值: y=sin(0), sin(pi/4), sin(pi/3), l 描点:在坐标系中画出这些离散点描点:在坐标系中画出这些离散点l 用直线或曲线连接这些点,得到函数

2、的大致图形用直线或曲线连接这些点,得到函数的大致图形q 手工作图手工作图5Matlab 绘图绘图l 给出离散点列给出离散点列: x = 0 : pi/10 : 2*pi;l 计算函数值计算函数值: y = sin(x);l 画图:用画图:用 matlab 二维绘图命令二维绘图命令 plot 作出函数图形作出函数图形 plot(x,y) x = 0 : pi/10 : 2*pi; y = sin(x); plot(x,y);例例:q Matlab 作图作图6二维作图命令二维作图命令q 平面绘图命令:平面绘图命令: plotl 这里这里 x, y 都是向量,以都是向量,以 x 中的元素为横坐标,中

3、的元素为横坐标, y 中的中的元素为纵坐标,作平面曲线。元素为纵坐标,作平面曲线。l向量向量 x, y 的长度必须的长度必须相同。相同。 x = 0: pi/10: 4*pi; y = cos(x); plot(x,y);例例:y = cos(x) 在在 0, 4 上的图像上的图像plot(x,y)7二维作图命令二维作图命令l 绘制绘制向量向量 y 的线性图的线性图例例: y =0, 0.4, 0.8, 1.0, 0.9, 6.1; plot(y);x=1:length(y); plot(x,y); 即以下标为横坐标,即以下标为横坐标,y 中的元素为纵坐标,等价于:中的元素为纵坐标,等价于:q

4、 平面绘图命令:平面绘图命令: plotplot(y)思考:思考:plot(y) 与与 plot(x,y) 有什么区别?有什么区别?8二维作图命令二维作图命令q 平面绘图命令:平面绘图命令: plotl 这里这里 x 是向量,是向量,A是矩阵。若是矩阵。若 x 的长度与的长度与 A 的行数相的行数相等,则将等,则将 x与与 A中的各列相对应,绘制多条平面曲线;中的各列相对应,绘制多条平面曲线;否则,若否则,若 x 的长度与的长度与 A的列数相等,则将的列数相等,则将 x 与与 A 中的各中的各行相对应,绘制多条平面曲线。行相对应,绘制多条平面曲线。 。l x的长度必须等于的长度必须等于 A 的

5、行数或列数的行数或列数。 x = linspace(0,10,4); A = magic(4); plot(x,A);例例:plot(x,A)9Alternating sets of ordered pairsMatrix of Y values10The peaks(100) function creates a 100 x100 array of values. Since this is a plot of a single variable, we get 100 different line plots11二维作图命令二维作图命令q 平面绘图命令:平面绘图命令: plotplot(x

6、)plot(x, y)l 这里这里 x, y都是复数数组都是复数数组。121314图形的属性图形的属性plot(x,y,string)其中其中 string 是用是用 单引号单引号 括起来的字符串,用来指定图括起来的字符串,用来指定图形的属性形的属性(点、线的形状和颜色点、线的形状和颜色)属性可以全部指定,也属性可以全部指定,也可以只指定其中某几个可以只指定其中某几个排列顺序任意排列顺序任意红色、虚线、红色、虚线、离散点用加号离散点用加号蓝色、点划线蓝色、点划线离散点为菱形离散点为菱形黑色、实线黑色、实线离散点用星号离散点用星号 x=0:0.2:2*pi; plot(x,cos(x); plo

7、t(x,cos(x),r+:); plot(x,cos(x),bd-.); plot(x,cos(x),k*-);q 指定点和线的属性指定点和线的属性15点和线的基本属性点和线的基本属性线型线型点标记点标记颜色颜色- 实线实线: 虚线虚线-. 点划线点划线- 间断线间断线 空白空白. 点点o 小圆圈小圆圈x 叉子符叉子符+ 加号加号* 星号星号s 方格方格d 菱形菱形 朝上三角朝上三角v 朝下三角朝下三角 朝右三角朝右三角 x = 0 : pi/10 : 4*pi; y = cos(x); plot(x,y); title(y=cos(x)的图像的图像);q 添加标题添加标题搜索Text Pr

8、operties17添加坐标轴标注添加坐标轴标注xlabel(text)ylabel(text)例例: x = 0 : pi/10 : 4*pi; y = cos(x); plot(x,y); title(y=cos(x)的图像的图像); xlabel(x 轴轴); ylabel(y 轴轴);q 添加坐标轴标注添加坐标轴标注18l 其它调用方式:axis auto 自动模式,使得图形的坐标满足图中的一切元素自动模式,使得图形的坐标满足图中的一切元素axis equal 各坐标轴采用等长刻度各坐标轴采用等长刻度axis square 使绘图区域为正方形使绘图区域为正方形axis on/off恢复

9、恢复/取消对坐标轴的一切设置取消对坐标轴的一切设置axis manual以当前的坐标限制图形的绘制(多图时)以当前的坐标限制图形的绘制(多图时) 更多参见更多参见 axis 的联机帮助的联机帮助坐标轴控制坐标轴控制axis(xmin, xmax, ymin, ymax, zmin, zmax)作用:指定坐标轴的显示范围作用:指定坐标轴的显示范围q 坐标轴控制命令坐标轴控制命令: axisaxis(-2 2 -1 1)19绘制多个函数图像绘制多个函数图像plot(x1,y1,s1,x2,y2,s2, . ,xn,yn,sn)属性选项属性选项可以省略可以省略l 另一中实现方法:另一中实现方法:ho

10、ld onhold onplot(x1,y1,s1)plot(x2,y2,s2).plot(xn,yn,sn)q 在同一个绘图窗口绘制多个图像在同一个绘图窗口绘制多个图像20添加图例添加图例例例:legend(string1,string2, .) x = 0 : pi/10 : 4*pi; y1 = cos(x); y2 = sin(x); plot(x,y1,x,y2); legend(cos(x),sin(x);q 添加图例添加图例21添加文本添加文本text(x,y,string)gtext(string)xlable, ylabel, text 也可以指定文本的属性也可以指定文本的属

11、性直观方法:可以直接在图象上进行编辑 x = 0 : pi/10 : 4*pi; y = cos(x); plot(x,y); text(pi/2,cos(pi/2), . leftarrow y=cos(x);例例:q 在任何指定的地方添加文本在任何指定的地方添加文本22Improving your labelsYou can use Greek letters in your labels by putting a backslash () before the name of the letter. For example:title(alpha beta gamma)creates t

12、he plot title To create a superscript use curly brackets title(x2) gives x2To create a subscript use an underscore title(x_2) gives x2Superscripts and Subscripts搜索Text Properties23划分绘图划分绘图窗口窗口subplot(m,n,p)将一个绘图窗口分割成将一个绘图窗口分割成 m n 个子区域,并个子区域,并 按行按行 从左至右从左至右 依次编号依次编号 ,p 表示第表示第 p 个绘图子区域。个绘图子区域。 x = -p

13、i : 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); subplot(2,1,2);plot(x,cos(2x);例例:q 划分绘图窗口划分绘图窗口24图形的其他属性图形的其他属性 x = -pi : pi/10 : pi; y = sin(x); plot(x,y,rh:,linewidth,2, . markeredgecolor,b, . markerfacecolor,g)例

14、例:q 线条的粗细,字体大小,坐标轴属性等线条的粗细,字体大小,坐标轴属性等linewidth: 指定线条的粗细指定线条的粗细markeredgecolor: 指定标记的边缘色指定标记的边缘色markerfacecolor: 指定标记表面的颜色指定标记表面的颜色注:注:1) 属性与属性的值是成对出现的属性与属性的值是成对出现的 2) 更多属性参见更多属性参见 plot 的联机帮助的联机帮助25其他相关命令其他相关命令l 保留当前绘图窗口中的图像保留当前绘图窗口中的图像hold on / hold offl 新建绘图窗口新建绘图窗口/选取绘图窗口选取绘图窗口figure(n)l 显示网格显示网格

15、grid on / grid offl 关闭绘图窗口关闭绘图窗口close / close all26二维作图命令二维作图命令q 极坐标绘图命令:极坐标绘图命令: polarl以以 theta 为极角,为极角, r 是极径作图。是极径作图。 theta = 0: pi/100: 2*pi; r1 = 5*cos(4*theta); polar(theta,r1); hold on; r2 = 4*cos(6*theta); polar(theta,r2);例例:polar(theta,r)2728Practice Exercise 5.3nTry these exercises to crea

16、te some interesting shapes 1 2 3 4 53021060240902701203001503301800 0.2 0.4 0.6 0.8 1302106024090270120300150330180029对数图对数图q 按指数规律变化的数据可用对数坐标表示按指数规律变化的数据可用对数坐标表示semilogx(x,y)创建单对数坐标图,创建单对数坐标图,x 轴为对数坐标,轴为对数坐标,y轴为线性坐标轴为线性坐标semilogy(x,y)创建单对数坐标图,创建单对数坐标图,x 轴为线性坐标,轴为线性坐标,y轴为对数坐标轴为对数坐标loglog(x,y)创建双对数坐标

17、图,创建双对数坐标图,x 轴、轴、y轴均为对数坐标轴均为对数坐标30 x-y plot linear on both axessemilogx log scale on the x axissemilogy log scale on the y axisloglog log scale on both axes3132Bar Graphs and Pie ChartsnMATLAB includes a whole family of bar graphs and pie chartsnbar(x) vertical bar graphnbarh(x) horizontal bar graph

18、nbar3(x) 3-D vertical bar graphnbar3h(x) 3-D horizontal bar graphnpie(x) pie chartnpie3(x) 3-D pie chart333435HistogramsnA histogram is a plot showing the distribution of a set of values 36Defaults to 10 bins37双双y y轴图轴图plotyy(x1,y1,x2,y2)plotyy(x1,y1,x2,y2,function)l function是指定的绘图函数,可取是指定的绘图函数,可取 p

19、lot, stem, semilogx, semilogy, loglog等等q 将两个二维曲线输出到同一坐标图中将两个二维曲线输出到同一坐标图中 x = 0 : pi/20 : 2*pi; y1 = sin(x); y2 = exp(x); plot(x,y1,x,y2); plotyy(x,y1,x,y2); plotyy(x,y1,x,y2,semilogx); 例例:38The plotyy function allows you to use two scales on a single graph39二维函数绘图二维函数绘图 fplotq 二维曲线绘图函数:二维曲线绘图函数: fp

20、lotfplot(f(x),a,b)绘制绘制 y = f (x) 在区域在区域 a x b 上的图形上的图形fplot(f(x),a,b,c,d)绘制绘制 f (x) 在区域在区域 a x b, c y fplot(sin(x),-2*pi,2*pi) fplot(sin(x),-2*pi,2*pi) fplot(5*t2,-5,5,-5,100)40本讲主要内容本讲主要内容n 二维平面作图二维平面作图n 三维空间作图三维空间作图n 符号作图符号作图n Matlab 绘图过程绘图过程/原理原理l 三维曲线三维曲线l 空间曲面空间曲面41三维曲线三维曲线q 三维曲线绘图命令三维曲线绘图命令 :

21、plot3设三维曲线的设三维曲线的参数方程参数方程为:为:x=x(t),y=y(t),z=z(t),则其图形可由下面的命令绘出则其图形可由下面的命令绘出:例:三维螺旋线例:三维螺旋线l plot3 只能绘制参数方程表示的三维曲线只能绘制参数方程表示的三维曲线 l plot3 的用法与的用法与 plot 类似类似 t = 0 : pi/100 : 10*pi; x = sin(t); y = cos(t); z = 2*t; plot3(x,y,z);plot3(x,y,z)42三维曲面示例三维曲面示例43三维曲面三维曲面q 空间网格曲面作图命令:空间网格曲面作图命令:绘制由矩阵绘制由矩阵 X,

22、 Y, Z 所确定的曲面所确定的曲面网格图网格图(,)ijijijijP xyzmesh(X,Y,Z) X,Y=meshgrid(-3:1/8:3); Z=peaks(X,Y); mesh(X,Y,Z);例:例:111212122212X,nnmmmnxxxxxxxxx ,111212122212Ynnmmmnyyyyyyyyy nnmmmnzzzzzzzzz 111212122212Z44三维曲面绘制过程三维曲面绘制过程q 绘制空间曲面绘制空间曲面 z = z(x,y) 的过程的过程(1) 对对 x 的取值区域和的取值区域和 y 的取值区域进行分割,的取值区域进行分割, 得到离散的点得到离散

23、的点 (xij, yij),这些离散的点称为,这些离散的点称为网格点。网格点。(2) 这些这些网格点网格点构成了网格矩阵,即矩阵构成了网格矩阵,即矩阵 X 和和 Y。 (3) 计算计算 z 在这些网格点上的函数值,即可的矩阵在这些网格点上的函数值,即可的矩阵 Z。(4) 调用调用 Matlab 的绘图命令的绘图命令 mesh 绘出曲面图形。绘出曲面图形。怎样得到网格矩阵怎样得到网格矩阵 X 和和 Y ? 利用利用 Matlab 的网格生成函数:的网格生成函数: meshgrid45网格生成函数网格生成函数若若 x = y, 则可简写为:则可简写为: X, Y = meshgrid(x) X,

24、Y = meshgrid(x,y)l x,y 是分别对是分别对 x 取值区域取值区域和和 y 取值区域取值区域进行分割后进行分割后 得到的向量得到的向量l X, Y 即为我们所需要的网格矩阵即为我们所需要的网格矩阵q 网格生成函数网格生成函数 46例:例:墨西哥帽子:墨西哥帽子:墨西哥帽子墨西哥帽子( 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 方向与方向与 y 方向可以取不同的步长方向可以取不同的步长2) 注意这里采

25、用的注意这里采用的数组运算数组运算eps?最后一个命令能否改为最后一个命令能否改为 mesh(Z)?X,Y=meshgrid(-8:0.5:8);48meshc 和和 meshzl 绘制带绘制带等高线等高线的空间曲面:的空间曲面:meshc - 使用方式与使用方式与 mesh 相同,在相同,在 mesh 基础上增加等高线基础上增加等高线q 其它网格曲面绘制其它网格曲面绘制函数函数:meshc、meshz l 绘制带绘制带屏蔽面屏蔽面的空间曲面:的空间曲面:meshz - 使用方式与使用方式与 mesh 相同,在相同,在 mesh 基础上屏蔽边界面基础上屏蔽边界面49Mesh 绘图小结绘图小结l

26、 显式方程显式方程:z=z(x,y), a x b, c y d x=a:hx:b; y=c:hy:d; X,Y=meshgrid(x,y); Z=z(X,Y); mesh(X,Y,Z)l 参数方程参数方程:x=x(u,v),y=y(u,v),x=z(u,v) u=a:hu:b; y=c:hv:d; U,V=meshgrid(u,v); X=x(U,V); Y=y(U,V); Z=z(U,V); mesh(X,Y,Z)a u b, c v d50曲面作图其它命令曲面作图其它命令q 空间曲面其它作图命令空间曲面其它作图命令 l sphere(n) 专用于绘制单位球面专用于绘制单位球面mesh 绘

27、制绘制网格图网格图,surf 绘制绘制表面表面着色的着色的曲面图曲面图l surf(X,Y,Z) 绘制由矩阵绘制由矩阵 X,Y,Z 所确定的曲面图,参数所确定的曲面图,参数含义同含义同 meshsphere 只能画单位球面!只能画单位球面!51surf 作图举例作图举例 X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; surf(X,Y,Z)surf(X,Y,Z)mesh(X,Y,Z)52如果没有给出如果没有给出 n 的值,的值,则系统默认为则系统默认为 n=20sphere 作图作图 sphere; sphere(60); a

28、xis equal;53图形的阴影效果图形的阴影效果shading flat/interp/faceted(default)q shading: 设置设置图形的阴影效果图形的阴影效果shading flatshading interp54l r, g, b 都是都是 0 1 之间的一个数之间的一个数l s 为字符串,表示所采用的色系,常用的值有为字符串,表示所采用的色系,常用的值有颜色映象颜色映象相应的颜色系相应的颜色系颜色映象颜色映象相应的颜色系相应的颜色系autumn红黄色系红黄色系hsv色调饱和色系色调饱和色系gray线性灰色系线性灰色系hot黑红黄白色系黑红黄白色系cool青和洋红色系

29、青和洋红色系pink柔和色系柔和色系图像的着色方案图像的着色方案colormap(r g b) 或或 colormap(s)q colormap: 设置绘图的着色方案设置绘图的着色方案55曲面作图其它命令曲面作图其它命令q 空间曲面其它作图命令空间曲面其它作图命令 lpcolor(X,Y,Z) 绘制由矩阵绘制由矩阵 X,Y,Z 所确定的伪色图(带栅格的二维所确定的伪色图(带栅格的二维阴影图)阴影图)l contour(X,Y,Z) 绘制由矩阵绘制由矩阵 X,Y,Z 所确定的等高线所确定的等高线565758本讲主要内容本讲主要内容n 二维平面作图二维平面作图n 三维空间作图三维空间作图n 符号作图符号作图n Matlab 绘图过程绘图过程/原理原理59二维曲线二维曲线 ezplotq 二维曲线符号绘图函数:二维曲线符号绘图函数: ezplotezplot(f(x),a,b)绘制绘制 y = f (x) 在区域在区域 a x b 上的图形上的图形ezplot(f(x,y),a,b,c,d)绘制绘制 f (x, y) = 0 在区域在区域 a x b, c y d 上的图形上的图形ezplot(x(t),y(t),a,b)绘制绘制 x = x(t), y = y(t) 在区域在区域 a t b 上的图形上的图形60二维曲线二维曲线 ezplotezpl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论