MATLAB 第四章(精品).ppt

上传人:hwp****526 文档编号:85516606 上传时间:2023-04-11 格式:PPT 页数:46 大小:1.20MB
返回 下载 相关 举报
MATLAB 第四章(精品).ppt_第1页
第1页 / 共46页
MATLAB 第四章(精品).ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《MATLAB 第四章(精品).ppt》由会员分享,可在线阅读,更多相关《MATLAB 第四章(精品).ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第四章第四章 MATLAB MATLAB 绘图绘图 MATLAB除了有强大的数值计算能力外,另一个受到人们喜爱的就是它的方便的绘图功能。用户不用很多地编程就能绘出相当复杂的图形。4.1 标准图形表现方法4.1.1 基础绘图 4.1.2 三维绘图4.1.3 多种绘图 4.1.4 图形注释4.1.5 图形颜色修饰4.1 标准图形表现方法标准图形表现方法4.1.1 MATLAB基础绘图基础绘图MATLAB的基本绘图函数是 plotplot(x)x为实数,相当于i=1:length(x);plot(i,x)x为复数,相当于plot(real(x),imag(x)plot(x,y)基本格式,以y(x)的

2、关系作出直角坐标图。如果y是nm矩阵,则以x为自变量作出m条曲线。plot(x1,y1,x2,y2,)多条曲线绘图。plot(x,y,S)S指定曲线颜色和线型。y 黄 m 粉红 c 亮蓝 r 红 g 绿 b 蓝 w 白 k 黑-实线 :点线 -.点划线 -虚线*星号 .点 o 圆圈 十字 1单图单曲线绘图例4.1 正弦曲线绘图。t=0:2*pi/90:2*pi;y=sin(2*t);plot(t,y,r)例题说明:语句1 给定弧度行向量。语句2 计算sin函数向量。语句3 plot绘图,指定额色为红色(省缺首色为黄色蓝色5.x)2 2单图多曲线绘图单图多曲线绘图 单图多曲线绘图时,使用多条曲线

3、绘图命令 plot(xl,y1,x2、y2,)也可以用矩阵变量画出 plot(x,y)其中y=yl y2,y1,y2分别为各曲线向量。例4.2 正弦曲线族绘图。t=0:2*pi/90:2*pi;y=sin(t),sin(t-pi/2),sin(t-pi);plot(t,y)axis(0,6.5,-1,1)例题说明:(1)y为3列矩阵,“”将行向量sin(t)转置为列向量;(2)多条曲线时,曲线颜色为省缺变化值,变化顺序为前6种依次改变;b,g,r,c,m,y,k(5.x)(3)axis()设定绘图坐标范围。3 3多窗口绘图多窗口绘图 多窗口绘图时,使用创建绘图窗口命令 figure(N)其中N

4、为创建绘图窗口序号:使用plot命令绘图时,当前窗口存在,则在该窗口绘图。如果窗口不存在,则先省缺执行命令 figure(1)创建1号窗口然后绘图。所以进行多窗口绘图时,需要按照窗口序号创建窗口,在指定窗口绘图。例4.3 多窗口绘图。t=0:2*pi/90:2*pi;y1=sin(2*t);plot(t,y1,r)省缺创建1号窗口 figure(2)创建2号窗口 y2=exp(-1.5*t).*sin(2*t);plot(t,y2,r)4 4单窗口多曲线子图绘制单窗口多曲线子图绘制 在一个窗口上以矩阵方式绘制子图。子图分割命令格式为subplot(m,n,p);逗号可以省缺为(mnp)在图面的

5、m行、n列位置作p号图,p为绘图顺序号,从左到右,从上到下排列。先用subplot命令指定当前绘图位置,然后用plot以当前子图位置作图。例4.4 单窗口多曲线分图绘制。t=0:2*pi/90:2*pi;y1=sin(2*t);y2=cos(2*t);y3=sin(2*t)+cos(2*t);y4=sin(2*t)-cos(2*t);subplot(221);plot(t,y1)subplot(222);plot(t,y2)subplot(223);plot(t,y3)subplot(224);plot(t,y4)5 5单变量绘图单变量绘图 绘图函数使用单变量时为:plot(y)当向量y为实数

6、时,等价于相当于i=1:length(x);plot(i,x).当 向 量 y为 复 数 时,等 价 于 实 部 坐 标 与 虚 部 坐 标 绘 图plot(real(x),imag(x)例45 复数向量绘图,等距螺线。t=0:2*pi/90:6*pi;y=t.*exp(i*t);plot(y);%作复数向量绘图 axis(image)语句2 复指数函数exp(i*t)的矢量轨迹为等圆,以t为增量作 点乘,即完成等距螺线绘图.语句4 坐标函数axis(imag)为绘图修饰命令,修饰为图片 方式曲线居中。4.1.2 三维绘图三维绘图 三维绘图以立体图像方式展现数据间的关系,比二维图提供更多的信息

7、。MATLAB的三维绘图比二维绘图复杂一些。MATLAB的三维绘图 三维曲线绘图 三维曲面绘图 曲面网线绘图 曲面色图 三维绘图中三个坐标数据如何构造是掌握三维图绘制的关键;此外还有三维曲面的观察角度等问题。用于三维绘图的MATLB高级绘图函数中,对于上述许多问题都设置了省缺值,作为初学者,以掌根基本绘图函数为要点,尽量使用省缺值,必要时认真阅读联机帮助。1三维线图 三维线图绘图命令的格式如下:ptot3(x,y,z)x,y,z 分别为坐标向量,作三维空间曲线。plot3(X,Y,Z)X,Y,Z 分别为矩阵,各向量对应,作三维空间多条曲线 plot3(X,Y,Z,s)开关量s可设定线型,颜色。

8、plot3(x1,y1,z1,s1,x2,y2,z2,s2,x3,y3,z3,s3,)多曲线格式,用于数据维数不同的三维多曲线绘图。例46 作三维柱面螺旋线。t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)x=sin ty=cos tz=t例47 二阶弱阻尼系统的三维线图。a=0 1;-10-0.5;b=0 10;c=1 0;d=0;系统模型y,x,t=step(a,b,c,d);阶跃响应plot3(x(:,1),x(:,2),t,r)状态时间三维曲线grid作网格线figure(2)plot(x(:,1),x(:,2)二维状态曲线 2 2三维曲面网线三维曲面网线(

9、格格)绘图绘图 三维曲面网线绘图命令为mesh,格式为 mesh(Z)Z为m x n矩阵,Z坐标为元素的值,x与y坐标是元素的下标。mesh(X,Y,Z)X,Y,Z分别为三维空间坐标位置矩阵,矩阵维数均为m x n。mesh(x,y,Z)以向量x,y取代矩阵X、Y。向量x的维数为m,向量y的维数为n。例48 三维随机噪声曲面。z=rand(10,10);mesh(z)例49 作8阶hadamard矩阵的网线图。h2=1 1;1-1;h4=h2 h2;h2-h2;h8=h4 h4;h4-h4mesh(h8);colormap(1 0 0);xlabel(x轴轴)ylabel(y轴轴)1 0 0

10、red,0 1 0 green,0 0 1 blue0 0 0 black,1 1 1 white,0.5 0.5 0.5 grayh8=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 -1 -1 1 -1 1 1 -1h2h2h2h2h48阶hadamard矩阵的值为 1 1 1 1 1 1 1 1例410 马鞍面三维网线图 x=-4:4;y=x;X,Y=meshgrid(x,y);Z=X.2-Y.

11、2;mesh(X,Y,Z);colormap(1 0 0)说明:(1)meshgrid为三维绘图网线坐标值计算函数,格式为 X,Ymeshgrid(x,y)输入变量x,y为坐标范围向量,x的维数为m,y的维数为n,返回三元函数zf(x,y)的坐标矩阵X、Y。(2)算式ZX.2Y.2即为马鞍函数,利用坐标矩阵X,Y(下标值)计算得到三维图的纵坐标位置矩阵。3 3三维曲面绘图三维曲面绘图 曲面绘图函数及应用格式为 surf(Z)surf(Z)其中Z是一个 m x n 的矩阵,曲面的z坐标为矩阵元素的值,x与y坐标为相应元素的下标。surf(xsurf(x,Y Y,Z)Z)X,Y,Z分别为三维空间坐

12、标位置矩阵,矩阵维数均为 m x n。surf(xsurf(x,y y,Z)Z)以向量x、y取代矩阵X、Y,向量x的维数为m,向量y的维数为n,矩阵Z的维数为 m x n。例411 绘制三维陀螺锥面。t1=0:0.1:0.9;t2=1:0.1:2;r=t1,-t2+2;X,Y,Z=cylinder(r,30);surf(X,Y,Z);colormap(hot)grid半径等分数说明:cylinder为三维柱面坐标值计算函数,格式为 X,Y,Zcylinder(r,N)输入变量r为各高度柱面上的半径值。N为柱面圆周的等分数,返回变量X、Y、Z分别为三维绘图的坐标矩阵。surf的省缺色图为hsv(

13、饱和渐变色图),colormap(hot)设定色图为暖色色图。例4.12 绘制三维球面。X,Y,Z=sphere(30);surf(X,Y,Z);colormap(hot)grid说明:sphere为三维球面坐标值计算函数。应用格式为 XY,Zsphere(N)输入变量N为球面圆周的等分数,省缺值N20。返回变量X、Y、Z分别为三维空间坐标位置,矩阵维数为(N+1)x(N+1)。colormap(gray)设定色图为gray(灰度色图)。例413 附等高线的马鞍曲面。close all x=-4:4;y=x;X,Y=meshgrid(x,y);Z=X.2-Y.2;surfc(Z)说明:函数su

14、rfc()等价于surf十contour绘图。4.1.3 4.1.3 MATLABMATLAB多种绘图多种绘图 MATLAB语言除了可以完成前述的基本绘图之外,还可以绘制更多实用的图形。MATLAB可以绘制的图形有以下各种:polor 极坐标图 rose 统计扇形图 bar 直方图 compass 复数矢量图 stem 火柴杆图 feather 复数矢量投影图 stairs 阶梯图 fplot函数绘图 errorbar 误差棒图 comet彗星曲线 hist 统计直方图例414 控制系统时间响应的直方图与采样点图t=0:0.5:6;y=1-exp(-t).*cos(2*t);figure(1)

15、bar(t,y)colormap(1,1,1);axis(0,6,0,1.4);figure(2)stem(t,y)例4.15 花瓣函数的极坐标图theta=0:2*pi/90:2*pi;y=cos(4*theta);polar(theta,y)说明:polar(THETA,RHO)以幅角变量THETA和模变量RHO绘制极坐标图。image 图框紧靠图形equal 坐标比例相等square 坐标轴呈正方形例416 复数矢量绘图。t=0:2*pi/90:2*pi;y=t.*exp(i*t);compass(y);axis image说明:compass(Y)以复数Y的模与幅角作有向矢量线,从原点

16、指向复数平面的坐标位置;compass(X,Y)等价于compass(X+i*Y);compass(Y,S)设定开关量S,用以设定线型、颜色等,与plot格式相同。例417 使用阶梯绘图函数,绘制8阶Walsh变换基函数曲线。阶梯图函数 stairs(x,y)stairs(x,y)作图点之间不连线,而是保持作图点高度到下一个点后,跳变为新作图点高度。x=1:5;subplot(121);plot(x)subplot(122);stairs(x)h2=1 1;1-1;h4=h2 h2;h2-h2;h8=h4 h4;h4-h4%8阶Walsh变换基函数t=1:8;%横轴坐标点for k=1:8,s

17、ubplot(8,1,k);8行一列子图 stairs(t,h8(k,:),r)%取一行数据 axis offend例418 慧星曲线绘图(动态图)。close all t=0:2*pi/90:2*pi;y=exp(-0.5*t).*sin(t);comet(t,y)例419 函数绘图命令 fplotfplot。格式:fplot(表达式,Xmin,Xmax,Ymin,Ymax,S)其中 表达式 函数表达式(指定自变量为x)。Xmin,Xmax,Ymin,Ymax 曲线绘图范围。S 颜色、线型。与plot相同。fplot(sin(2*t),0,6,-1,1,r)4.1.4 4.1.4 图形注释图

18、形注释图形注释函数有 title(字符串)添加图形标题 xlabel(字符中)添加横坐标名称 ylabel(字符串)添加横坐标名称 text(x,y,字符串)添加注释文字 gtext(字符串)用鼠标在图上添加文字 legend(字符串)添加图例 grid on 打开网格线 grld off 关闭网格线例420 添加绘图注释。绘出位置函数 及其速度函数 的曲线h=0.1;t=0:h:5;y1=exp(-0.5*t).*sin(2*t);y=diff(y1)/h;%diff函数执行差分运算,向量y长度y1比少一个y2=2 y;%补一个数据,使得yl与y2长度相等plot(t,y1,r-,t,y2,

19、b:)title(位置与速度曲线);legend(位置,速度);xlabel(时间 t);ylabel(位置 x,速度 dx/dt);gridechopause%plot theoritcal derivativey3=exp(-0.5*t).*(-0.5*sin(2*t)+2*cos(2*t);hold onplot(t,y3,m)hold offecho off4.1.5 4.1.5 图形颜色修饰图形颜色修饰 MATLAB绘图具有极好的颜色表现功能,使得图面表现更加生动、丰富。从前面介绍的二维绘图、三维绘图的数据集合来看,MATLAB的颜色数据又构成了一维新的数据集合,在这个意义上,可称M

20、ATLAB的图形为四维图形。1 1MATLABMATLAB的颜色的颜色 MAlLAB的颜色数据集合为红、绿、蓝三原色矩阵 r r g g b b,维数是 m x 3。m可以是有限颜色的种类,如16色、256色、4096色等。实际上,r、g、b可以在0,1区间连续取值,因此理论上颜色的种类可达无穷多个。MATLAB使用三维向量R G B来表示一种颜色。常用颜色的数据如下:饱和色饱和色:调和色:调和色:0 0 0 黑色(B1ack)0.5 0.5 O.5 灰色0 0 1 蓝色(Blue)0.5 0 0 暗红色0 1 0 绿色(Green)1.0 O.62 0.4 铜色1 0 0 红色(Red)0.

21、49 1.0 0.83 亮蓝1 1 0 黄色(Yellow)1 0 1 品红(Magenta)0 1 1 青色(Cyan)1 1 1 白色(White)2MATLAB的色图(1)色图设定函数colormap 函数的使用格式为colormap(MAP)设置色图变量MAP为 m x 3维色图矩阵copormap(default)设置色图为省缺值(2)MATLAB的色图函数 m维颜色向量构成包图,用于多种颜色绘图,可以根据需要任意生成。MATLAB中已有的色图由数如下:hsv 饱和渐变色图 copper 铜色色图 gray 线性灰度色图 pink 粉红色图 hot 暖色色图 prism 光谱色图 c

22、ool 冷色色图 jet 饱和渐变色图II bone 蓝色调灰色图 flag 红白蓝黑交替色国以饱和渐变色图函数hsv为例,其颜色数据矩阵例421 设置图形为单色。peaks(20);colormap(1 0 0);说明:peaks为MATLAB三维示范曲面函数,省缺值为49,colormap设置图形颜色为红色。例422 将色图重新设为省缺值。colormapcolormap(default)(default)说明:色图的省缺值default为饱和色hsv。例423 自由构造色图peaks(20);cm=1 0 0;0 1 0;0 0 1;colormap(cm)axis offcolorba

23、r(horiz)变量cm构成红绿蓝三原色色图矩阵,函数colorbar用于显示色图条。colorbar(vert)垂值显示色图条,colorbar(horiz)水平显示色图条。例424 观察暖色(hot)色图与冷色(cool)色图。peaks(20);colorbar(horiz)while(1)echo onpause%change colormap to hot echo offcolormap(hot)echo onpause%change colormap to coolecho offcolormap(cool)end例425 随机生成色图;peaks(20);axis offran

24、d(state,0);%随机数发生器初始状态cm=rand(4,3);%随即色图矩阵colormap(cm);colorbar(horiz);例426 三维空间的斜面,作伪彩图表示高度。x=-4:4;y=x;X,Y=meshgrid(x,y);Z=X-Y;colormap(gray);subplot(121);surf(X,Y,Z);shading interp;内插着色 caxis(-8 8);给定色轴范围 subplot(122);pcolor(X,Y,Z);%伪彩图 shading interp;caxis(-8 8);给定色轴范围改变色轴范围,即caxis(0 8);caxis(-8 0);可以注意到,原图的色轴范围为-8 8,改为0 8后,原图加深,改为-8 0后,原图变浅。例427 示范函数peaks的高度伪彩图 subplot(121);peaks;shading interp;subplot(122);pcolor(peaks);shading interp;colormap(cool);

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁