书签 分享 收藏 举报 版权申诉 / 107
上传文档赚钱

类型大学精品课件:第三讲 matlab 绘图.ppt

  • 上传人(卖家):金钥匙文档
  • 文档编号:431332
  • 上传时间:2020-04-04
  • 格式:PPT
  • 页数:107
  • 大小:2.09MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《大学精品课件:第三讲 matlab 绘图.ppt》由用户(金钥匙文档)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    大学精品课件:第三讲 matlab 绘图 大学 精品 课件 三讲
    资源描述:

    1、第三讲 matlab 绘图,matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。,matlab语言的绘图功能,不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。 matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力句柄绘图方法。 在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。,一、二维绘图,(一)plot 最基本的二维图形指令 plot的功能: plot命令自动打开一个图形窗口Figure 用直线连接相邻两数据点来绘制图形 根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,

    2、可自定坐标轴,可把x, y 轴用对数坐标表示,如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形 可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图 可任意设定曲线颜色和线型 可给图形加坐标网线和图形加注功能,plot的调用格式,plot(x) 缺省自变量绘图格式,x为向量, 以x元素值为纵坐标,以相应元素下标为横坐标绘图 plot(x,y) 基本格式,以y(x)的函数关系作出直角坐标图,如果y为nm的矩阵,则以x 为自变量,作出m条曲线 plot(x1,y1,x2,y2) 多条曲线绘图格式,plot(x,y,s) 开关格式,开关量字符串s设定曲线颜色和

    3、绘图方式,使用颜色字符串的前13个字母,如 yellowy表示等。 或plot(x1,y1,s1,x2,y2,s2,),S的标准设定值如下:,字母 颜色 标点 线型 y 黄色 点线 m 粉红 圈线 c 亮蓝 线 r 大红 字线 g 绿色 实线 b 蓝色 星形线 w 白色 : 虚线 k 黑色 (-) 点划线,Matlab7.4线形: + | o | * | . | x | s | d | v | | | | p| h square 正方形 diamond 菱形 pentagram 五角星 hexagram 六角星,1. 单窗口单曲线绘图,例1:x=0, 0.48,0.84,1,0.91,0.6,

    4、0.14 x1, x2, x3, x4, x5, x6, x7 plot (x),2. 单窗口多曲线绘图,例2:t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2),y,y1,y2,例 3:y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,y,y1,y2,y3,y4,y5),y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,y3);h

    5、old on; plot(t,y4); plot(t,y5);,x=peaks;plot(x) x=1:length(peaks);y=peaks;plot(x,y),3. 单窗口多曲线分图绘图,subplot 子图分割命令 调用格式: subplot(m,n,p) 按从左至右, 从上至下排列,行,列,绘图序号,subplot(1,3,1); plot(t,y) subplot(1,3,2); plot(t,y3) subplot(1,3,3); plot(t,y2),subplot(3,1,1); plot(t,y) subplot(3,1,2); plot(t,y3) subplot(3,

    6、1,3); plot(t,y2),subplot(position,left bottom width height),4. 多窗口绘图,figure(n) 创建窗口函数,n为窗 口顺序号。 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y) 自动出现第一个窗口 figure(2) plot(t,y1) 在第二窗口绘图 figure(3) plot(t,y2) 在第三窗口绘图,5.可任意设置颜色与线型,例 4:plot(t,y,r-,t,y1,g:,t,y2,b*),t=0:pi/100:2*pi; y=sin(t

    7、);,plot(t,y,-rs,LineWidth,2,. MarkerEdgeColor,k,. MarkerFaceColor,g,. MarkerSize,10),6.图形加注功能,将标题、坐标轴标记、网格线及文字注 释加注到图形上,这些函数为: title 给图形加标题 xlabel 给x轴加标注 ylabel 给y轴加标注 text 在图形指定位置加标注 gtext 将标注加到图形任意位置 grid on(off) 打开、关闭坐标网格线 legend 添加图例 axis 控制坐标轴的刻度,6.图形加注功能,函数中的说明文字,除使用标准的ASCII字符外,还可使用LaTeX格式的控制字

    8、符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。例如,text(0.3,0.5,sin(omegat+beta)将得到标注效果sin(t+)。,例:t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-); x=1.7*pi;1.6*pi; y=-0.3;0.8; s=sin(t);cos(t); text(x,y,s); title(正弦和余弦曲线); legend(正弦,余弦) xlabel(时间t),ylabel(正弦、余弦) grid axis square,例 在0x2区间内,绘制曲线y1=2e-0.5x和y2=cos(4x),

    9、并给图形添加图形标注。 程序如下: 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) %加图例,axis的用法还有: axis(xmin xmax ymin ymax) 用行向

    10、量中 给出的值设定坐标轴的最大和最小值。 如axis (-2 2 0 5) axis(equal) 将两坐标轴设为相等 axis on(off) 显示和关闭坐标轴的标 记、标志 axis auto 将坐标轴设置返回自动缺 省值,7.fplot 绘制函数图函数,fplot的调用格式: fplot(fun,lims) 绘制函数fun在x区间 lims=xmin xmax的函数图。 fplot(fun,lims,corline) 以指定线形绘图。 x,y=fplot(fun,lims) 只返回绘图点的值,而不绘图。用plot(x,y)来绘图。,fplot(sin(x),tan(x),cos(x),2

    11、*pi*-1 1 -1 1) fplot(humps,0 1,rp),8.ezplot 符号函数的简易绘图函数,ezplot的调用格式: ezplot(f) 这里f为包含单个符号变量x的符号表达式,在x轴的默认范围 -2*pi 2*pi内绘制f(x)的函数图 ezplot(f,xmin,xmax) 给定区间 ezplot(f,xmin,xmax,figure(n) 指定绘图窗口绘图。,ezplot(sin(x) ezplot(x.*y + x.2 - y.2 - 1),9.具有两个纵坐标标度的图形,在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用

    12、格式为: plotyy(x1,y1,x2,y2) 其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。,例: 用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x), x在0-2间 程序如下: 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);,(二) fill 基本二维绘图函数 fill的功能: 绘制二维多边

    13、形并填充颜色 例:x=1 2 3 4 5;y=4 1 5 1 4; fill(x,y,r),(三)特殊二维绘图函数,bar 绘制直方图 polar 绘制极坐标图 hist 绘制统计直方图 stairs 绘制阶梯图 stem 绘制火柴杆图 rose 绘制统计扇形图 comet 绘制彗星曲线,errorbar 绘制误差棒图 compass 复数向量图(罗盘图) feather 复数向量投影图(羽毛图) quiver 向量场图 area 区域图 pie 饼图 convhull 凸壳图 scatter 离散点图,例,绘制阶梯曲线 x=0:pi/20:2*pi;y=sin(x);stairs(x,y),

    14、例:阶梯绘图 h2=1 1;1 -1;h4=h2 h2;h2 -h2; h8=h4 h4;h4 -h4;t=1:8; subplot(8,1,1);stairs(t,h8(1,:);axis(off) subplot(8,1,2);stairs(t,h8(2,:);axis(off) subplot(8,1,3);stairs(t,h8(3,:);axis(off) subplot(8,1,4);stairs(t,h8(4,:);axis(off) subplot(8,1,5);stairs(t,h8(5,:);axis(off) subplot(8,1,6);stairs(t,h8(6,:)

    15、;axis(off) subplot(8,1,7);stairs(t,h8(7,:);axis(off) subplot(8,1,8);stairs(t,h8(8,:);axis(off),h2=1 1;1 -1;h4=h2 h2;h2 -h2; h8=h4 h4;h4 -h4; t=1:8; for i=1:8 subplot(8,1,i); stairs(t,h8(i,:) axis(on) end,例:绘制极坐标绘图 t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y),例:绘制火柴杆绘图 t=0:0.2:2*pi; y=cos(t); stem(y),例:绘制直

    16、方图 t=0:0.2:2*pi; y=cos(t); bar(y),例:绘制彗星曲线图 t= -pi:pi/500:pi; y=tan(sin(t)-sin(tan(t); comet(t,y),x=magic(6);area(x),x=1 2 3 4 5 6 7;y=0 0 0 1 0 0 0; pie(x,y),pie(x,y,North,South,East,West, middle,fa,white),load seamount scatter(x,y,50,z),a=rand(200,1);b=rand(200,1); c=rand(200,1); scatter(a,b,100,c

    17、,p),二、三维绘图,三维绘图的主要功能: 绘制三维线图 绘制等高线图 绘制伪彩色图 绘制三维网线图 绘制三维曲面图、柱面图和球面图 绘制三维多面体并填充颜色,(一)三维线图,plot3 基本的三维图形指令 调用格式: plot3(x,y,z) x,y,z是长度相同的向量 plot3(X,Y,Z) X,Y,Z是维数相同的矩阵 plot3(x,y,z,s) 带开关量 plot3(x1,y1,z1,s1, x2,y2,z2,s2, ),二维图形的所有基本特性对三维图形全都适用。定义三维坐标轴 大小 axis(xmin xmax ymin ymax zmin zmax ) grid on(off)

    18、绘制三维网格 text(x,y,z,string) 三维图形标注 子图和多窗口也可以用到三维图形中,例:绘制三维线图 t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),r:),(二) 三维饼图 pie3(2 4 3 5,0 1 1 0,North,South,East,West),(三)三维多边形,fill3 = fill 三维多边形的绘制和填色与二维多边形完全相同 调用格式: fill3(x,y,z,s) 与二维相同,例: 用随机顶点坐标画出5个粉色的三角形,并用黄色的表示顶点 y1=rand(3,5);y2=rand(3,5);y3=rand(3,5); fill

    19、3(y1,y2,y3,m);hold on;plot3(y1,y2,y3,yo),(四)三维网格图,mesh 三维网线绘图函数 调用格式: mesh(z) z为nm的矩阵,x与y 坐标为元素的下标 mesh(x,y,z) x,y,z分别为三维空 间的坐标位置,例,矩阵的三维网线图 z=rand(6); 0.8808 0.0729 0.4168 0.7694 0.3775 0.4776 0.3381 0.7101 0.0964 0.6352 0.3826 0.7086 0.1895 0.8791 0.6747 0.8965 0.6876 0.2380 0.7431 0.3594 0.5626 0

    20、.8784 0.1217 0.3910 0.7189 0.0899 0.8130 0.4865 0.0768 0.9759 0.8792 0.1610 0.8782 0.1131 0.1433 0.6288 z=round(z) 1 0 0 1 0 0 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 mesh(z);,mesh(z),例:8阶hadamard矩阵的网线图,h2=1 1;1 -1;h4=h2 h2;h2 -h2 h8=h4 h4;h4 -h4 1 1 1 1 1 1 1 1 1 -1 1 -1 1 -1 1

    21、-1 1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1 1 1 -1 mesh(h8),三维网线图作图要领,确定取值范围x=x1:dx:x2;y=y1:dy:y2 生成坐标 X,Y=meshgrid(x,y) 表达式点运算 Z=X.2+Y.2 X,Y是nm的矩阵,维数可任定 默认方位角:37。5,俯角30。,meshgrid 网线坐标值计算函数 z=f(x,y) 根据x,y坐标找出z的高度 例:绘制z=x2+y2的三维网

    22、线图形 x=-5:5; y=x; X,Y=meshgrid(x,y) Z=X.2+Y.2 mesh(X,Y,Z),坐标矩阵,坐标向量,纵坐标矩阵,绘图函数,例 绘制三维曲面图z=sin(x+sin(y)-x/10,在(0,4pi)内 程序如下: x,y=meshgrid(0:0.25:4*pi); z=sin(x+sin(y)-x/10; mesh(x,y,z); axis(0 4*pi 0 4*pi -2.5 1);,(五)三维曲面图,surf 三维曲面绘图函数,与网格图 看起来一样 与三维网线图的区别: 网线图:线条有颜色,空挡是黑色的(无颜色) 曲面图:线条是黑色的,空挡有颜色(把 线条

    23、之间的空挡填充颜色,沿z轴按每一网 格变化,调用格式: surf(x,y,z) 绘制三维曲面图,x,y,z 为图形坐标向量 例: X,Y,Z=peaks(30) peaks为matlab 自动生成的三维测 试图形 surf(X,Y,Z), surfc(X,Y,Z) 带等高线的曲面图 X,Y,Z=peaks(30);surfc(X,Y,Z), surfl(X,Y,Z) 被光照射带阴影 的曲面图 X,Y,Z=peaks(30);surfl(X,Y,Z), cylinde(r,n) 三维柱面绘图函数 r 为半径;n为柱面圆周等分数 例:绘制三维陀螺锥面 t1=0:0.1:0.9; t2=1:0.1:

    24、2; r=t1 -t2+2; x,y,z=cylinder(r,30); surf(x,y,z); grid, 为球面等分数,缺省为20 例:绘制三维球面 x,y,z=sphere(30);surf(x,y,z);,(六) 图形修饰方法,图形颜色的修饰 matlab 有极好的颜色表现功能,其颜色数据又构成了一维新的数据集合,也可称为四维图形 colormap(MAP) 色图设定函数,MAP为m3维色图矩阵 图形颜色可根据需要任意生成,也可用matlab配备的色图函数,matlab 的颜色数据集合为红、绿、兰三颜色矩阵R,G,B,维数m3 r,g,b在0 1区间连续取值,理论上颜色种类可达无穷多

    25、种 matlab使用三维向量表示一种颜色,常用颜色数据见下表, 饱和色 0 0 0 黑色 0 0 1 兰色 0 1 0 绿色 0 1 1 浅兰 1 0 0 红色 1 0 1 粉红 1 1 0 黄色 1 1 1 白色,调和色 0.5 0.5 05 灰色 0.5 0 0 暗红色 1 0.62 0.4 铜色 0.49 1 0.8 浅绿 0.49 1 0.83 宝石兰,matlab 的色图函数: hsv 饱和值色图 gray 线性灰度色图 hot 暖色色图 cool 冷色色图 bone 兰色调灰色图 copper 铜色色图 pink 粉红色图 prism 光谱色图 jet 饱和值色图II flag 红

    26、、白、蓝交替色图,shading faceted 网格修饰,缺省方式,shading flat 去掉黑色线条,根据小方块的值确定颜色,shading interp 颜色整体改变,根据 小方块四角的值差补过度点的值确定颜色,peaks(30);shading interp;colormap(hot),X,Y,Z=peaks(30);surfl(X,Y,Z) shading interp;colormap(cool);axis off,peaks(30);colormap(hot);colorbar(horiz) figure(2); peaks(30); colormap(cool); colo

    27、rbar(horiz), 图形效果修饰,透视与消隐 用于网线图 裁剪修饰 用于网线图、曲面图 视角修饰 观察不同角度的三维视图 其它修饰: a. 水线修饰 b. 等高线修饰,透视与消隐 p=peaks(30);mesh(p);hidden on,p=peaks(30);mesh(p);hidden off,裁减修饰 p=peaks; p(30:40,20:30)=nan*p(30:40,20:30); surf(p),p=peaks; p(30:40,20:30)=nan*p(30:40,20:30); mesh(peaks,p),视角修饰(函数view(az,el) az -方位角;el -

    28、 俯视角 省缺值为:az=-37.5; el=30 例。观察不同视角的波峰图形 z=peaks(40); subplot(2,2,1);mesh(z); subplot(2,2,2);mesh(z);view(-15,60); subplot(2,2,3);mesh(z);view(-90,0); subplot(2,2,4);mesh(z);view(-7,-10);,其它修饰: a. 水线修饰(waterfall) waterfall(peaks(30),b. 等高线修饰 二维 contour(Z,n)-绘制n条等高线 C= contourc(Z,n)-计算n条等高线的坐标 Clable(

    29、c)-给等高线加标注 例、在二维平面上绘制peaks函数的10条等 高线 contour(peaks,10); C=contourc(peaks,10);clabel(C),contour3(peaks,20),(五)、伪彩色图,pcolor 常用于以二维平面图表现三维图形的效果,用颜色表示三维图形的高度。,z=peaks(30) pcolor(z),(六)、其他三维图形,在介绍二维图形时,曾提到条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、stem3、pie3 和fill3。,例 绘制三维图形: (1) 绘制魔方阵的三维条形图。 (2) 以三维杆图

    30、形式绘制曲线y=2sin(x)。 (3) 已知x=2347,1827,2043,3025,绘制饼图。 (4) 用随机的顶点坐标值画出五个黄色三角形。,程序如下: subplot(2,2,1); bar3(magic(4) subplot(2,2,2); y=2*sin(0:pi/10:2*pi); stem3(y); subplot(2,2,3); pie3(2347,1827,2043,3025); subplot(2,2,4); fill3(rand(3,5),rand(3,5),rand(3,5), y ),(七)动画制作,MATLAB提供getframe、moviein和movie函数

    31、进行动画制作。 1getframe函数 getframe函数可截取一幅画面信息(称为动画中的一帧),一幅画面信息形成一个很大的列向量。显然,保存n幅图面就需一个大矩阵。,(七)动画制作,2moviein函数 moviein(n)函数用来建立一个足够大的n列矩阵。该矩阵用来保存n幅画面的数据,以备播放。之所以要事先建立一个大矩阵,是为了提高程序运行速度。 3movie函数 movie(m,n)函数播放由矩阵m所定义的画面n次,缺省时播放一次。,例 绘制了peaks函数曲面并且将它绕z轴旋转。 程序如下 X,Y,Z=peaks(30); surf(X,Y,Z) axis(-3,3,-3,3,-10

    32、,10) axis off; shading interp; colormap(hot); m=moviein(20); %建立一个20列大矩阵 for i=1:20 view(-37.5+24*(i-1),30) %改变视点 m(:,i)=getframe; %将图形保存到m矩阵 end movie(m,2); %播放画面2次,小结:,基本绘图函数 plot, plot3, mesh, surf 要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定,课堂练习,课堂练习,clf t=0:pi/50:2*pi; y=sin(t); plot(t,y); axis(0,2*pi,-1.2,1.2

    33、); text(pi/2,1,fontsize16leftarrowitsin(t)fontname隶书极大值),课堂练习,课堂练习,clear t=0:pi/100:2*pi; y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t); subplot(2,2,1),plot(t,y1);axis(0,pi,-1,1); subplot(2,2,2),plot(t,y2);axis(0,pi,-1,1); subplot(position,0.2,0.05,0.6,0.45); plot(t,y12,b-);axis(0,pi,-1,1),课堂练习,课堂练习,x0,y0,z0=sphere(30); x=2*x0;y=2*y0;z=2*z0; surf(x0,y0,z0); shading interp surf(x0,y0,z0); shading interp hold on,mesh(x,y,z),colormap(hot),hold off hidden off axis equal,axis off,

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:大学精品课件:第三讲 matlab 绘图.ppt
    链接地址:https://www.163wenku.com/p-431332.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库