[经济学]第3章-MATLAB图形图像处理-1课件.ppt

上传人(卖家):三亚风情 文档编号:2892406 上传时间:2022-06-08 格式:PPT 页数:103 大小:2.76MB
下载 相关 举报
[经济学]第3章-MATLAB图形图像处理-1课件.ppt_第1页
第1页 / 共103页
[经济学]第3章-MATLAB图形图像处理-1课件.ppt_第2页
第2页 / 共103页
[经济学]第3章-MATLAB图形图像处理-1课件.ppt_第3页
第3页 / 共103页
[经济学]第3章-MATLAB图形图像处理-1课件.ppt_第4页
第4页 / 共103页
[经济学]第3章-MATLAB图形图像处理-1课件.ppt_第5页
第5页 / 共103页
点击查看更多>>
资源描述

1、第三章第三章 MATLAB图形图像处理图形图像处理 MATLAB不仅具有强大的矩阵计算能力,也不仅具有强大的矩阵计算能力,也具有强大的具有强大的图形图像处理能力图形图像处理能力,它能将杂乱无章,它能将杂乱无章的数据通过图形图像的形式表现出来,使我们更的数据通过图形图像的形式表现出来,使我们更直观地了解这些数据的变化趋势、变化规律以及直观地了解这些数据的变化趋势、变化规律以及它们的内在联系。它们的内在联系。 数字图像处理数字图像处理就是通过计算机对图像进行去就是通过计算机对图像进行去除噪声、增强、复原、分割和特征提取等处理的除噪声、增强、复原、分割和特征提取等处理的理论、方法和技术。目前的图形图

2、像处理技术在理论、方法和技术。目前的图形图像处理技术在航天、遥测、电视广播、网络媒体、现代医学及航天、遥测、电视广播、网络媒体、现代医学及军事等众多领域都得到了广泛应用,并且取得了军事等众多领域都得到了广泛应用,并且取得了巨大的成就。巨大的成就。 本章对图形图像处理的基本概念本章对图形图像处理的基本概念、基本内容、基本内容、命令格式和函数进行介绍,主要从二维图形的绘制、命令格式和函数进行介绍,主要从二维图形的绘制、三维图形的绘制、图像的获取及处理等三个方面进三维图形的绘制、图像的获取及处理等三个方面进行阐述,为图形图像处理在行阐述,为图形图像处理在MATLAB中的应用打下中的应用打下良好的基础

3、。良好的基础。 3.1 二维图形的绘制二维图形的绘制 3.2 三维曲线作图三维曲线作图 3.3 图形用户界面图形用户界面 3.4 MATLAB数字图像处理数字图像处理 3.5图像的灰度变换与直方图图像的灰度变换与直方图 3.6图像的增强滤波图像的增强滤波 3.7 图像的空间变换图像的空间变换 3.8 图像边缘检测与分割图像边缘检测与分割3 3.1 .1 二维图形的绘制二维图形的绘制 用用MATLAB绘图命令可以在图形窗口内画绘图命令可以在图形窗口内画出各种图形曲线,并使用不同的线型、颜出各种图形曲线,并使用不同的线型、颜色、点型和标注来修饰这些图形曲线。色、点型和标注来修饰这些图形曲线。 绘图

4、的一般步骤绘图的一般步骤 1. 1. 曲线数据准备曲线数据准备 2. 2. 指定图形窗口和子图位置指定图形窗口和子图位置 3. 3. 绘制图形绘制图形 4. 4. 设置坐标轴和图形注释设置坐标轴和图形注释 5. 5. 仅对三维图形使用的着色和视点等设置仅对三维图形使用的着色和视点等设置 6. 6. 图形的精细修饰图形的精细修饰 7. 7. 按指定格式保存或导出图形按指定格式保存或导出图形3.1.1 3.1.1 直角坐标系中的绘图直角坐标系中的绘图 plot命令命令:可用来绘制直角坐标系中的各种可用来绘制直角坐标系中的各种曲线曲线. 它的主要格式为:它的主要格式为: plot(y) plot(x

5、,y) plot(x,y,s)plot( )函数的应用形式函数的应用形式: 若若y是是向量向量,则则plot(y)在直角坐标系中绘制出一条在直角坐标系中绘制出一条二维曲线二维曲线: 以以y中元素的个数作为横坐标,以中元素的个数作为横坐标,以y中元中元素的值作为纵坐标,在直角坐标系中画点,各点素的值作为纵坐标,在直角坐标系中画点,各点以直线连接。以直线连接。 若若y是是m n的的矩阵矩阵,则绘制则绘制n条二维曲线条二维曲线:每条曲线每条曲线由由m个点确定个点确定,横坐标是矩阵行数横坐标是矩阵行数,纵坐标是每一列纵坐标是每一列的元素的元素.例例:运行下面的程序,画出图形。运行下面的程序,画出图形。

6、 y1=1 3 2 4 6 2 3 4 5 3; y2=1 3 2 4 6 ; 2 3 4 5 3; plot(y1); plot(y2);1234567891011.522.533.544.555.56xy111.11.21.31.41.51.61.71.81.9211.522.533.544.555.56xy2 如果如果x x和和y y是向量,要求其具有相同长度,命是向量,要求其具有相同长度,命令令plot(x,yplot(x,y) )将绘出以将绘出以x x元素为横坐标、元素为横坐标、y y元素为元素为纵坐标的一条曲线。纵坐标的一条曲线。 若若x x和和y y一个为向量一个为向量, ,一个

7、为一个为m mn n的矩阵的矩阵, ,则要则要求向量的长度等于求向量的长度等于m m或或n n,共绘制,共绘制n n或或m m条曲线。条曲线。 若若x x和和y y 都是矩阵时:大小必须相同,矩阵都是矩阵时:大小必须相同,矩阵x x的每列与的每列与y y的每列画一条曲线。的每列画一条曲线。图示yxyxxx(1)(3)(2)yx x=0:0.2:2*pi; y=sin(x); plot(x,y);图图 3.2 正弦曲线图正弦曲线图例例: 设设x为时间向量,运行下面的程序,画出以为时间向量,运行下面的程序,画出以x为为横坐标,横坐标,y为纵坐标的曲线,如图所示。为纵坐标的曲线,如图所示。例例 x

8、x是矩阵,分别绘制是矩阵,分别绘制x x与与y1y1和和x x与与y2y2的曲线,已知的曲线,已知y1y1是向量是向量且长度与且长度与x x的行数相等,的行数相等,y2y2是矩阵且与是矩阵且与x x尺寸相同,曲线分别尺寸相同,曲线分别如图所示。如图所示。 x=1:4;2:5;3:6 x = 1 2 3 4 2 3 4 5 3 4 5 6 y1=1 2 3 % y1长度与长度与x的行数相等的行数相等 y1 = 1 2 3 plot(x,y1) y2=1 1 1 1;2 2 2 2;3 3 3 3 y2 = 1 1 1 1 2 2 2 2 3 3 3 3 plot(x,y2);plot(x,y,s

9、) x x,y y情况和第二种一样,情况和第二种一样,ss是图形的属是图形的属性字符串,这些属性字符串包括三个方面,性字符串,这些属性字符串包括三个方面,第一方面指定图形曲线的第一方面指定图形曲线的颜色颜色,第二方面指,第二方面指定定数据点的标记类型数据点的标记类型,第三方面指定,第三方面指定线的类线的类型型,将在,将在3.1.33.1.3节中介绍。节中介绍。 为了读图时了解图中所表达的内容,还需为了读图时了解图中所表达的内容,还需要增加标题、坐标轴标签和网格线。要增加标题、坐标轴标签和网格线。 用用titletitle(标题)、(标题)、xlabelxlabel(x x轴标签)、轴标签)、y

10、lableylable(y y轴标签)函数给图形添加标题和轴标签)函数给图形添加标题和坐标轴标签。用坐标轴标签。用gridgrid命令可使网格线出现命令可使网格线出现或消失在图形中,或消失在图形中,grid ongrid on代表在图形中出代表在图形中出现网格线,现网格线,grid offgrid off代表去除网格线。代表去除网格线。 例例: :下面的语句将会产生带有下面的语句将会产生带有标题,标签和网格线标题,标签和网格线的函数图形。结果如图的函数图形。结果如图3.33.3所示。所示。 x=0:1:10; y=x.2-10*x+6; plot(x,y); title (Plot of y=

11、x.2-10*x+6); xlabel (x); ylabel (y); grid on;3.1.2 3.1.2 图形的打印和输出图形的打印和输出 1. 图形的打印图形的打印 有时需要把画出的图形打印出来。打印的有时需要把画出的图形打印出来。打印的方法是在图形方法是在图形Figure窗口内,在窗口内,在File菜单中菜单中选择选择“Print”打印项就可以打印输出了。打印项就可以打印输出了。另外还可以通过另外还可以通过“Print Setup”打印设置打印设置窗口进行设置打印到纸还是文件,并可以窗口进行设置打印到纸还是文件,并可以进行进行“Page Setup”页面设置、页面设置、“Print

12、 Preview”打印预览等。打印预览等。 2. 图形的输出图形的输出 在在MATLAB中导出图形文件使用菜单中导出图形文件使用菜单“File” “Export Setup” 。图形文件的。图形文件的保存格式有保存格式有fig、bmp、jpg等等常用图形文件常用图形文件格式。格式。 在图形在图形Figure窗口内,窗口内, Edit菜单中选择菜单中选择“Copy Figure ”项就可以将图形窗口中显示项就可以将图形窗口中显示的曲线复制下来的曲线复制下来,粘贴到其他文档中了粘贴到其他文档中了 .3.1.3 3.1.3 线型、点型、颜色线型、点型、颜色 MATLAB会自动根据默认设置的颜色(蓝色

13、)和会自动根据默认设置的颜色(蓝色)和线型(实线)画出曲线。线型(实线)画出曲线。 如果用户对线型的默认值不满意,可以用命令如果用户对线型的默认值不满意,可以用命令/函函数控制线型,也可以根据需要选取不同的数据点数控制线型,也可以根据需要选取不同的数据点的形状,格式为的形状,格式为 plot(x,y,s) s是对线和数据点的设置,其参数如表是对线和数据点的设置,其参数如表3-1所示。所示。 注释:注释:m-magenta c-cyan s-square d-diamond p-pentagram h-hexagram例例3.1.1 函数函数y=xy=x2 2-10 x+6-10 x+6的图形,

14、曲线为红色的虚线,的图形,曲线为红色的虚线,数据点用蓝色的圆圈表示。数据点用蓝色的圆圈表示。 x=0:1:10; y=x.2 -10*x +6; plot(x,y,r-,x,y,bo);012345678910-20-15-10-50510图图 3.4 不同线型、点型和颜色的图形不同线型、点型和颜色的图形 为了说明图中曲线的名称或类型,用为了说明图中曲线的名称或类型,用legendlegend命令来制作图例。命令来制作图例。 基本格式是:基本格式是: legend(string1,string2,.,pos) 其中其中string1,string2,是图形中曲线图例的字是图形中曲线图例的字符串

15、,说明对应曲线的名称或类型,而符串,说明对应曲线的名称或类型,而pos是一个是一个整数,用来指定图例的位置。这些整数所代表的整数,用来指定图例的位置。这些整数所代表的含义如表含义如表32所示。用所示。用legend off命令将能去除多命令将能去除多余的图例。余的图例。 eg. x = 0:pi/100:2*pi; y1 = sin(2*x); y2 = 2*cos(2*x); plot(x,y1,k-,x,y2,b-); title (Plot of f(x) = sin(2x) and its derivative); xlabel (x); ylabel (y); legend (f(x

16、),d/dx f(x),-1) grid on;01234567-2-1.5-1-0.500.511.52Plot of f(x) = sin(2x) and its derivativexyf(x)d/dx f(x)3.1.4 3.1.4 同一坐标系内多条曲线的绘制同一坐标系内多条曲线的绘制 在一张图形窗口的同一坐标系上绘制多条在一张图形窗口的同一坐标系上绘制多条曲线的方法有曲线的方法有4 4种种. .-4-3-2-101234-1-0.8-0.6-0.4-0.200.20.40.60.81sin xcos x1.使用使用plot(x,y1;y2;) 例例: :运行下列程序运行下列程序x =

17、 -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,y1;y2);legend(sin x,cos x); 图图 3.5 同一窗口多条曲线的绘制同一窗口多条曲线的绘制 这种方法的这种方法的缺点缺点是:所有的变是:所有的变量要有相同的长度和相同的自量要有相同的长度和相同的自变量向量,而且也不便于对各变量向量,而且也不便于对各条曲线分别设定线型和颜色。条曲线分别设定线型和颜色。 2.使用使用hold命令命令 在画完前一张图后,用在画完前一张图后,用hold on命令保持住,再画命令保持住,再画下一条曲线下一条曲线. 例如键入下列程序例如键入下列程序 x = -

18、pi:pi/20:pi; y1 = sin(x); y2 = cos(x); plot(x,y1); hold on; 执行此程序时,图形窗口产生第一幅图形,执行此程序时,图形窗口产生第一幅图形,同时图形处于保持状态。同时图形处于保持状态。 再键入再键入plot(x,y2,r),就把第二幅以红色的,就把第二幅以红色的曲线画在图上。曲线画在图上。用这种方法时,两张图各用这种方法时,两张图各自的自变量长度可以各不相同,只要每张自的自变量长度可以各不相同,只要每张图各自的自变量和因变量同长即可。图各自的自变量和因变量同长即可。-4-3-2-101234-1-0.8-0.6-0.4-0.200.20.

19、40.60.81-4-3-2-101234-1-0.8-0.6-0.4-0.200.20.40.60.81 注意注意: 使用使用hold on以后的图形都会在此图以后的图形都会在此图上绘制上绘制, 如果想将图形绘制在新的图形窗口如果想将图形绘制在新的图形窗口中中, 可以键入可以键入hold off命令及时解除保持状态。命令及时解除保持状态。 3.在在plotplot后使用多输入变量后使用多输入变量 使用这种方法,其语句格式:使用这种方法,其语句格式: plot(x1,y1,x2,y2,xn,yn) 该语句中该语句中xl、y1、x2、y2等分别为向量对。每一等分别为向量对。每一向量对可以绘出一条

20、曲线,这样就可以在一张图向量对可以绘出一条曲线,这样就可以在一张图上画出多条曲线,每一向量对的长度可以不同,上画出多条曲线,每一向量对的长度可以不同,在其后面都可加线型和颜色标志符。在其后面都可加线型和颜色标志符。x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,y1,go,x,y2,r:);title(线型、点型和颜色线型、点型和颜色);xlabel(时间时间),ylabel(Y);grid on; -4-3-2-101234-1-0.8-0.6-0.4-0.200.20.40.60.81线 型 、 点 型 和 颜 色时 间Y图图 3.6 多条曲

21、线的绘制多条曲线的绘制 其中一条曲线在数据点处用绿色的圆圈作标记,另一条曲线用其中一条曲线在数据点处用绿色的圆圈作标记,另一条曲线用红色的点线绘制。红色的点线绘制。对于单引号中的字符串,对于单引号中的字符串,MATLAB只作为一种代码来传递,只作为一种代码来传递,因此因此MATLAB可以把汉字标注在图上。可以把汉字标注在图上。 4.使用使用plotyy命令命令 plotyy设有两个纵坐标,以便绘制两个设有两个纵坐标,以便绘制两个y y尺度不同的变量,但尺度不同的变量,但x x仍用同一个比例尺,仍用同一个比例尺,例如,键入例如,键入 -4-3-2-101234-101-4-3-2-101234-

22、505图图3.7 双纵坐标图形双纵坐标图形 得到如图得到如图3.73.7所示图形,其中左纵所示图形,其中左纵坐标是对坐标是对y1y1(值(值0 01 1)的,而右)的,而右纵坐标是对纵坐标是对y2y2(值(值0 05 5)的,)的, x = -pi:pi/20:pi; y1 = sin(x); y2 = 5*cos(x); plotyy(x,y1,x,y2); grid on; gtext命令命令 纵坐标轴和曲线的标注可用纵坐标轴和曲线的标注可用gtext命令来放命令来放置。置。 gtext(x); gtext(y1); gtext(y2); gtext命令用鼠标拖动来确定标注文字的位命令用鼠

23、标拖动来确定标注文字的位置置,用起来比较方便。用起来比较方便。 3.1.5 3.1.5 多个图形窗口多个图形窗口 在计算机图形屏幕上可以同时打开几个在计算机图形屏幕上可以同时打开几个图形窗口,也可以在一个图形窗口内绘制图形窗口,也可以在一个图形窗口内绘制几幅子图,并且这几幅分图可用不同的坐几幅子图,并且这几幅分图可用不同的坐标显示。标显示。 1. 1. 多个图形窗口的创建多个图形窗口的创建 MATLAB可以创建不同标号的多个图形窗口。可以创建不同标号的多个图形窗口。 函数格式是:函数格式是:figure(n); 其中其中n代表打开第代表打开第n个图形窗口。当这个函数被执个图形窗口。当这个函数被

24、执行后,图行后,图n将会变为当前图形窗口,执行所有的将会变为当前图形窗口,执行所有的画图命令。画图命令。MATLAB默认打开默认打开“Figure 1”窗口。窗口。相关的其他函数相关的其他函数: : gcf函数用于返回当前图形窗口数。函数用于返回当前图形窗口数。 clf命令用于清除当前图形窗口的内容。命令用于清除当前图形窗口的内容。 close命令用于关闭图形窗。命令用于关闭图形窗。2. 2. 子图形窗口子图形窗口 在一个图形窗口内可以创建出多个在一个图形窗口内可以创建出多个子图形窗口。创建子图形窗口的命令子图形窗口。创建子图形窗口的命令格式是:格式是:subplot(m, n, p) 该命令

25、在当前窗口内创建该命令在当前窗口内创建m行行n列个列个子图形窗口,子图形窗口,p表示当前第表示当前第p个子图形窗口。个子图形窗口。这些子窗口以从左向右从上到下编号。这些子窗口以从左向右从上到下编号。 eg. subplot(2,3,4) 例如例如运行下列程序,结果如图运行下列程序,结果如图3.8所示。所示。 figure(2) ;subplot(2,1,1);x= -pi:pi/20:pi;y=sin(x);plot(x,y) ; grid on;title(正弦曲线正弦曲线); subplot(2,1,2); x= -pi:pi/20:pi; y=cos(x);plot(x,y); grid

26、 on;title(余弦曲线余弦曲线); 图图 3.8 多个子窗口的图形多个子窗口的图形3.1.6 3.1.6 对数坐标图形对数坐标图形 在直角坐标系中的坐标轴默认为线性刻度,此在直角坐标系中的坐标轴默认为线性刻度,此外也可以用对数刻度,如果在外也可以用对数刻度,如果在x、y轴上使用这两轴上使用这两种刻度的一种或两种,可组合形成下列种刻度的一种或两种,可组合形成下列4种不同的种不同的坐标系:坐标系: plot函数的函数的x,y均用线性刻度均用线性刻度 semilogx函数函数x轴用对数刻度,轴用对数刻度,y轴将用线性刻度轴将用线性刻度 semilogy函数函数x轴用线性刻度,轴用线性刻度,y轴

27、用对数刻度轴用对数刻度 loglog函数两坐标轴都用对数刻度。函数两坐标轴都用对数刻度。 这四个函数在意义上是等价的,只是坐标轴的类型不同,运行下面的这四个函数在意义上是等价的,只是坐标轴的类型不同,运行下面的程序,将显示如图程序,将显示如图3.9所示图形。所示图形。 x=0:0.1:10;y=x.2 -10.*x +25;subplot(2,2,1);plot(x,y); grid on;xlabel(a) x、y轴线性刻度轴线性刻度);subplot(2,2,2);semilogx(x,y); grid on;xlabel(b) x轴对数刻度、轴对数刻度、y轴线性刻度轴线性刻度);subp

28、lot(2,2,3);semilogy(x,y); grid on;xlabel(c) x轴线性刻度、轴线性刻度、y轴对数刻度轴对数刻度);subplot(2,2,4);loglog(x,y); grid on;xlabel(d) x、y轴对数刻度轴对数刻度); 02468100510152025a) x、 y轴 线 性 刻 度10-11001010510152025b) x轴 对 数 刻 度 、 y轴 线 性 刻 度024681010-210-1100101102c) x轴 线 性 刻 度 、 y轴 对 数 刻 度10-110010110-210-1100101102a) x、 y轴 对 数

29、 刻 度图图3.9 各种坐标轴刻度图形各种坐标轴刻度图形 3.1.7 3.1.7 坐标轴上下限的设置坐标轴上下限的设置 MATLAB可根据输入数据的大小自动可根据输入数据的大小自动设置坐标轴的大小,用户也可以根据需要设置坐标轴的大小,用户也可以根据需要用用axis命令命令/函数自行设置坐标比例并选择函数自行设置坐标比例并选择图形边界范围,即允许用户设置图形边界范围,即允许用户设置x、y轴上轴上值的范围,值的范围,axis命令命令/函数的使用形式如表函数的使用形式如表3-3所示。所示。 命命 令令功功 能能 或或 意意 义义v=axis此命令此命令/函数返回函数返回4个数据个数据xmin xma

30、x ymin ymax,分别表示,分别表示x,y轴的上下轴的上下限范围限范围axis(xmin xmax ymin ymax)xmin xmax设定横轴设定横轴x的下限及上限,的下限及上限,ymin ymax设定纵轴设定纵轴y的下限及上限的下限及上限axis equal横轴、纵轴的长度设置等长刻度横轴、纵轴的长度设置等长刻度axis square产生正方形坐标值产生正方形坐标值axis normal以预设值画纵轴及横轴以预设值画纵轴及横轴axis off将纵轴及横轴取消将纵轴及横轴取消axis on打开所有的轴背景打开所有的轴背景(默认情况默认情况)egeg. .画一个球体画一个球体 sphe

31、re(25) pause axis equal pause axis normal pause axis square pause axis normaleg. 画出函数画出函数f(x) = sin(x) 从从-2到到2之间两个周期的之间两个周期的图形曲线,如图图形曲线,如图3.10所示,然后设置坐标的区域所示,然后设置坐标的区域为为0 x,0f(x)1。x=-2*pi:pi/20:2*pi;fx=sin(x) ;plot(x,fx) ;title(Plot of sin(x) vs x);grid on; -8-6-4-202468-1-0.8-0.6-0.4-0.200.20.40.60.

32、81Plot of sin(x) vs x图图 3.10 以以x为自变量的为自变量的sinx的图形的图形 获取当前图形中坐标轴的上下限获取当前图形中坐标轴的上下限,键入,键入axis命令命令可得到当前图形中坐标轴的可得到当前图形中坐标轴的x、y的范围。的范围。axisans = -8 8 -1 1 重新设置坐标轴的上下限重新设置坐标轴的上下限,使它在,使它在0 pi 0 1范范围内显示曲线。围内显示曲线。axis(0 pi 0 1)00.511.522.5300.10.20.30.40.50.60.70.80.91Plot of sin(x) vs x图图3.11 画图区域为画图区域为0 0

33、1的曲线的曲线 3.1.8 3.1.8 极坐标下的绘图极坐标下的绘图 MATLAB中包括一个重要的函数叫做中包括一个重要的函数叫做polar,它用于在极坐标系中画图。它用于在极坐标系中画图。 基本格式如下:基本格式如下:polar(theta,r) 其中其中theta代表一个弧度角数组,代表一个弧度角数组,r代表离原点的距离数组。代表离原点的距离数组。 eg.运行下列程序,运行下列程序, 将得到如图所示的结果。将得到如图所示的结果。theta = 0:pi/20:2*pi;r = 0.5+cos(theta);polar(theta,r); 0.5 1 1.530210602409027012

34、030015033018003.1.9 3.1.9 复数的绘图复数的绘图 由于复数数据既包括实部又包括虚部,由于复数数据既包括实部又包括虚部,所以在所以在MATLAB中复数数据的绘图与普通中复数数据的绘图与普通实数数据的绘图有所区别。分实数数据的绘图有所区别。分3种情况。种情况。1plot(z) z为复数变量时(即含有非零的虚部),把复数为复数变量时(即含有非零的虚部),把复数的实部作为横坐标、虚部作为纵坐标进行绘图,的实部作为横坐标、虚部作为纵坐标进行绘图,即相当于即相当于plot (real (z), imag(z)。 例如绘制下面函数曲线例如绘制下面函数曲线: y(t) = e 0.1t

35、 (cost + i sin t) 运行下面的程序,将得到如图运行下面的程序,将得到如图3.13所示的曲线。所示的曲线。t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t);plot(y); grid on ;title(Plot of Complex Function vs Time);xlabel(Real Part);ylabel(Imaginary Part); -6-4-202468-6-4-20246Plot of Complex Function vs TimeReal PartImaginary Part2、plot(t

36、,z)相当于相当于plot(t, real(z),即横坐标为,即横坐标为t,纵坐标为,纵坐标为real(z),z中的虚数部分将被丢弃中的虚数部分将被丢弃 。eg.t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t);plot(t, y); grid on ;title(Plot of Complex Function vs Time);xlabel(t);ylabel(y(t); 02468101214161820-6-4-202468Plot of Complex Function vs Timety(t)图图3.14 只有实部的图形

37、只有实部的图形 在复平面内分别绘制函数的实部和虚部曲在复平面内分别绘制函数的实部和虚部曲线,则须用线,则须用hold on命令命令. eg. 运行下列语句,在相同的时间轴内画出运行下列语句,在相同的时间轴内画出函数的实部和虚部图形,如图函数的实部和虚部图形,如图3.15所示。所示。t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t);plot(t, real(y),b-);grid on;hold on;plot(t, imag(y),r-);title(Plot of Complex Function vs Time);xlabel(

38、t);ylabel(y(t);legend(real,imaginary);hold off; 02468101214161820-6-4-202468Plot of Complex Function vs Timety(t)realimaginary图图 3.15 含有函数实部和虚部的图形含有函数实部和虚部的图形3.3. polar(theta,r) 极坐标系下绘图,其中极坐标系下绘图,其中thetatheta表示虚部和实部表示虚部和实部形成的夹角,形成的夹角,r r为数据点到原点之间的距离为数据点到原点之间的距离egeg. .t = 0:pi/20:6*pi;y = exp(0.1*t)

39、.* (cos(t) + i * sin(t);polar(angle(y),abs(y);title(Plot of Complex Function); 2 4 6 83021060240902701203001503301800Plot of Complex Function图图 3.16 y(t)的极坐标图的极坐标图 3.1.10 3.1.10 特殊二维图形的绘制特殊二维图形的绘制 在直角坐标系中,除了上面我们已经在直角坐标系中,除了上面我们已经看到的各种曲线图形外,看到的各种曲线图形外,MATLAB还支持还支持其它的一些特殊图形其它的一些特殊图形: 火柴杆图(火柴杆图(stem)、阶

40、梯图()、阶梯图(stair) 条形图条形图(bar)、饼图(、饼图(pie) 罗盘图(罗盘图(compass)、直方图()、直方图(hist)函函 数数描描 述述bar(x, y)绘制垂直的条形图绘制垂直的条形图 barh(x, y)绘制水平的条形图绘制水平的条形图compass(x, y)绘制极坐标图,它的每一个值都用箭头表示,绘制极坐标图,它的每一个值都用箭头表示,从原点指向(从原点指向(x,y)pie(x)pie(x, explode)绘制一个饼状图,绘制一个饼状图,x代表占总数的百分数代表占总数的百分数explode用来确定是否从饼图中分离对应的用来确定是否从饼图中分离对应的一部分块

41、一部分块stairs(x, y)绘制阶梯图,每一个阶梯阶跃点为点绘制阶梯图,每一个阶梯阶跃点为点(x, y)stem(x, y)绘制一个火柴杆图绘制一个火柴杆图hist(y)绘制直方图绘制直方图表表34 特殊二维图形的类型特殊二维图形的类型 火柴杆图、阶梯图、条形图、饼图、罗盘图与普火柴杆图、阶梯图、条形图、饼图、罗盘图与普通的图形差不多,它们的调用方式相同。通的图形差不多,它们的调用方式相同。 例如,下面是一个火柴杆图的程序。例如,下面是一个火柴杆图的程序。x = 1 2 3 4 5 6;y = 2 6 8 7 8 5;stem(x,y);title(Example of a Stem Pl

42、ot);xlabel(x);ylabel(y);axis(0 7 0 10); 01234567012345678910Example of a Stem Plotxy(a)火柴杆图火柴杆图 01234567012345678910Example of a Stair Plotxy123456012345678910Example of a Bar Plotxy(b) 阶梯图阶梯图 (c ) 条形图条形图 (d) 罗盘图罗盘图 阶梯图、条形图、罗盘图可以通过阶梯图、条形图、罗盘图可以通过调用调用stairs、bar、barh和和compass命令来创建,其图形如图命令来创建,其图形如图3.17

43、(b)、(c)、(d)所示。所示。x = 1 2 3 4 5 6;y = 2 6 8 7 8 5; 2 4 6 8 103021060240902701203001503301800stemstem,stairsstairs用于绘制离散数据用于绘制离散数据eg. 绘制绘制y=ey=e-t-tsin(2t)sin(2t)的图形的图形 t=0:0.1:10; y=exp(-t).*sin(2*t); subplot(2,1,1); stem(t,y,fill); subplot(2,1,2); stairs(t,y,r-); 又称为频数直方图,适于显示数据集的分布情况又称为频数直方图,适于显示数据

44、集的分布情况并具有统计的功能。并具有统计的功能。 hist(y,n) %统计每段的元素个数并画出直方图统计每段的元素个数并画出直方图 N=hist(y,x)%统计出每段元素个数统计出每段元素个数 说明:说明: n为分段的个数,为分段的个数,n省略时则默认为分成省略时则默认为分成10段;段; x是向量,用于指定所分每个数据段的中间值;是向量,用于指定所分每个数据段的中间值; y可以是向量或矩阵,如果是矩阵则按列分段;可以是向量或矩阵,如果是矩阵则按列分段; N是每段元素个数,是每段元素个数,N可省略,省略时绘制图形。可省略,省略时绘制图形。直方图直方图例例 绘制直方图统计并显示数据,如图所示。绘

45、制直方图统计并显示数据,如图所示。 x=randn(100,1) ; %产生产生100个正态分布的随机数个正态分布的随机数 subplot(2,1,1); hist(x,20); %分分20段段 subplot(2,1,2); hist(x,-3:1:3); %确定每段中间值确定每段中间值 sum(x1.5) %计算计算1.52.5间的元素个数间的元素个数 饼图饼图 pie(y,explode) explode是一个逻辑数组,其数值为是一个逻辑数组,其数值为1或或0。如果。如果explode的值为的值为1,那么它对应的扇区就从整体中,那么它对应的扇区就从整体中分离出来。分离出来。eg.data

46、 = 10 37 5 6 6;explode = 0 1 0 0 0;pie(data, explode);title(Example of a Pie Plot);legend(One,Two,Three,Four,Five); 16%58%8%9%9%Example of a Pie PlotOneTwoThreeFourFive图图 3.18 饼形图饼形图 3.2 3.2 三维曲线作图三维曲线作图 3.2.1 三维曲线的绘制三维曲线的绘制 可以用可以用plot3函数进行三维曲线的作图,这个函数函数进行三维曲线的作图,这个函数与二维与二维plot函数非常相似,每一个点是用函数非常相似,每一

47、个点是用x,y,z三三个数来表示,它的格式是:个数来表示,它的格式是: plot3(x, y, z,s); 其中其中x、y、z是个数相等的数组,组成了点的是个数相等的数组,组成了点的3维坐标,维坐标,s为线型、点型、颜色字符串,函数为线型、点型、颜色字符串,函数plot3提供了和提供了和plot函数相同的线型,点型和颜色。函数相同的线型,点型和颜色。 例如绘制二维机械系统振荡衰减情况的曲线,例如绘制二维机械系统振荡衰减情况的曲线,x、y有一相同的有一相同的自变量自变量t, x、y代表在时刻代表在时刻t系统的位置。利用系统的位置。利用plot3函数画出时函数画出时间、物体位置的三维图形。间、物体

48、位置的三维图形。【例例3.2.1】t = 0:0.1:10;x = exp(-0.1*t) .* cos(4*t);y = exp(-0.1*t) .* sin(4*t);plot3(x,y,t);title(Three-Dimensional Line Plot);xlabel(x);ylabel(y);zlabel(Time);axis square;grid on; -1-0.500.51-1-0.500.510246810 xThree-Dimensional Line PlotyTime图图 3.19 三维坐标图形三维坐标图形 3.2.2 三维表面、网格、等高线图形的绘制三维表面、网

49、格、等高线图形的绘制 函函 数数描描 述述mesh(x, y, z)绘制三维网格图形。其中数组绘制三维网格图形。其中数组x包括要画得包括要画得每一点的每一点的x值,数组值,数组y包括要画得每一点包括要画得每一点的的y值,数组值,数组z包括要画得每一点的包括要画得每一点的z值值surf(x, y, z)绘制三维表面图形绘制三维表面图形 contour(x, y, z) 绘制三维等高线图形绘制三维等高线图形 三维绘图时需要已知三维绘图时需要已知x,y,才能求出才能求出z,从而画图从而画图.函数函数meshgrid可使函数图形数组可使函数图形数组x、y的创建的创建变得十分容易。变得十分容易。 格式为

50、:格式为: x y = meshgrid(xstart:xinc:xend, ystart:yinc:yend); xstart:xinc:xend指出指出x的取值范围,的取值范围,ystart:yinc:yend指出指出y的取值范围。的取值范围。 为了创建一个三维图形,为了创建一个三维图形,首先首先用用meshgrid函数来建立函数来建立x、y的的值,值,然后然后通过表面、网格、等高线函数计算(通过表面、网格、等高线函数计算(x,y)相对应)相对应的的z值,值,最后最后再调用函数再调用函数mesh、surf或或contour来创建图形。来创建图形。例如,绘制下面函数的网格图形,例如,绘制下面

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文([经济学]第3章-MATLAB图形图像处理-1课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|