




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第3章 MATLAB作图,3.1 二维绘图 3.2 基本三维绘图命令,2,3.1 二维绘图(2-D plotting),3.1.1 绘图的一般步骤 1. 曲线数据准备 2. 指定图形窗口和子图位置 3. 绘制图形 4. 设置坐标轴和图形注释 5. 仅对三维图形使用的着色和视点等设置 6. 图形的精细修饰 7. 按指定格式保存或导出图形,3,3.1.2 基本绘图函数,MATLAB 7.3中最基本的绘图函数是绘制曲线函数plot。 plot(y) %绘制以y为纵坐标、以该向量元素的下标为横坐标的二维曲线 plot(x,y) %绘制以x为横坐标y为纵坐标的二维曲线 plot(x1,y1,x2,y2) %在同一窗口绘制多条二维曲线 说明:x和y可以是实数向量或矩阵,也可以是复数向量或矩阵。,4,例3-3 绘制矩阵y为23的曲线图 y=1 2 3;4 5 6; plot(y),y是23的矩阵,每列画一条曲线共3条,第一条线纵坐标画的是1 4两点。,5,例3-4 绘制方波信号,如图3-4所示。 x=0 1 1 2 2 3 3 4 4; y=1 1 0 0 1 1 0 0 1; plot(x,y),6,例5-3 分析下列程序绘制的曲线。 x1=linspace(0,2*pi,100); x2=linspace(0,3*pi,100); x3=linspace(0,4*pi,100); y1=sin(x1); y2=1+sin(x2); y3=2+sin(x3); x=x1;x2;x3; y=y1;y2;y3; plot(x,y,x1,y1-1),7,x和y为向量或矩阵时的plot(x,y),分别有以下几种情况: x是向量y是矩阵时: x的长度与矩阵y的行数或列数必须相等,如果x的长度与y的每列元素个数相等,向量x与y的每列向量画一条曲线; 如果x的长度与y的每行元素个数相等,则向量x与矩阵y的每行向量对应画一条曲线; 如果y是方阵,x和y的行数和列数都相等,则向量x与矩阵y的每列向量画一条曲线。 x是矩阵y是向量时: y的长度必须等于x的行数或列数,绘制的方法与前一种相似。 x和y都是矩阵时: x和y大小必须相同,矩阵x的每列与y的每列画一条曲线。,8,例3-6 x是矩阵,分别绘制x与y1和x与y2的曲线,已知y1是向量且长度与x的行数相等,y2是矩阵且与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),9,3.1.3符号函数(显函数、隐函数和参数方程)画图,(1) ezplot,ezplot(x(t),y(t),tmin,tmax) 表示在区间tminttmax绘制参数方程 x=x(t),y=y(t)的函数图 默认区域为-2 x 2.,ezplot(f(x),a,b) 表示在axb绘制显函数f=f(x)的函数图,ezplot(f(x,y),xmin,xmax,ymin,ymax) 表示在区间xminxxmax和 yminyymax绘制 隐函数f(x,y)=0的函数图,10,例 在0,pi上画y=cos(x)的图形,解 输入命令 ezplot(sin(x),0,pi);,解 输入命令 ezplot(cos(t)3,sin(t)3,0,2*pi);,解 输入命令 ezplot(exp(x)+sin(x*y),-2,0.5,0,2),11,(2) fplot,注意: 1 fun必须是M文件的函数名或是独立变量为x的字符串. 2 fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。,fplot(fun,lims) 表示绘制字符串fun指定的函数在lims=xmin,xmax的图形.,12,解 先建M文件myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.2),再输入命令: fplot(myfun1,-1,2),解 输入命令: fplot(tanh(x),sin(x),cos(x),2*pi*-1 1),例 在-2,2范围内绘制函数tanh的图形 解 fplot(tanh,-2,2),13,3.1.4 多个图形的绘制,1 图形窗口的分割 subplot函数的调用格式为: subplot(m,n,p) 该函数将当前图形窗口分成mn个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。在每一个绘图区允许以不同的坐标系单独绘制图形。,14,例3-8 在同一个窗口中建立四个子图,在子图中分别绘制sin(x)、cos(x)、sin(2x)和cos(2x)曲线,如图3-8所示。 x=0:0.1:10; subplot(2,2,1)%第一行左图 plot(x,sin(x) subplot(2,2,2) %第一行右图 plot(x,cos(x) subplot(2,2,3) %第二行左图 plot(x,sin(2*x) subplot(2,2,4) %第二行右图 plot(x,cos(2*x),15,2具有两个纵坐标标度的图形 在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为: plotyy(x1,y1,x2,y2) 其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。,16,例5-4 用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x)。 程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); plotyy(x,y1,x,y2);,17,例5-5 采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x)。 程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); plot(x,y1) hold on y2=2*exp(-0.5*x).*cos(pi*x); plot(x,y2); hold off,3图形保持 hold on/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。,18,figure(h),例 区间0,2*pi新建两个窗口分别画出y=sin(x);z=cos(x)。,解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); title(sin(x); pause figure(2); plot(x,z); title(cos(x);,新建h窗口,激活图形使其可见,并把它置于其它图形之上,19,3.1.5 设置曲线样式 MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。例如,“b-.”表示蓝色点划线,“y:d”表示黄色虚线并用菱形符标记数据点。当选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次不同。 要设置曲线样式可以在plot函数中加绘图选项,其调用格式为: plot(x1,y1,选项1,x2,y2,选项2,xn,yn,选项n),y 黄色 . 点 - 连线 m 洋红 o 圈 : 短虚线 c 蓝绿色 x x-符号 -. 长短线 r 红色 + 加号 - 长虚线,20,例5-6 在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x),标记两曲线交叉点。 程序如下: 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)1e-2); %查找y1与y2相等点(近似相等)的下标 x1=x(k); %取y1与y2相等点的x坐标 y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求y1与y2值相等点的y坐标 plot(x,y1,x,y2,k:,x1,y3,bp);,21,例 在0,2*pi用红线画sin(x),用绿圈画cos(x).,x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,r,x,z,go),解,22,3.1.6 图形标注与坐标控制 1图形标注 有关图形标注函数的调用格式为: title(图形名称) xlabel(x轴说明) ylabel(y轴说明) text(x,y,图形说明) legend(图例1,图例2,pos):在pos位置建立图例:0(自动取最佳位置),1(右上角,默认值),3(左下角),4(右下角),-1(图外右侧),23,函数中的说明文字,除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。例如,text(0.3,0.5,sin(omegat+beta)将得到标注效果sin(t+)。,24,例5-7 在0x2区间内,绘制曲线y1=2e-0.5x和y2=cos(4x),并给图形添加图形标注。 程序如下: x=0:pi/100:2*pi; y1=2*exp(-0.5*x); y2=cos(4*pi*x); plot(x,y1,x,y2) title(x from 0 to 2pi); %加图形标题 xlabel(Variable X); %加X轴说明 ylabel(Variable Y); %加Y轴说明 text(0.8,1.5,曲线y1=2e-0.5x); %在指定位置添加图形说明 text(2.5,1.1,曲线y2=cos(4pix); Legend(y1, y2) %加图例,25,2坐标控制 axis函数的调用格式为: axis(xmin xmax ymin ymax zmin zmax) axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度。 axis square:产生正方形坐标系(缺省为矩形)。 axis auto:使用缺省设置。 axis off:取消坐标轴。 axis on:显示坐标轴。,定制图形坐标,例 在区间0 pi/2 0 5显示tan(x)的图形。,解 x = 0:.025:pi/2; plot(x,tan(x),-ro) axis(0 pi/2 0 5),26,给坐标加网格线用grid命令来控制。grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。 给坐标加边框用box命令来控制。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。,27,例5-8 在同一坐标中,绘制3个同心圆,并加坐标控制。 程序如下: t=0:0.01:2*pi; x=exp(i*t); y=x;2*x;3*x; plot(y) grid on; %加网格线 box on; %加坐标边框 axis equal %坐标轴采用等刻度,28,3.1.7缩放图形,zoom on,单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为中心的图形放大2倍;单击鼠标右键,则缩小2倍,解 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) zoom on,例 缩放y=sin(x)的图形,zoom off,为当前图形打开缩放模式,关闭缩放模式,29,在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; X,Y=meshgrid(x,y); 语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。,3.2 基本三维绘图命令,30,plot3(x,y,z,s) %绘制三维曲线 说明:x,y,z必须是相同尺寸的数组,当是向量时则绘制一条三维曲线,当是矩阵时绘制多条曲线,三维曲线的条数等于矩阵的列数。,3.2.1 三维曲线图,例 在区间0,10*pi画出参数曲线 x=sin(t),y=cos(t), z=t.,解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t),31,例 画多条曲线观察函数Z=(X+Y).2.,解 x=-3:0.1:3;y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; plot3(X,Y,Z),32,例 画函数Z=(X+Y).2的图形. 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; surf(X,Y,Z),(1) surf(x,y,z),画出数据点(x,y,z)表示的曲面,3.2.2 三维曲面图,33,(2) Mesh(x,y,z),解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; mesh(X,Y,Z),例 画出Z=(X+Y).2在的网格曲面图.,画网格曲面,34,(3)meshz(X,Y,Z) 含零平面的网格图,上例中,若用 meshz(X,Y,Z),结果为:,35,Exercise,在010的坐标轴范围内绘制一条水平线,一条垂直线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阿里地区2025-2026学年八年级下学期语文期末模拟试卷
- 2025 年小升初天津市初一新生分班考试数学试卷(带答案解析)-(冀教版)
- emshkm2025年河南省建设工程造价员资格认证考试试卷
- 社区节前安全知识培训课件
- 山东省聊城市东昌府区王口小学2024-2025学年二年级下学期数学期末检测卷(无答案)
- 北师大版五年级上册数学第二单元 轴对称和平移 检测卷(无答案)
- 退休人员应聘合同范本
- 燃气施工安装合同范本
- 社区春季消防知识培训课件
- 建材维修安装合同范本
- 机关公文写作课件
- 手术病例书写规范
- 对标一流-2025年国央企风控合规案例白皮书
- 《心律失常了解》课件
- 数字位移:重新思考数字化
- 四川省成都盐道街中学2025届高考考前模拟数学试题含解析
- 新北师大版二年级上册数学总复习课件
- 剧场技术管理与舞台监督考核试卷
- 建筑劳务公司合同
- 304不锈钢圆管检验报告
- 老年精神科安全护理管理
评论
0/150
提交评论