MATLAB图形处理功能-新.ppt
《MATLAB图形处理功能-新.ppt》由会员分享,可在线阅读,更多相关《MATLAB图形处理功能-新.ppt(99页珍藏版)》请在三一办公上搜索。
1、第四章 matlab 图形处理功能,matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。,matlab语言的绘图功能,不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力句柄绘图方法。在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。,一、二维绘图,(一)plot 基本的二维图形指令,plot(x,y,s)或plot(x1,y1,s1,x2,y2,s2,)s、s1、s2用来指定线型、色彩、数据点形状的选项字符串,不设置时为默认值。,S的标准设定值如下:
2、P160-161,字母 颜色 标点 线型或数据点 y 黄色 点标志 m 粉红 o 圈标志 c 青色 标志 r 大红 标志 g 绿色 星号标志 b 蓝色 实线 w 白色:点线 k 黑色 点划线-虚线,v,(二)隐函数绘图,fplot的调用格式:fplot(fun,lims)绘制函数fun在x区间 lims=xmin,xmax或=xmin,xmax,ymin,ymax的函数图。fplot(fun,lims,tol)tol为相对允许误差。,1.fplot,fplot(sin(x),tan(x),cos(x),2*pi*-1 1-1 1),2.ezplot 符号函数的简易绘图函数,ezplot的调用格
3、式:ezplot(f)这里f为包含单个符号变量x的符号表达式,在x轴的默认范围-2*pi,2*pi内绘制f(x)的函数图ezplot(f,xmin,xmax)给定区间ezplot(f,xmin,xmax,n)指定绘图窗口绘图。ezplot(x,y,tmin,tmax,n),ezplot(sin(x)ezplot(sin(x),cos(x),-4*pi,4*pi,2),3.ezpolar 极坐标系绘图函数,调用格式:ezpolar(f)这里f为关于变量theta的符号表达式,默认范围 0,2*piezplot(f,a,b)给定区间theta的范围为 a,b。,ezpolar(6*(1-cos(x
4、),(三)fill 基本二维绘图函数 fill的功能:绘制二维多边形并填充颜色例:x=1 2 3 4 5;y=4 1 5 1 4;fill(x,y,r),(四)特殊二维图形,semilogx、semilogy以x轴或y轴为以10为底对数坐标绘图,等价于plot(log10(x),y)或plot(x,log10(y),例:x=1:0.01:100;y=x.2;semilogy(x,y)figure(2),plot(x,log10(y),loglog:x轴与y轴均为以10为底对数坐标polar(theta,rho,s):极坐标曲线plotyy(x1,y1,x2,y2):双y轴图形bar(x,y,w
5、idth,参数)绘制直方图pie(x,explode)饼图stem(x,y,filled)绘制火柴杆图,stairs(x,y,S)绘制阶梯图compass(x+iy)复数向量图(罗盘图),绘制从原点辐射的射线图 compass(x,y)errorbar 绘制误差棒图 comet 绘制彗星曲线scatter 离散点图feather 复数向量投影图(羽毛图)quiver 向量场图area 区域图 rose 绘制统计扇形图,title(string,品性名,品性值,)给图形加标题xlabel(string,品性名,品性值,)给x轴加标注ylabel(string,品性名,品性值,)给y轴加标注,二、
6、图形标注与控制,(一)图形标注 可用指令操作实现或在图形窗口菜单操作标注,text(x,y,string)在图形指定位置加标注text(position,x,y,string,品性名,品性值,)gtext(string,品性名,品性值,)鼠标在任意位置标注legend(string1,string2,)添加图例,其顺序对应于绘图指令中的顺序,例:画出正弦和余弦曲线并标注坐标轴、图名和图例,并在正弦函数的最大值处标注最大值。t=0:0.1:10;y=sin(t);cos(t);plot(t,y(1,:),r,t,y(2,:),b-);title(正弦和余弦曲线,fontsize,12,color
7、,r);legend(正弦,余弦)xlabel(时间t),ylabel(正弦、余弦),%在最大值处标注yy=max(y(1,:),ymax=yy(1);i=find(ymax=y(1,:);text(position,t(i),ymax,string,ymax=,num2str(ymax),fontsize,14)或gtext(ymax=,num2str(ymax),fontsize,14)hold on,plot(t(i),ymax,*),(二)图形控制,grid on(off)打开、关闭坐标网格线hold on(off)在同一坐标系中多图形重叠或覆盖绘制box on(off)坐标轴封闭或不
8、封闭figure(n)创建第 n个图形窗subplot(m,n,p)图形窗分为mxn个子图形窗,选第p个子窗口绘图(按从左到右顺序),axis(xmin,xmax,ymin,ymax)控制坐标轴的刻度范围axis(字符串)字符串为xy:笛卡尔坐标系字符串为ij:矩阵坐标系字符串为on或off:显示或不显示坐标轴字符串还可为 auto,square,equal,三、三维绘图,三维绘图的主要功能:绘制三维线图 绘制等高线图 绘制伪彩色图 绘制三维网线图 绘制三维曲面图、柱面图和球面图 绘制三维多面体并填充颜色,(一)三维线图,plot3 基本的三维图形指令调用格式:plot3(x,y,z)x,y,
9、z是长度相同的向量plot3(X,Y,Z)X,Y,Z是维数相同的矩阵plot3(x1,y1,z1,s1,x2,y2,z2,s2,),ezplot3(x,y,z,tmin,tmax)三维曲线函数图,二维图形的所有基本特性对三维图形全都适用。定义三维坐标轴大小 axis(xmin xmax ymin ymax zmin zmax)grid on(off)绘制三维网格 text(x,y,z,string)三维图形标注 子图和多窗口也可以用到三维图形中,(二)三维网格图,mesh 三维网线绘图函数调用格式:mesh(z)z为nm的矩阵,x与y 坐标为元素的下标 mesh(x,y,z)x,y,z分别为三
10、维空 间的坐标位置,三维网线图作图要领,生成坐标 X,Y=meshgrid(x,y)表达式点运算 Z=X.2+Y.2X,Y是nm的矩阵,维数可任定X nY mZ默认方位角:37。5,俯角30。,nm维,meshgrid 网线坐标值计算函数 z=f(x,y)根据x,y坐标找出z的高度例:绘制z=x2+y2的三维网线图形 x=-5:5;y=x;X,Y=meshgrid(x,y)Z=X.2+Y.2 mesh(X,Y,Z),坐标矩阵,坐标向量,纵坐标矩阵,绘图函数,colormap(R,G,B)色图设定函数matlab 的颜色数据集合为红、绿、兰三颜色矩阵R,G,B,维数m3r,g,b在0 1区间连续
11、取值,理论上颜色种类可达无穷多种matlab使用三维向量表示一种颜色,常用颜色数据见下表P180,饱和色 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 宝石兰,(三)三维曲面图,surf 三维曲面绘图函数,与网格图 看起来一样与三维网线图的区别:网线图:线条有颜色,空挡是黑色的(无颜色)曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化,调
12、用格式: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:2;r=t1,-t2+2;x,y,z=cylinder(r,30);surf(x,
13、y,z);grid,为球面等分数,缺省为20例:绘制三维球面x,y,z=sphere(30);surf(x,y,z);,(四)图形修饰方法,图形颜色的修饰colormap(MAP)色图设定函数,MAP为m3维色图矩阵图形颜色可根据需要任意生成,也可用matlab配备的色图函数,三维饼图pie3(x,explode)x=12,3,4,25,13;t=1,0,0,0,0;pie(x,t),figure(2),pie3(x,t),(五)特殊三维图形的绘制,2.三维多边形,fill3=fill 三维多边形的绘制和填色与二维多边形完全相同调用格式:fill3(x,y,z,s)与二维相同,例:用随机顶点坐
14、标画出5个粉色的三角形,并用黄色的表示顶点y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);fill3(y1,y2,y3,m);hold on;plot3(y1,y2,y3,yo),3.三维直方图bar3(y,z,width,模式),4.三维火柴杆图stem3(x,y,z,filled),四、图形句柄的操作,高层绘图函数是对整个图形进行操作的,图形每一部分的属性都是按缺省方式设置的,充分体现了matlab语言的实用性。底层绘图函数可以定制图形,对图形的每一部分进行控制,用户可以用来开发用户界面以及各专业的专用图形。充分体现了matlab语言的开发性,1.句柄图形的功
15、能句柄图形可以随意改变matlab生成图形的方式。句柄图形允许你定制图形的许多特性,无论是对图形做一点小改动,还是影响所有图形输出的整体改动。句柄图形的特性高层绘图函数是无法实现的,父对象子对象,图形对象的基本要素以根屏幕为先导,图形对象之间的关系为父代与子代的关系,2、创建图形对象的底层函数,figure创建图形窗口调用格式:h=figure(n)n为窗口序号figure(property1,value1,property2,value2,)常用的属性有:menubar,name,numbertitle,resize,position,unite,color,pointer,keypress
16、fcn,WindowButtonDownFcn,WindowButtonMotionFcn,axes 创建轴对象 h=axes(property1,value1,property2,value2,)常用的属性有:box,gridlinestyle,position,unite,color,title,line 创建线对象 h=line(x,y),或line(x,y,z),常用的属性有:color,linestyle,linewidth,marker,markersizepatch 创建块对象 h=patch(x,y,z,c)x,y,z定义多边形,c确定填充颜色。surface 创建面对象 h=
17、surface(x,y,z,property1,value1,property2,value2,)x,y,z三维曲面坐标,常用的属性有:edgecolor,facecolor,linestyle,linewidth,marker,markersize,image 显示图象 h=image(x);x为图像矩阵text 标注文字 h=text(x,y,z,文字,property1,value1,property2,value2,)常用的属性有:color,string,interpreter,fontsize,rotation 每个底层函数只能创建一个图形对象,并将它们置于适当的父辈对象中。,什么
18、是句柄?句柄是图形对象的标识代码,标识代码含有图形对象的各种必要的属性信息。各图形对象的句柄数据格式:根屏幕 0 图形窗口 整数,表示图形窗口数,3、句柄(handle)与句柄操作,当前坐标轴的句柄:gca当前图形窗的句柄:gcf其它对象的句柄:对应的符点数,(1)句柄属性的设置与修改get:获得句柄图形对象的属性和返回某些对象的句柄值set:改变图形对象的属性findobj:根据对象特性获取句柄,4、图形对象属性的获得与设置,操作格式:get(h)或get(h,品性名):查阅某对象的属性或子(children)父(parent)代的句柄值set(h,品性名,品性值):设置或修改某对象的属性值
19、findobj(h)或findobj(h,品性名,品性值):获取对象子对象的句柄值,或获取指定属性值的对象的句柄.,x=0:2*pi/180:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2,x,zeros(size(x),:),例:作正弦、余弦曲线,将正弦曲线改为虚线,将余弦曲线幅度减为1/2高度,如何用句柄实现。,首先查询各对象的属性h=get(gcf,children)h=101.0009hh=get(gca,children)结果:hh=103.0004 102.0009 3.0010,修改属性,y11=get(hh(2),ydata);y22=y11/2
20、;set(hh(2),ydata,y22)set(hh(3),linestyle,:,linewidth,0.5),通过父代对象,设置缺省对象属性来实现的。父代句柄属性中设置省缺值后,所有子代对象均可以继承该属性的省缺值。品性缺省值设置有两种:厂家设置值:其值不可更改用户设置:当前环境下有效,搜索顺序子 父 祖父,(2)句柄属性的缺省值操作,属性省缺值的描述结构为:default+h中对象名称+对象属性get(h,defaulttypeproperty)set(h,defaulttypeproperty,品性值)注意:h须为对象的父代,例:get(0,defaultfigurecolor)获得
21、图形窗口的省缺值 set(gca,defaultlinecolor,r)设置线的颜色为红色例:在图上添加文字注释,颜色为红色 set(gca,defaulttextcolor,1 0 0)gtext(正弦)gtext(余弦),例:在轴对象上(父代对象)设置线的颜色省缺值为红色x=0:2*pi/180:2*pi;y=sin(2*x);set(gca,defaultlinecolor,1 0 0);h=line(x,y),set(h,color,m,linewidth,2,linestyle,*),set(0,defaultfigurecolor,b)set(0,defaultaxescolor,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 图形 处理 功能
链接地址:https://www.31ppt.com/p-6511810.html