matlab非常实用的画图函数.ppt_第1页
matlab非常实用的画图函数.ppt_第2页
matlab非常实用的画图函数.ppt_第3页
matlab非常实用的画图函数.ppt_第4页
matlab非常实用的画图函数.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB程序语言设计 应自炉 五邑大学信息学院2007年 电子发烧友 电子技术论坛 第三讲 MATLAB图形绘制基本技术 3.1 MATLAB基本二维图形绘制 3.2 plot 命令使用 3.3 loglog、semilogx、semilogy、polar 3.4 二维曲线的标注 3.5 二维图形坐标轴的控制 3.6 其他类型的MATLAB二维图形绘制 3.7 MATLAB 简单三维图形绘制 3.8 例子与习题 电子发烧友 电子技术论坛 3.1 MATLAB 基本二维图形绘制 在MATLAB中函数曲线的绘制变得非常得简当,最 基本的函数是 plot 函数,二维图形绘制函数可用 help graph2d列出主要函数,见下表。 plot基本的线线性坐标绘图标绘图 loglogXY轴轴双Log坐标绘图标绘图 semilogxX轴轴Log、Y轴线轴线 性坐标绘图标绘图 semilogyX轴线轴线 性、Y轴轴Log坐标绘图标绘图 polar极坐标图标图 plotyy左右两边边都有坐标轴标轴 的函数曲线绘线绘 制 电子发烧友 电子技术论坛 3.2 plot 命令的使用 MATLAB 最基本的图形曲线绘制命令是 plot 函数,而 loglog、semilogx和semilogy的用法是一样的,下面详细 介绍 plot 的用法。plot 的基本用法有 plot(x,y) 基本的XY二维图维图 形曲线绘线绘 制 其中 x, y 是x, y两轴轴数据向量 plot(x,y,s) s 为为字符串,定义义曲线线的一些属性 ,其他同上一用法 plot(x1,y1,s1,x2,y2,s2, ) 同时绘时绘 制多条曲线线,每条曲线线由 (x, y, s) 定义义 电子发烧友 电子技术论坛 3.2 plot 命令的使用 例子:正弦曲线绘制 t=0:0.1:2*pi;y=sin(t);plot(t,y) 电子发烧友 电子技术论坛 3.2 plot 命令的使用 例子:多条曲线绘制 t=0:0.1:2*pi;y=sin(t);cos(t);plot(t,y) 电子发烧友 电子技术论坛 3.2 plot 命令的使用 例子:两边都有坐标轴曲线绘制 t=0:0.1:2*pi;plotyy(t,sin(t),t,0.01*cos(t) 电子发烧友 电子技术论坛 3.2 plot 命令的使用 其他绘图选项 (即字符串 s 的使用) s 由下表中一列或两列或三列中属性定义组成,如 s = -.g 曲线线线线 型曲线颜线颜 色标记标记 符号 选项选项意义义 选选 项项 意义义 选选 项项 意义义 选选 项项 意义义选项选项意义义 -实线实线b蓝蓝色 c 蓝绿蓝绿 色 *星号pentagram五角星 虚线线g绿绿色 k 黑色.点号o圆圆圈 :点线线 m 红红紫色 r 红红色x叉号square -.点划线线 w 白色 y 黄色vdiamond none 无线线 用一个 1X3 向量任意指定 r, g, b红绿蓝红绿蓝 三原色 hexagram六角星 t=0:0.1:2*pi; y1=sin(t); y2=cos(t); y3=sin(t).*cos(t); plot(t, y1, -, t, y2, :, t, y3, x) 电子发烧友 电子技术论坛 3.3 loglog、semilogx、semilogy、polar 例子 t=0:0.1:6*pi; r=abs(cos(t/3)*100+1; loglog(t,r) 电子发烧友 电子技术论坛 3.3 loglog、semilogx、semilogy、polar 例子 t=0:0.1:6*pi; r=abs(cos(t/3)*100+1; semilogx(t,r) 电子发烧友 电子技术论坛 3.3 loglog、semilogx、semilogy、polar 例子 t=0:0.1:6*pi; r=abs(cos(t/3)*100+1; semilogy(t,r) 电子发烧友 电子技术论坛 3.3 loglog、semilogx、semilogy、polar 例子 t=0:0.1:6*pi; r=cos(t/3)+1/9; polar(t,r) 电子发烧友 电子技术论坛 3.4 二维曲线的标注 绘制完曲线后,MATLAB还允许用户使用它提供的一些图 形修改函数来进一步修饰画出的图形,标注一些文字信息 。二维图形曲线的标注主要用到下表所示的函数。 title(string)标标注图图形标题标题 xlabel(string) 标标注X轴标题轴标题 ylabel (string) 标标注Y轴标题轴标题 text标标注文字 gtext (string)用鼠标标标标 注文字 legend标标注图图例 电子发烧友 电子技术论坛 3.4 二维曲线的标注 t=0:0.1:2*pi; y=sin(t); plot(t, y); title(Sine Wave Curve: Title); xlabel( Time Axis: Xlabel); ylabel( Function Value : Ylabel); 例子 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Sine Wave Curve: Title Time Axis: Xlabel Function Value : Ylabel 电子发烧友 电子技术论坛 3.4 二维曲线的标注 text(x, y,string) 在(x, y) 处标注文字 string gtext(string) 用鼠标指定位置标注文字 t=0:0.1:2*pi; y=sin(t); plot(t, y); text( 1, 0, Text annotation ); grid on 电子发烧友 电子技术论坛 3.4 二维曲线的标注 legend(string1, string2, string3, ) 将用指定的文字标注在当前图 形上作为图例说明 legend( , Pos) 将图例说明标在指定位置: 0 = Automatic “best“ placement (least conflict with data) 1 = Upper right-hand corner (default) 2 = Upper left-hand corner 3 = Lower left-hand corner 4 = Lower right-hand corner -1 = To the right of the plot 当图例标注已经标注好后,还可用鼠标移动到适当的位置。 电子发烧友 电子技术论坛 3.4 二维曲线的标注 x = 0:.2:12; plot(x,bessel(1,x),x,bessel(2,x),x,bessel(3,x); legend(First,Second,Third); legend(First,Second,Third,-1) 例子 电子发烧友 电子技术论坛 3.5 二维图形坐标轴的控制 MATLAB还提供有一些函数给用户来控制图形的坐标轴, 主要有下表所示的函数。 axis 控制坐标轴标轴 尺度 zoom 放大镜镜 grid 控制 x, y 轴轴上的网格 box 坐标轴标轴 外框 hold 控制是否在当前图图上画曲线线 axes 在任意位置创创建坐标轴标轴 subplot 在一幅图图上创创建多幅子图图 电子发烧友 电子技术论坛 3.5 二维图形坐标轴的控制 axis 命令的用法见下表 axis(xmin, xmax, ymin, ymax 坐标标限设为设为 xmin, xmax, ymin, ymax axis auto自动设动设 置坐标轴标轴 的范围围 axis manual固定坐标轴标轴 范围围,hold on后续图续图 用同样样坐标标范 围围 axis tight坐标标范围设为围设为 数据的上下限 axis ij(x, y)坐标标按矩阵阵下标标方向增长长 axis xy传统传统 的坐标标方向 axis equalx, y 方向同样样尺度标标度 axis image同上,而且坐标标范围设为围设为 数据的上下限 axis square使坐标标外框为为正方形 axis normal使坐标轴设为标轴设为 正常状态态 axis on 或 axis off打开或关闭闭坐标标文字、刻度和背景 电子发烧友 电子技术论坛 3.5 二维图形坐标轴的控制 subplot 命令用于在一幅图上创建多幅子图。Subplot(m, n, p) 或 subplot( mnp ) 将图形窗口分解为一个 m X n 的子图 (m X n 个坐标系统),其中 第 p 个坐标系统为当前坐标系统,plot 等命令在该坐标系统上绘曲线。 subplot(211), plot(x, y); subplot(223), stem(x,y); subplot(224), rose(x,y) 电子发烧友 电子技术论坛 3.5 二维图形坐标轴的控制 注意下例的复杂分割 subplot(211), plot(x, y); subplot(223), stem(x,y); subplot(224), rose(x,y) subplot(4,4,11), fill(x,y,r);subplot(4,4,12),feather(x,y); subplot(4,4,15),plot(x,y); subplot(4,4,16),stairs(x,y) 电子发烧友 电子技术论坛 3.5 二维图形坐标轴的控制 新的分割必须不能破坏原有的分割,仔细观察下面两例子的区别 subplot(211),plot(x,y);subplot(312),plot(x,y) subplot(211),plot(x,y);subplot(313),plot(x,y) 电子发烧友 电子技术论坛 3.5 二维图形坐标轴的控制 MATLAB还提供有一个更灵活的命令 axes 用于 设定当前坐标系统位置,从而可以任意方式分 割图形窗口。 axes( position, xmin, xmax, ymin, ymax ) 在 当前图形窗口中指定位置创建坐标系统, xmin, xmax, ymin, ymax 取值在 (0,1)之间 ,且(0,0)表示图形窗口左下角坐标,而(1 ,1)表示右上角坐标。由若干 axes 函数调用 得出的坐标系可以重叠且互不干扰。见下例 电子发烧友 电子技术论坛 3.5 二维图形坐标轴的控制 axes(pos,0.2 0.2 0.6 0.4); plot(x,y) axes(pos,0.1 0.1 0.8 0.1); plot(x,y) axes(pos,0.5 0.5 0.4 0.4); fill(x,y,g) axes(pos,0.1 0.6 0.3 0.3); stem(x,y) 电子发烧友 电子技术论坛 3.6 其他类型的二维图形绘制 MATLAB提供其他许多种类的二维图形绘制,前面已经用到了 一些,可以用 help specgraph 命令查看MATLAB提供的命令, 主要有以下一些。 bar 二维维条形图图bar(x, y) comet彗星状轨轨迹图图comet(x, y) compass罗盘图罗盘图compass(x, y) errorbar误误差限图图形errorbar(x, y, l, u) feather羽毛状图图feather(x, y) fill二维维填充函数fill(x, y, c) hist直方图图hist(x, y) pie饼图饼图pie(x) quiver磁力线图线图quiver(x, y) stairs阶阶梯图图形stairs(x, y) stem火柴杆图图stem(x, y) 电子发烧友 电子技术论坛 3.6 其他类型的二维图形绘制 下面几例说明这些图形的绘制 x=-2:0.1:2; y=sin(x); subplot(221); feather(x, y);subplot(222);stairs(x,y); subplot(223);stem(x,y); subplot(224);fill(x,y,r); 电子发烧友 电子技术论坛 3.6 其他类型的二维图形绘制 下面几例说明这些图形的绘制 x=-2:0.1:2; y=sin(x); subplot(223);quiver(x,y); subplot(223);comet(x,y); subplot(223);quiver(x,y); subplot(224);comet(x,y); 电子发烧友 电子技术论坛 3.6 其他类型的二维图形绘制 下面几例说明这些图形的绘制 x=rand(1,10); pie(x) 电子发烧友 电子技术

温馨提示

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

最新文档

评论

0/150

提交评论