![第三章_Matlab图形绘制[1]_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/5/bc57b6ad-4923-4868-894d-97ba075df06b/bc57b6ad-4923-4868-894d-97ba075df06b1.gif)
![第三章_Matlab图形绘制[1]_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/5/bc57b6ad-4923-4868-894d-97ba075df06b/bc57b6ad-4923-4868-894d-97ba075df06b2.gif)
![第三章_Matlab图形绘制[1]_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/5/bc57b6ad-4923-4868-894d-97ba075df06b/bc57b6ad-4923-4868-894d-97ba075df06b3.gif)
![第三章_Matlab图形绘制[1]_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/5/bc57b6ad-4923-4868-894d-97ba075df06b/bc57b6ad-4923-4868-894d-97ba075df06b4.gif)
![第三章_Matlab图形绘制[1]_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/5/bc57b6ad-4923-4868-894d-97ba075df06b/bc57b6ad-4923-4868-894d-97ba075df06b5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章第三章 Matlab图形绘制图形绘制05101520250102030-10-5051005101520250102030-10-50510510152025510152025-2-1012-2-1012-2-1012主要内容主要内容3.1. 3.1. 二维曲线的绘制二维曲线的绘制3.2. 3.2. 三维曲线的绘制三维曲线的绘制3.33.3 三维网线图和曲面图的绘制三维网线图和曲面图的绘制3.43.4 MatlabMatlab图形处理的基本技术图形处理的基本技术3.53.5 动画技术动画技术3.63.6 图形用户界面设计图形用户界面设计3.13.1 二维曲线的绘制二维曲线的绘制1、绘制二
2、维图形最常用的函数是plot,调用格式有以下四种:(1)plot(Y) 如果Y为实向量,则以Y的索引坐标作为横坐标,以Y本身的元素作为纵坐标。如果Y为复数向量,则以该向量实部为横坐标,虚部为纵坐标。(2)plot(X,Y)此时以X为横坐标,Y为纵坐标。X和Y要求维数必须相同。当变量X和Y是同阶矩阵时,将按照矩阵的行或列进行操作。(3)plot(X,Y,s) 第三个变量用于设置图形显示属性。设置图形的线型、颜色、标记等。(4)plot(X1,Y1,s1,X2,Y2,s2,.) 每三项为一组绘制多条曲线。y=rand(100,1);plot(y)x=rand(100,1);z=x+y.*i;plo
3、t(z)示例:x=0:0.01*pi:2*pi;y=sin(x),cos(x);plot(x,x,y);x=0:0.01*pi:pi;y=sin(x);z=cos(x);plot(x,y,-k,x,z,-.rd);Matlab绘图命令中的各种选项曲线线型曲线线型曲线颜色曲线颜色标记符号标记符号选项意义选项意义选项意义-实线b蓝色*星号-虚线g绿色.点号:点线m红紫色x叉号-.点划线w白色vnone无线c蓝绿色k黑色r红色O圆圈p五角星y黄色s方块d菱形h六角星2、特殊的二维图形函数(1)特殊坐标系的二维图形函数特殊坐标系的二维图形函数,区别于均匀单y轴坐标系而言,具体有对数坐标系、极坐标系和双
4、y轴坐标等。对数坐标曲线,主要有semilogx,semilogy和loglog,前两个分别以x坐标和y坐标为对数坐标,后一个是双对数坐标。x = 0:.1:10;semilogy(x,10.x)x=1:0.1*pi:2*pi;y=sin(x);semilogx(x,y,-*)x = logspace(-1,2);loglog(x,exp(x),-s)grid on极坐标系函数polar,调用形式为:polar(theta,rho)或polar(theta,rho,s)双纵坐标(双y轴坐标系)函数plotyy,调用形式为:plotyy(X1,Y1,X2,Y2)plotyy(X1,Y1,X2,Y
5、2,fun) fun可以是plot、semilogx、semilogy或loglogplotyy(X1,Y1,X2,Y2,fun1,fun2) fun1绘制(X1,Y1),fun2绘制(X2,Y2)注:双坐标绘制图形的调用过程中,不能够像前面的plot函数那样对曲线属性进行设置,需要使用句柄图形控制完成。x = 0:0.01:20;y1 = 200*exp(-0.05*x).*sin(x);y2 = 0.8*exp(-0.5*x).*sin(10*x);AX,H1,H2 = plotyy(x,y1,x,y2,plot);AX是对应两个坐标轴的句柄,H1和H2分别是对应plot的句柄。(2)二维
6、特殊函数图形)二维特殊函数图形函数名函数名说明说明函数名函数名说明说明函数名函数名说明说明area填充绘图feather矢量图fplot函数图绘制bar条形图stem离散序列饼状图hist直方图barh水平条形图fill多边形填充paretoPareto图comet彗星图stairs阶梯图pie饼图errorbar误差带图contour等高线图plotmatrix分散矩阵绘制ezplot简单绘制函数图contourf填充的等高线图ribbon三维图的二维条状显示ezpolar简单绘制极坐标图scatter散射图Polar绘制极坐标示例:示例:theta=linspace(0,2*pi);r=c
7、os(2*theta);polar(theta,r)Hist用来显示资料的分段情况和统计特性,适合于大量数据的情况示例:示例:x=randn(9999,1);hist(x,50)Rose与hist接近,将资料的大小视为角度,资料的个数作为距离,采用极坐标绘图。示例:示例:x=randn(9999,1);rose(x,50)Bar函数适合于数据点不多时使用示例:示例:x=1:15;y=rand(size(x);bar(x,y);如果已知数据的误差量,可用errorbar表示。示例:示例:x=linspace(0,2*pi,20);y=sin(x);z=std(y)*ones(size(x);er
8、rorbar(x,y,z);fplot函数可以绘制较精确的图形,适合于变化剧烈的函数。示例:示例:fplot(sin(1/x),0.01,0.3)Stem产生针状图,常被用来绘制数位讯号。x=linspace(0,10,100);y=sin(x).*exp(-x/4);stem(x,y);Fill将资料点视为多边形顶点,并将此多边形涂上颜色。x=linspace(0,10,100);y=sin(x).*exp(-x/4);fill(x,y,c);Feather函数将每一个数据点视为复数,并以箭头画出。theta=linspace(0,2*pi,40);z=cos(theta)+i*sin(th
9、eta);feather(z);Compass函数与feather函数接近,只是每个箭头的起点都在圆内theta=linspace(0,2*pi,40);z=cos(theta)+i*sin(theta);compass(z);Quiver用来绘制向量场图。x,y=meshgrid(-2:0.2:2);z=x.*exp(-x.2-y.2);Dx,Dy=gradient(z,0.2,0.2);Contour(x,y,z);hold on;quiver(x,y,Dx,Dy);colormap hsv ;hold off3、显函数、隐函数和符号函数作图(1)fplot(fun,lims)绘制由字符串
10、fun指定函数名的函数在x轴区间为lims=xmin, xmax的函数图。若lims=xmin,xmax,ymin,ymax,则y轴也被限制。例题:解 1)首先用M文件fun1.m定义函数f(x)如下function y=Afun1(x);if x1y=x+1;elsey=1+1./x;end在matlab命令窗口输入fplot(Afun1,-3,3)就可画出函数 f (x) 的图形。2)这里也可以使用匿名函数匿名函数,编写程序如下fun2=(x) (x+1)*(x=1);fplot(fun2,-3,3)(2) ezplot(f)可用来绘制显函数、隐函数和参数方程的图形,可用来绘制显函数、隐函
11、数和参数方程的图形,x轴的默认轴的默认范围为范围为-2pi,2pi。1)对于显函数y=f(x),调用格式为:ezplot(f,xmin,xmax)2)对于隐函数f(x,y)=0,调用格式为:ezplot(f,xmin,xmax,ymin,ymax)ezplot(f,a,b),x与y在(a,b)区间之内。3)对于参数方程x=x(t),y=y(t),调用格式为:ezplot(x,y)或者ezplot(f,tmin,tmax)示例示例1:ezplot(x2*sin(x+y2)+y2*exp(x+y)+5*cos(x2+y),-10 10);示例示例2:ezplot(cot(x)示例示例3:ezplo
12、t(x2+y2/4=1)示例示例4:ezplot(x2+y2-1,-1,1,-1,1)示例示例5:ezplot(x3+y3-5*x*y)示例示例6:ezplot(2*cos(t),sin(t),0,2*pi);3.23.2 三维曲线的绘制三维曲线的绘制绘制三维曲线的函数是plot3,与plot函数的调用格式相同,也有以下四种:plot3(x,y,z)plot3(X,Y,Z) X,Y,Z是相同阶数的矩阵,绘出三矩阵的列向量的曲线。是相同阶数的矩阵,绘出三矩阵的列向量的曲线。plot3(X,Y,Z,s)plot3(x1,y1,z1,s1,x2,y2,z2,s2,.)组合图形组合图形以第二种形式为例
13、:x,y=meshgrid(-2:0.1:2,-2:0.1:2);z=x.*exp(-x.2-y.2);plot3(x,y,z)函数名函数名说明说明函数名函数名说明说明mesh三维网格图meshc将网格与等高线结合meshz屏蔽的网格图meshgrid生成网格点MATLAB对于网格的处理方法是:将xy平面按指定方式分隔成平面网格,然后根据程序中给定的方式计算第三维变量的值,即z轴的值,与对应的xy平面的坐标构成三维点元素,根据由此得到的(x,z)和(y,z)计算各平面的曲线,彼此相连就构成了网格图。3.33.3 三维网线图和曲面图的绘制三维网线图和曲面图的绘制(1)网线图mesh函数X,Y=m
14、eshgrid(x,y) x和y是给定的向量,可以定义网格的划分区域,也可以定义网格的划分方法,X和Y是网格划分后的数值矩阵。mesh(X,Y,Z,C)绘制四个矩阵变量的彩色网格面图形,观测点由view定义,坐标轴由axis定义,C设置颜色,由colormap实现。mesh(X,Y,Z) 使用C=Z,即颜色正比于图高。mesh(x,y,Z,C)由两个向量代替矩阵,要求length(x)=n,length(y)=m,且m,n=size(Z)示例1: x=-2:0.1:2;y=-2:0.1:2;xx,yy=meshgrid(x,y);zz=xx.2+yy.2;%ii=find(xx.2+yy.24
15、);zz(ii)=NaN;surf(xx,yy,zz);x=-10:0.5:10;y=-8:0.5:8;x,y=meshgrid(x,y);z=sin(sqrt(x.2+y.2)./sqrt(x.2+y.2);mesh(x,y,z);示例2:(2)着色函数surfsurf(X,Y,Z,C)输入参数的设置和mesh相同,不同的是mesh绘制的是网格图,而surf绘制的着色的三维表面。两者对比如下图所示函数名函数名说明说明函数名函数名说明说明函数名函数名说明说明bar3三维条形图surfc着色图+等高线comet3三维彗星图trisurf三角形表面图ezgraph3函数控制绘制图waterfall
16、瀑布图pie3三维饼状图scatter3三维散射图cylinder柱面图stem3三维离散数据图sphere球面图trimesh三角形网格图(3)特殊的三维绘图命令(4)旋转曲面图 cylinderX,Y,Z = cylinder(r) 这里的r表示构成旋转曲面的曲线。方法一: Matlab程序如下。 x=0:10:600; X,Y,Z=cylinder(30*exp(-x/400).*sin(x+25*pi)/100)+130); surf(X,Y,Z)方法二:将旋转曲面用参数方程表示。 解 因为这里的函数是隐函数,化成显函数后有两支,必须使用参数方程,旋转面的参数方程为 画图的Matlab
17、程序如下:alpha=0:0.1:2*pi; beta=0:0.1:2*pi; x=4*cos(alpha)*ones(size(beta); y=(5+4*sin(alpha)*cos(beta); z=(5+4*sin(alpha)*sin(beta); surf(x,y,z) 画图的Matlab程序也可以写成 x=(alpha,beta) 4*cos(alpha); y=(alpha,beta) (5+4*sin(alpha)*cos(beta); z=(alpha,beta) (5+4*sin(alpha)*sin(beta); ezsurf(x,y,z)(5)绘制柱面图柱面平行于某个
18、坐标轴,方程中不出现某个坐标轴的变量,方程表示为F(x,y)=0或者F(x,z)=0或者F(y,z)=0示例一:画出方程 表示的柱面22zx解:方程中的x是自变量矩阵,z是因变量,则另一个自变量矩阵为y,自变量平面是xoy面,x轴是真正的自变量,y轴是柱面方向。Matlab程序如下:u=linspace(-5,5,10);%设定参数列向量uv=linspace(-5,10,10); %设定参数行向量vX=u*ones(size(v); %构成自变量矩阵XY=ones(size(u)*v; %构成自变量矩阵YZ=2-X.2; %求因变量Zmesh(X,Y,Z)(6)其他二次曲面Matlab中使用
19、绘图命令ezmesh或ezsurf也很方便,只需要把曲面方程写成两个变量的显函数方程或参数方程即可。对于旋转面,如果母线的方程可以表示成关于旋转轴变量的显式函数,则可以直接使用Matlab工具箱中的命令cylinder,否则必须把旋转面化成参数方程,然后使用ezmesh或ezsurf命令绘图。对于其它的二次曲面,如果可以写成显函数直接使用命令ezmesh或ezsurf,否则必须先化成参数方程。几个示例:(1)x=(s,t) 3*tan(s)*cos(t); y=(s,t) 2*tan(s)*sin(t); z=(s,t) tan(s); ezsurf(x,y,z) (2)ellipsoid(0
20、,0,0,3,2,sqrt(6) (3)ezsurf(x,y)x*y) (4)x=(s,t) 3*cos(s); y=(s,t) 2*sin(s); z=(s,t) t; ezmesh(x,y,z)(7)Matlab三维散点插值曲面图的绘制1、scatter3函数,调用方法:scatter3(X,Y,Z)示例1:x,y,z = sphere(16); X = x(:)*.5 x(:)*.75 x(:); Y = y(:)*.5 y(:)*.75 y(:); Z = z(:)*.5 z(:)*.75 z(:);S = repmat(1 .75 .5*10,numel(x),1);C = repm
21、at(1 2 3,numel(x),1);scatter3(X(:),Y(:),Z(:),S(:),C(:),filled), view(-60,60)示例2:x=4229042.63 4230585.02 4231384.96 4231773.63 4233028.58 4233296.71 4235869.68 4236288.29;y=431695.4 441585.8 432745.6 436933.7 428734.4 431946.3 428705.0 432999.5;z=1.019 1.023 1.011 1.022 1.020 1.022 1.022 1.023;scatte
22、r3(x,y,z)2、griddata函数,用来产生经插值后均匀间隔数据作图。常用的调用方法是:XI,YI,ZI = griddata(x,y,z,XI,YI,method),其中x,y,z来自关系式z=f(x,y),也可以是离散的数据点,ZI是有XI和YI插值后得到的对应点。其中method可以是linear,cubic和nearest。V1 = 1 1 0; -1 1 0; -1 -1 0; 1 -1 0;x = V1(:, 1);y = V1(:, 2);z = V1(:, 3);xmin = min(x); xmax = max(x);ymin = min(y); ymax = max
23、(y);x0 = linspace(xmin, xmax, 20);y0 = linspace(ymin, ymax, 20);x0, y0 = meshgrid(x0, y0);z0 = griddata(x, y, z, x0, y0, v4);figure; hold on; view(3);plot3(x, y, z, r., MarkerSize, 20);plot3(x0, y0, z0, k.); col = zeros(size(z0);col(:, end) = 1;mesh(x0, y0, z0, col)示例1:x=10*(0.5-rand(1000,1);y=10*(0
24、.5-rand(1000,1);z=sqrt(x.*x+y.*y).*(9.995+rand(1000,1)/100);clf;plot3(x,y,z,rp,markerSize,4); hold on;xx,yy=meshgrid(linspace(min(x),max(x),linspace(min(y),max(y);zz=griddata(x,y,z,xx,yy,cubic);mesh(xx,yy,zz);shading interp;colormap gray;hold on;示例2:示例3:x = rand(100,1)*4-2; y = rand(100,1)*4-2; z =
25、x.*exp(-x.2-y.2);ti = -2:.25:2; xi,yi = meshgrid(ti,ti);zi = griddata(x,y,z,xi,yi);mesh(xi,yi,zi), hold on, plot3(x,y,z,o), hold off3、TriScatteredInterp函数,该函数可以看作是griddata的升级版,可以取代griddata对离散数据点进行插值。主要用于不规则数据点的插值。主要调用方法:F= TriScatteredInterp(x,y,z),相当于定义了一个关于x,y,z的插值函数。示例1:x=10*(0.5-rand(1000,1); y=
26、10*(0.5-rand(1000,1); %生成随机数据生成随机数据z=sqrt(x.*x+y.*y).*(9.995+rand(1000,1)/100);clf;plot3(x,y,z,rp,markerSize,4); %绘制三维散点图绘制三维散点图hold on;F=TriScatteredInterp(x,y,z); %可以理解为定义了一个函数可以理解为定义了一个函数F(.)xx,yy=meshgrid(linspace(min(x),max(x),linspace(min(y),max(y);zz=F(xx,yy); %把把x,y的坐标输入其中,可以计算出插值的的坐标输入其中,可以
27、计算出插值的z维度数值维度数值mesh(xx,yy,zz); %然后可以采用常规的方法绘制曲面然后可以采用常规的方法绘制曲面shading interp;colormap gray;hold on;注:1、对F还可以设置方法F.method=nature/linear /nearest,前两个针对连续曲线。2、类似的一些地形图的绘制也是通过这种插值的方法进行绘制。示例2:z = x.2 + y.2; F = TriScatteredInterp(x,y,z); xi,yi = meshgrid(-0.3:.02:0.3, -0.0688:0.01:0.0688); zi = F(xi,yi);
28、 mesh(xi,yi,zi) xlabel(Interpolated surface, fontweight,b); figure;zi = xi.2 + yi.2; mesh(xi,yi,zi) (8)四维表现图针对v=v(x,y,z)类型的函数,引入了三维实体的四维切片色图,由函数slice实现。slice(X,Y,Z,V,Sx,Sy,Sz) 绘制向量Sx,Sy,Sz中的点沿x,y,z方向切片图,数组X,Y,Z用来定义V的坐标,V是M N P的矩阵。slice(X,Y,Z,V,XI,YI,ZI)绘制沿XI,YI,ZI数组定义的曲面的通过容量V的切片图。slice(V,Sx,Sy,Sz)或
29、slice(V,XI,YI,ZI) 默认X=1:N,y=1:M,Z=1:Pslice(.,method) 由method指定使用的插值方法,可以为linear,cubic或nearestH=slice(.) 返回处理surface对象的向量。3.43.4 MatlabMatlab图形处理的基本技术图形处理的基本技术1、图形的控制图形处理的基本技术包括图形控制、图形标注、图形保持以及子图的绘制等,前三项除了使用函数命令之外,还可以直接在生成的图形界面内进行对应修改。u坐标轴控制函数axis 两种调用形式:axis(V),V是一个数组,存储坐标轴的范围,V=Xmin,Xmax,Ymin,Ymax,
30、Zmin,Zmax。axis 控制字符串 用户可以通过选择不同的控制字符串完成对坐标轴的操作。u坐标轴缩放函数zoom 调用形式:zoom 控制字符串 对图形的缩放不会改变图形的基本结构。u平面的坐标网图函数grid调用形式:grid on/off 图形中绘制/取消坐标网格u坐标轴封闭函数box调用形式:box on/off 图形四周都显示/常规显示坐标轴2、图形的标注u坐标轴标注主要函数有title,xlabel,ylabel,调用形式为:xlabel(标注,属性1,属性值1,属性2,属性值2,.)属性包括字体大小,字体名,字体粗细等。例如:title(正弦函数,FontSize,12,Fo
31、ntWeight,bold,FontName,隶书)标注中的特殊符号有相应的转换字符,例如alpha表示,beta表示,gamma表示,delta表示等等。显示控制bf:黑体,it: 斜体,rm:标准形式,fontnamefontname:字体名fontsize(fontsize):字体大小。其他符号如,等只需使用”来引导即可,有分数或指数的形式,相应的指数或分母放到大括号内即可。例如:title(bf y=e-x2/2);u文本标注函数texttext(x,y,标注文本或控制字符串) x和y表示标注的位置,标注中可以实时调用返回值为字符串的函数,如char,num2str等 u交互式文本标注
32、legend用于解决同一张图中绘制多条曲线的情况。legend(标注1,标注2,.,定位代号)标注1,标注2等分别对应绘图过程按绘制先后顺序所生成的曲线。定位代号为0-4和-1,分别针对不同的位置,默认为1,置于图形的右上角。图形的保持和子图u图形的保持函数hold on/offu子图命令subplot(m,n,p)3.53.5 动画技术动画技术Matlab使科学计算余动画自然结合,实现完美的效果,Matlab中有很多动画的应用程序,如travel,truss,lorenz等。Matlab中产生动画的两种形式:1、以影片方式产生动画。这种方式是以图像的方式预存多个画面,再将这些画面助阵播放,即
33、可得到动画的效果。这种方法需要事先准备图片,无法进行实时成像,占内存大。产生动画的方法是使用getframe命令来抓取图形作为动画,每个画面都是以一个列向量的方式置于存放整个电影的矩阵M中。然后使用movie(M,k)命令来播放电影。示例:clear;s=0.2;x1=0;nframes=50;for k=1:nframes x1=x1+s; x=0:0.01:x1; y=sin(x); plot(x,y); axis(0 2*pi -1 1); grid off; M(k)=getframe; /将当前图形存入将当前图形存入Mendmovie(M,3);2、以对象方式产生动画。这种方式保持图
34、形窗口中的大部分对象,即整个背景不变,而只更新部分运动的对象,以便加快整幅图像的实时生成速度。缺点是无法产生复杂的动画。产生移动的动画效果需要先计算对象的新位置,并在新位置上显示出对象,然后擦除原位置上的旧对象,并刷新屏幕。需要用到擦除属性drasemode(取值有normal,xor,background,none),一般设置为xor。然后用drawnow命令刷新屏幕,有时会通过pause函数进行延迟运行。a=45;b=2;c=-300;s=0;t=0;for n=1:5000 x=t-sign(s)*(sqrt(abs(b*s-c); y=a-s; plot(x,y,o); hold on
35、; pause(0.1) s=x; t=y;end示例1:示例2:t = 0:pi/20:2*pi;y = exp(sin(t);h = plot(t,y,YDataSource,y);for k = 1:.1:10 y = exp(sin(t.*k); refreshdata(h,caller) ;drawnow; pause(.1)end3.63.6 MatlabMatlab图形用户界面设计图形用户界面设计图形窗口本身是由不同的图形对象组成,如坐标轴,曲线,曲面或者文字等,Matlab给每一个图形对象都分配了一个标识符,成为句柄(handle),可以通过该句柄对对象的属性进行编程控制。直接
36、对图形句柄进行操作的绘图方法称为底层绘图操作。GUI就是由窗口、菜单、对话框等各种图形元素组成的用户界面。1、创建图形对象的底层函数。(1)h=figure(n),创建图形窗口,n为窗口序号;(2)h=uicontrol(property,value),图形界面控制,property和value确定控制类型,如BackGroundColor,CallBack,FontName等(3)h=uimenu(property,value),创建用户界面菜单(4)h=axes(property,RECT),创建轴对象,RECT用于定义轴对象的位置和大小。(5)h=line(x,y,z),创建线对象,二维
37、用x和y。(6)h=patch(x,y,z,c),创建块对象,x,y,z定义多边形,c填充颜色。(7)h=surface(x,y,z,c) 创建面对象,x,y,z定义三维曲面坐标,c定义颜色矩阵。(8)h=image(x) 显示图像,x为图像矩阵(9)h=text(x,y,string) 标注文字示例1:xdata = 2 2 0 2 5; 2 8 2 4 5; 8 8 2 4 8;ydata = 4 4 4 2 0; 8 4 6 2 2; 4 0 4 0 0;cdata = 15 0 4 6 10; 1 2 5 7 9; 2 3 0 8 3;hp = patch(xdata,ydata,cd
38、ata,Marker,o,MarkerFaceColor,flat,FaceColor,none)set(hp,EdgeColor,g) 或者或者set(hp,EdgeColor,none)示例2:t = 0:pi/20:2*pi;hline1 = plot(t,sin(t),k);hline2 = line(t+.06,sin(t),LineWidth,4,Color,.8 .8 .8);2、图形对象属性的操作(1)对象属性的获取。主要命令有:get:获得句柄图形对象的属性和返回某些对象的句柄值。get(h),get(gcf)set:改变图形对象的属性。gcf:当前窗口对象的句柄,对应Fig
39、ure。h=gcf:返回当前窗口对象的句柄。gca:当前轴对象的句柄,对应Axes。delete(gcf):删除当前窗口的属性。示例1:h=figure(1);h1=line(2:36,3:37);h3=gcf;h4=gca;set(h1,color,1 0 1);set(h3,color,0.5 0.5 0.5);set(h4,color,1 1 0);(2)对象属性的直接操作通过当前句柄实现对象属性的直接操作,获取句柄的函数为get(h),get(h,属性名称);set(h),set(h1,属性名称,新属性值),如set(h,color,m,linewidth,2,linestyle,*)
40、;3、菜单设计(1)建立用户菜单用户菜单包含一级菜单和二级菜单,每一级菜单又包含许多菜单项,建立用户菜单使用uimenu函数,调用方法“一级菜单句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2.)子菜单项句柄=uimenu(一级菜单句柄,属性名1,属性值1,.)(2)菜单对象常用属性菜单对象的公共属性有Children,Parent,Tag,Type,UserData,Visible, ButtonDownFcn,CreateFcn,DeleteFcn,特殊属性有:Lable(菜单项的名字)Accelerator(快捷键),Callback(响应函数,M文件或者命令),Checked,Enabled,Position,Separator。示例:见备注(3)快捷菜单右键弹出菜单,使用uicontextmenu函数和图形对象UIContextMenu属性来建立快捷菜单。步骤(1)使用uicontextmenu函数建立快捷菜单项;(2)使用uimenu为快捷菜单添加菜单项;(3)利用set函数将快捷菜单和某图形对象联系起来。示例:见备注4、对话框设计对话框
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 睡眠眼罩商业计划书
- 物联网运营工作计划范文
- 专注智能物流 喜迎“机器人革命”-专访广东嘉腾机器人自动化有限公
- 2025秋五年级上册语文(统编版)-【20 精彩极了和糟糕透了】作业课件
- 2025秋五年级上册语文(统编版)-【7 什么比猎豹的速度更快】作业课件
- 人造肉项目立项报告
- 人造肉项目企业运营管理(模板)
- 中国汽车摩擦材料项目投资计划书
- 户外拓客活动方案
- 网络货运对铁路物流企业的影响分析
- 虫害趋势的分析报告
- xx市汽车客运站平面布局设计-交通港站与枢纽课程设计
- 第11章蜗杆传动
- 2022-2023学年天津市和平区益中学校八年级(下)期末数学试卷(含解析)
- 肢端肥大症护理查房
- 基于STM32的四路抢答器课程设计说明书
- 《滑炒鸡丝》课程教学设计
- 大学生创新创业教程PPT完整全套教学课件
- 钢板卷管工实用工艺
- 外科学(2)知到章节答案智慧树2023年温州医科大学
- 火电厂典型危险点分析预控措施
评论
0/150
提交评论