MATLAB第3讲二维和三维图形绘制_第1页
MATLAB第3讲二维和三维图形绘制_第2页
MATLAB第3讲二维和三维图形绘制_第3页
MATLAB第3讲二维和三维图形绘制_第4页
MATLAB第3讲二维和三维图形绘制_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、龙佳乐龙佳乐五邑大学信息学院五邑大学信息学院Longjiale_3.1 MATLAB基本二维图形绘制基本二维图形绘制3.2 plot 命令使用命令使用3.4 二维曲线的标注二维曲线的标注3.3 loglog、semilogx、semilogy、polar3.5 二维图形坐标轴的控制二维图形坐标轴的控制3.6 其他类型的其他类型的MATLAB二维图形绘制二维图形绘制3.7 隐函数绘图隐函数绘图3.8 MATLAB 简单三维图形绘制简单三维图形绘制3.9 图形的可视化编辑图形的可视化编辑3.10 例子与习题例子与习题在在MATLAB中函数曲线的绘制变得非常得简单,最中函数曲线的绘制变得非常得简单,

2、最基本的函数是基本的函数是 plot 函数,二维图形绘制函数可用函数,二维图形绘制函数可用 help graph2d列出主要函数,见下表。列出主要函数,见下表。plot基本的线性坐标绘图基本的线性坐标绘图loglogXY轴双轴双Log坐标绘图坐标绘图semilogxX轴轴Log、Y轴线性坐标绘图轴线性坐标绘图semilogyX轴线性、轴线性、Y轴轴Log坐标绘图坐标绘图polar极坐标图极坐标图plotyy左右两边都有坐标轴的函数曲线绘制左右两边都有坐标轴的函数曲线绘制MATLAB 最基本的图形曲线绘制命令是最基本的图形曲线绘制命令是 plot 函数,而函数,而loglog、semilogx和

3、和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) 定义定义例子:正弦曲线绘制例子:正弦曲线绘制 t=0:0.1:2*pi;y=sin(t);plot(

4、t,y)01234567-1-0.8-0.6-0.4-0.200.20.40.60.81例子:多条曲线绘制例子:多条曲线绘制 t=0:0.1:2*pi;y=sin(t);cos(t);plot(t,y)01234567-1-0.8-0.6-0.4-0.200.20.40.60.81例子:两边都有坐标轴曲线绘制例子:两边都有坐标轴曲线绘制 t=0:0.1:2*pi;plotyy(t,sin(t),t,0.01*cos(t)01234567-1-0.500.5101234567-0.01-0.00500.0050.01其他绘图选项其他绘图选项 (即字符串(即字符串 s 的使用)的使用)s 由下表中

5、一列或两列或三列中属性定义组成,如由下表中一列或两列或三列中属性定义组成,如 s = -.g曲线线型曲线线型曲线颜色曲线颜色标记符号标记符号选项选项意义意义选选项项意义意义选选项项意义意义选选项项意义意义选项选项意义意义-实线实线b蓝色蓝色c蓝绿色蓝绿色*星号星号pentagram五角星五角星-虚线虚线g绿色绿色k 黑色黑色.点号点号o圆圈圆圈:点线点线m红紫色红紫色r 红色红色x叉号叉号square-.点划线点划线w 白色白色y 黄色黄色vdiamond none 无线无线用一个用一个 1X3 向量任意指定向量任意指定r, g, b红绿蓝三原色红绿蓝三原色hexagram六角星六角星 t=0

6、:0.1:2*pi; y1=sin(t); y2=cos(t); y3=sin(t).*cos(t); plot(t, y1, -, t, y2, :, t, y3, x)01234567-1-0.8-0.6-0.4-0.200.20.40.60.81例子例子 t=0:0.1:2*pi; y1=sin(t); y2=cos(t); y3=sin(t).*cos(t); plot(t, y1, -g, t, y2, :m, t, y3, xk)例子例子 在同一坐标内,分别用不同的线型和颜色绘制曲线在同一坐标内,分别用不同的线型和颜色绘制曲线标记两曲线交叉点。区间标记两曲线交叉点。区间0,2*pi

7、0.50.510.2cos(4)22cos()xxyexyex和 x=linspace(0,2*pi,1000); y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); k=find(abs(y1-y2) x1=x(k); y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求求y1与与y2值相等的点的值相等的点的y坐标坐标 plot(x,y1,x,y2,k:,x1,y3,bp)绘制完曲线后,绘制完曲线后,MATLAB还允许用户使用它提供的一些还允许用户使用它提供的一些图形修改函数来进一步修饰画出的图形,

8、标注一些文字信图形修改函数来进一步修饰画出的图形,标注一些文字信息。二维图形曲线的标注主要用到下表所示的函数。息。二维图形曲线的标注主要用到下表所示的函数。title(string)标注图形标题标注图形标题xlabel(string) 标注标注X轴标题轴标题ylabel (string) 标注标注Y轴标题轴标题text标注文字标注文字gtext (string)用鼠标标注文字用鼠标标注文字legend标注图例标注图例 t=0:0.1:2*pi; y=sin(t); plot(t, y); title(Sine Wave Curve: Title); xlabel( Time Axis: Xla

9、bel); ylabel( Function Value : Ylabel);例子例子如果要标注如果要标注怎么办?怎么办?sin()t text(1,-0.6,sin(omegat+theta)使用使用LaTeX格式格式的控制字符的控制字符text(x, y,string) 在(在(x, y) 处标注文字处标注文字 stringgtext(string) 用鼠标指定位置标注文字用鼠标指定位置标注文字 t=0:0.1:2*pi; y=sin(t); plot(t, y); text( 1, 0, Text annotation ); grid onlegend(string1, string2,

10、 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 plotx

11、= 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)例子例子024681012-0.4-0.3-0.2-0.100.10.20.30.40.50.6FirstSecondThird在同一坐标区间在同一坐标区间0,2*pi 内,分别用不同的线型和颜色绘制曲线内,分别用不同的线型和颜色绘制曲线 标记两曲线交叉点。标记两曲线交叉点。0.50.510.2cos(4)22cos()xxyexyex和 x=linspace(0,

12、2*pi,1000); y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); k=find(abs(y1-y2) x1=x(k); y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求求y1与与y2值相等的点的值相等的点的y坐标坐标 plot(x,y1,x,y2,k:,x1,y3,bp) title(x from 0 to 2pi) xlabel(variable X) ylabel(variable Y) text(0.8,1.5,曲线曲线y1=0.2e-0.5xcos(4pix) text(4.5,

13、0.3,曲线曲线y2=2e-0.5xcos(pix) legend(y_1,y_2,y_3)例子例子t=0:0.1:6*pi; r=abs(cos(t/3)*100+1; loglog(t,r)10-1100101102100101102103例子例子 t=0:0.1:6*pi; r=abs(cos(t/3)*100+1; semilogx(t,r)10-1100101102020406080100120例子例子 t=0:0.1:6*pi; r=abs(cos(t/3)*100+1; semilogy(t,r)05101520100101102103例子例子 t=0:0.1:6*pi; r=c

14、os(t/3)+1/9; polar(t,r) 0.5 1 1.53021060240902701203001503301800MATLAB还提供有一些函数给用户来控制图形的坐标轴,还提供有一些函数给用户来控制图形的坐标轴,主要有下表所示的函数。主要有下表所示的函数。axis控制坐标轴尺度控制坐标轴尺度zoom放大镜放大镜grid控制控制 x, y 轴上的网格轴上的网格box坐标轴外框坐标轴外框hold控制是否在当前图上画曲线控制是否在当前图上画曲线axes在任意位置创建坐标轴在任意位置创建坐标轴subplot在一幅图上创建多幅子图在一幅图上创建多幅子图axis 命令的用法见下表命令的用法见下

15、表axis(xmin, xmax, ymin, ymax坐标限设为坐标限设为 xmin, xmax, ymin, ymaxaxis auto自动设置坐标轴的范围自动设置坐标轴的范围axis manual固定坐标轴范围,固定坐标轴范围,hold on后续图用同样坐标后续图用同样坐标范围范围axis tight坐标范围设为数据的上下限坐标范围设为数据的上下限axis ij(x, y)坐标按矩阵下标方向增长)坐标按矩阵下标方向增长axis xy传统的坐标方向传统的坐标方向axis equalx, y 方向同样尺度标度(等长刻度)方向同样尺度标度(等长刻度)axis image同上,而且坐标范围设为数

16、据的上下限同上,而且坐标范围设为数据的上下限axis square使坐标外框为正方形使坐标外框为正方形axis normal使坐标轴设为正常状态使坐标轴设为正常状态axis on 或或 axis off打开或关闭坐标文字、刻度和背景打开或关闭坐标文字、刻度和背景例:在同一坐标中,可以绘制例:在同一坐标中,可以绘制3个同心圆,并加坐标控制个同心圆,并加坐标控制 t=0:0.01:2*pi; x=exp(i*t); y=x;2*x;3*x; plot(y) grid on box on axis equalsubplot 命令用于在一幅图上创建多幅子图。命令用于在一幅图上创建多幅子图。Subplo

17、t(m, n, p) 或或 subplot( mnp ) 将图形窗口分解为一个将图形窗口分解为一个 m n 的子图的子图 (m n 个坐标系统),其中个坐标系统),其中 第第 p 个坐标系统为当前坐标系统,个坐标系统为当前坐标系统,plot 等等命令在该坐标系统上绘曲线。命令在该坐标系统上绘曲线。 x=-2:0.2:2; y=sin(x); subplot(211),plot(x,y);subplot(223),stem(x,y);subplot(224),rose(x,y)-2-1.5-1-0.500.511.52-1-0.500.51-2-1012-1-0.500.51 5 1030210

18、60240902701203001503301800注意下例的复杂分割注意下例的复杂分割 subplot(211), plot(x, y); subplot(223), stem(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)-2-1.5-1-0.500.511.52-1-0.500.51-2-1012-1-0.500.51-202-101-50050-101-202-101-202-101新的分割必须新

19、的分割必须不能破坏原有的分割不能破坏原有的分割,仔细观察下面两例子的区别,仔细观察下面两例子的区别 subplot(211),plot(x,y);subplot(312),plot(x,y) subplot(211),plot(x,y);subplot(313),plot(x,y)-2-1.5-1-0.500.511.52-101-2-1.5-1-0.500.511.52-1-0.500.51-2-1.5-1-0.500.511.52-101MATLAB还提供有一个更灵活的命令还提供有一个更灵活的命令 axes 用于设定当前坐标用于设定当前坐标系统位置,从而可以任意方式分割图形窗口。系统位置,

20、从而可以任意方式分割图形窗口。axes( position, left, bottom, width, height ) 在当前图形窗口中在当前图形窗口中指定位置创建坐标系统,指定位置创建坐标系统, left, bottom, width, height 取值在取值在 (0,1)之间,且()之间,且(0,0)表示图形窗口左下角坐标,而()表示图形窗口左下角坐标,而(1,1)表示右上角坐标。由若干)表示右上角坐标。由若干 axes 函数调用得出的坐标系可以函数调用得出的坐标系可以重叠且互不干扰。见下例重叠且互不干扰。见下例 axes(pos,0.2 0.2 0.6 0.4); plot(x,y)

21、 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)-2-1012-1-0.500.51-2-1.5-1-0.500.511.52-101-2-1012-1-0.500.51-202-1-0.500.51MATLAB提供其他许多种类的二维图形绘制,前面已经用到了一提供其他许多种类的二维图形绘制,前面已经用到了一些,可以用些,可以用 help specgraph 命令查看命令查看MATLAB提供的命令,主要提供的命令,主要有

22、以下一些。有以下一些。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)下面几例说明这些图形

23、的绘制下面几例说明这些图形的绘制 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);下面几例说明这些图形的绘制下面几例说明这些图形的绘制 x=-2:0.1:2; y=sin(x); subplot(221); compass(x,y); subplot(222);bar(x,y); subplot(223);quiver(x,y); subplot(224);comet(x,y);下面几例说明

24、这些图形的绘制下面几例说明这些图形的绘制 x=rand(1,10); pie(x) 1%6%16%19% x=rand(1,100); hist(x,10)00.20.40.60.810510151、对于函数、对于函数f=f(x),ezplot函数调用格式:函数调用格式:ezplot(f):在默认区间在默认区间-2,2绘制绘制f=f(x)的图形;的图形;ezplot(f,a,b):在区间在区间a,b绘制绘制f=f(x)的图形;的图形;ezplot函数可用来绘制隐函数图形函数可用来绘制隐函数图形2、对于函数、对于函数f=f(x,y),ezplot函数调用格式:函数调用格式:ezplot(f):在

25、默认区间在默认区间x和和y都为都为-2,2绘制绘制f(x,y)=0的图形;的图形;ezplot(f,xmin,xmax,ymin,ymax):在区间内绘制在区间内绘制f(x,y)=0的图形;的图形;3、对于参数方程、对于参数方程x=x(t),y=y(t),ezplot函数调用格式:函数调用格式:ezplot(x,y):在默认区间在默认区间t为为0,2绘制绘制x=x(t),y=y(t)的图形;的图形;ezplot(x,y,tmin,tmax):在区间内绘制的图形;在区间内绘制的图形;隐函数绘图举例:隐函数绘图举例: subplot(221); ezplot(x2+y2-9);axis equal subplot(222); ezplot(x3+y3-5*x*y+1/5); subplot(223); ezplot(cos(tan(pi*x),0,1); subplot(224);ez

温馨提示

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

评论

0/150

提交评论