MATLAB基础与应用教程 教学课件 ppt 蔡旭晖 刘卫国 蔡立燕 第3章

上传人:E**** 文档编号:89370650 上传时间:2019-05-24 格式:PPT 页数:43 大小:300KB
返回 下载 相关 举报
MATLAB基础与应用教程 教学课件 ppt 蔡旭晖 刘卫国 蔡立燕 第3章_第1页
第1页 / 共43页
MATLAB基础与应用教程 教学课件 ppt 蔡旭晖 刘卫国 蔡立燕 第3章_第2页
第2页 / 共43页
MATLAB基础与应用教程 教学课件 ppt 蔡旭晖 刘卫国 蔡立燕 第3章_第3页
第3页 / 共43页
MATLAB基础与应用教程 教学课件 ppt 蔡旭晖 刘卫国 蔡立燕 第3章_第4页
第4页 / 共43页
MATLAB基础与应用教程 教学课件 ppt 蔡旭晖 刘卫国 蔡立燕 第3章_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《MATLAB基础与应用教程 教学课件 ppt 蔡旭晖 刘卫国 蔡立燕 第3章》由会员分享,可在线阅读,更多相关《MATLAB基础与应用教程 教学课件 ppt 蔡旭晖 刘卫国 蔡立燕 第3章(43页珍藏版)》请在金锄头文库上搜索。

1、第3章 图形绘制,MATLAB有两类绘图命令,一类是直接对图形句柄进行操作的低层绘图命令,另一类是在低层命令基础上建立起来的高层绘图命令。高层绘图命令简单明了、方便高效。利用高层绘图函数,用户不需要过多地考虑绘图细节,只需给出一些基本参数就能得到所需图形。 【本章学习目标】 掌握绘制二维和三维图形的高层绘图函数。 掌握图形控制函数的使用方法。 了解图像处理的基本方法和动画制作的基本原理。,3.1.1 绘制二维曲线 1plot函数 plot(x,y) 其中x和y为大小相同的向量,分别用于存储x坐标和y坐标数据。 【例3.1】绘制曲线 t=0:0.1:8*pi; x=cos(t)+t.*sin(t

2、); y=sin(t)-t.*cos(t); plot(x,y);,(1)当x和y是同维矩阵时,配对的x、y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。例如,在同一坐标中绘制3条幅值不同的正弦曲线,命令为 x=0:pi/10:2*pi; y=sin(x); plot(x;x;x,y;y*2;y*3) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根曲线,曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。例如,在同一坐标中绘制3条幅值不同的正弦曲线,命令也可以写成: x=0:pi/10:2*pi; y=sin(x); plot(x,y;y*2;y*3) (2)当p

3、lot函数只有一个输入参数时,即 plot(y) 若y是实型向量,则以该向量元素的下标为横坐标、元素值为纵坐标画出一条连续曲线;若y是复数向量,则分别以向量元素实部和虚部为横、纵坐标绘制一条曲线。若y是实矩阵,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数;若y是复数矩阵,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。,(3)当plot函数有多个输入参数,且都为向量时,即 plot(x1,y1,x2,y2,xn,yn) 其中,x1和y1,x2和y2,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条

4、曲线。例如,在同一坐标中绘制3条幅值不同的正弦曲线,命令也可以写成: x=0:pi/10:2*pi; y=sin(x); plot(x,y,x,y*2,x,y*3),2具有两个纵坐标标度的图形 绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。这种图形有利于图形数据的对比分析。 plotyy(x1,y1,x2,y2) 其中,x1和y1对应一条曲线,x2和y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1、y1数据对,右纵坐标用于x2、y2数据对。 【例3.2】用不同标度在同一坐标内绘制曲线y1 = 0.2e0.5xcos(4x)和y2 = 1.5e0.5x c

5、os(x)。 程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=1.5*exp(-0.5*x).*cos(pi*x); plotyy(x,y1,x,y2);,3.1.2 设置曲线样式 MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。例如,“b-.”表示蓝色点画线,“y:d”表示黄色虚线并用菱形符标记数据点。当选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次采用表3.2给出的前7种颜色。,要设置曲线样式可以在plot函数中加绘图选项,其调用格式为 plot(x1,y1,选项

6、1,x2,y2,选项2,xn,yn,选项n) 【例3.3】在同一坐标内,分别用不同线型和颜色绘制曲线y1 = 0.2e0.5xcos(4x)和y2 = 1.5e0.5x cos(x)。标记两曲线交叉点。 程序如下: x=linspace(0,2*pi,1 000); y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=1.5*exp(-0.5*x).*cos(pi*x); k=find(abs(y1-y2)1e-2); %查找y1与y2相等点(近似相等)的下标 x1=x(k); %取y1与y2相等点的x坐标 y3=0.2*exp(-0.5*x1).*cos(4*pi*x1)

7、; %求y1与y2值相等点的y坐标 plot(x,y1,x,y2,k:,x1,y3,bp);,3.1.3 图形标注与坐标控制 1图形标注 在绘制图形的同时,可以对图形加上一些说明,如图形名称、坐标轴说明、图形某一部分的含义等,这些操作称为添加图形标注。有关图形标注函数的调用格式如下。 title(图形名称) xlabel(x轴说明) ylabel(y轴说明) text(x,y,图形说明) legend(图例1,图例2,) title和xlabel、ylabel 函数分别用于说明图形和坐标轴的名称。text函数是在(x,y)坐标处添加图形说明。添加文本说明也可用gtext命令,执行该命令时,十字

8、坐标光标自动跟随鼠标移动,单击鼠标即可将文本放置在十字光标处,如命令gtext(cos(x),即可放置字符串cos(x)。legend函数用于绘制曲线所用线型、颜色或数据点标记图例,,上述函数中的说明文字,除使用标准的ASCII字符外,还可使用LaTeX(LaTeX是一种十分流行的数学排版软件)格式的控制字符,这样就可以在图形上添加希腊字母、数学符号、公式等内容。在MATLAB支持的LaTeX字符串中,用bf、it、rm控制字符分别定义黑体、斜体和正体字符,受LaTeX字符串控制部分要加大括号括起来。 例如使得“MATLAB”一词黑体显示 text(0.3,0.5,The useful bf

9、MATLAB) 得到标注效果sin(t + ) text(0.3,0.5,sin(omega t+beta),【例3.4】在0x2区间内,绘制曲线y1 = e0.5x和y2 = cos(4x)e0.5x,并添加图形标注。 程序如下: x=0:pi/100:2*pi; y1=exp(-0.5*x); y2=exp(-0.5*x).*sin(2*x); plot(x,y1,x,y2) title(x from 0 to 2pi); %加图形标题 xlabel(Variable X); %加X轴说明 ylabel(Variable Y); %加Y轴说明 text(1.5,0.5,曲线y1=e-0.5

10、x); %在指定位置添加图形说明 text(3,-0.1,曲线y2=cos(4pix)e-0.5x); legend(y1,y2) %加图例,2坐标控制 根据要绘制曲线数据的范围选择合适的坐标刻度 axis(xmin xmax ymin ymax) 系统按照给出的坐标轴的最小值和最大值选择坐标系范围 axis函数的其他用法 axis auto:使用默认设置。 axis equal:纵、横坐标轴采用等长刻度。 axis square:产生正方形坐标系(默认为矩形)。 axis on/off:显示/取消坐标轴。 给坐标加网格线用grid命令来控制,加边框用box命令来控制。grid on/off命

11、令控制是画还是不画网格线,box on/off命令控制是加还是不加边框线。,【例3.5】绘制曲线 及其包络线。 程序如下: t=(0:pi/100:pi); y1=sin(t)*1,-1; %包络线函数值 y2=sin(t).*sin(9*t); plot(t,y1,y2) grid on; %加网格线 box on; %加坐标边框 axis equal %坐标轴采用等刻度,使用plot函数绘图时,都是等间隔取点。fplot函数可自适应地对函数进行采样,调用格式为 fplot(fname,lims,tol,选项) 其中,fname为函数名,以字符串形式出现。它可以是由多个分量函数构成的行向量,

12、分量函数可以是函数的直接字符串,也可以是内部函数名或函数文件名,但自变量都必须为x。lims为x、y的取值范围,以行向量形式出现,取二元向量xmin,xmax时,x轴的范围被人为确定,取四元向量xmin,xmax,ymin,ymax时,x、y轴的范围被人为确定。tol为相对允许误差,其系统默认值为2e 3。选项定义与plot函数相同。例如: fplot(sin(x),cos(x),0,2*pi,-1.5,1.5,1e-3,r.) 观察上述语句绘制的正余弦曲线采样点的分布,可发现曲线变化率大的区段,采样点比较密集。,1图形窗口的分割 分割后的图形窗口由若干个绘图区组成,每一个绘图区可以建立独立的

13、坐标系并绘制图形。同一图形窗口中的不同图形称为子图。 subplot(m,n,p) 该函数将当前图形窗口分成m n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。在每一个绘图区允许以不同的坐标系单独绘制图形。 【例3.7】在图形窗口中,以子图形式同时绘制多根曲线。 程序如下: subplot(2,2,1 3); fplot(x-cos(x3)-sin(2*x2),-3,3); xlabel(a); x=-3:0.1:3; subplot(2,2,2); y2 = sin(2.*x.2); plot(x,y2);xlabel(b); axis(-3 3 -1.2 1.

14、2) subplot(2,2,4); y3 = cos(x.3); plot(x,y3);xlabel(c); axis(-3 3 -1.2 1.2); grid on;,2图形叠加 一般情况下,绘图命令每执行一次就刷新当前图形窗口,图形窗口原有图形将不复存在。若希望在已存在的图形上再叠加新的图形,可使用图形保持命令hold。hold on/off命令控制是保持原有图形还是刷新原有图形。例如: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); plot(x,y1) hold on y2=1.5*exp(-0.5*x).*cos(pi*x); p

15、lot(x,y2); hold off,3.1.6 其他坐标系 1对数坐标图形 semilogx(x1,y1,选项1,x2,y2,选项2,) semilogy(x1,y1,选项1,x2,y2,选项2,) loglog(x1,y1,选项1,x2,y2,选项2,) 其中,选项的定义与plot函数完全一致,所不同的是坐标轴的选取。semilogx函数使用半对数坐标,x轴为常用对数刻度,而y轴仍保持线性刻度。semilogy函数也使用半对数坐标,y轴为常用对数刻度,而x轴仍保持线性刻度。loglog函数使用全对数坐标,x、y轴均采用常用对数刻度。 【例3.8】绘制y = ex的对数坐标图并与直角线性坐标图进行比较。 程序如下: x=0:0.1:10;y=exp(-x); subplot(2,2,1);plot(x,y); title(plot(x,y);grid on; subplot(2,2,2);semilogx(x,y); title(semilogx(x,y);grid on; subplot(2,2,3);semilogy(x,y); title(semilogy(x,y);grid on; subplot(2,2,4);loglog(x,y); title(loglog(x,y);grid on;,2极坐标图 极坐标图用一个夹

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号