实验五绘图与GUI设计

上传人:宝路 文档编号:49742967 上传时间:2018-08-02 格式:PPT 页数:37 大小:1.56MB
返回 下载 相关 举报
实验五绘图与GUI设计_第1页
第1页 / 共37页
实验五绘图与GUI设计_第2页
第2页 / 共37页
实验五绘图与GUI设计_第3页
第3页 / 共37页
实验五绘图与GUI设计_第4页
第4页 / 共37页
实验五绘图与GUI设计_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《实验五绘图与GUI设计》由会员分享,可在线阅读,更多相关《实验五绘图与GUI设计(37页珍藏版)》请在金锄头文库上搜索。

1、主讲人:李秀滢 电子信息工程系 第五讲 计算可视化与GUI设计 Matlab基础应用1一.计算的可视化nMATLAB具有强大的二维和三维绘图功能,尤其擅 长于各种科学计算结果的可视化。计算的可视化可 以将杂乱的数据通过图形来表示,从中观察出其内 在的联系。u二维曲线的绘制u三维图形的绘制u图形窗口的功能21 绘制曲线或曲面的一般步骤步骤内容1曲线或曲面的数据准备:对于二维曲线,横坐标和纵坐标数据(x,y);对于三维曲面,矩阵参变量和对应的函数值(x,y,z)。2 指定图形窗口和子图位置: 默认时,打开Figure No.1窗口或当前窗口、当前子图; 也可以打开指定的图形窗口和子图。3设置曲线的

2、绘制方式:线型、色彩、数据点形。4 绘制曲线(plot , plot3)或曲面(mesh , surf)5设置坐标轴:坐标的范围、刻度和坐标分格线5 图形注释:图名、坐标名、图例、文字说明6 着色、明暗、灯光、材质处理(仅对三维图形使用)7视点、三度(横、纵、高)比(仅对三维图形使用)8图形的精细修饰(图形句柄操作): 利用对象属性值设置; 利用图形窗口工具条进行设置。!32 二维曲线的绘制n语法:p绘制以y为纵坐标的二维曲线 plot(y) 说明: 1)当y为向量时,系统根据y向量的元素序号自动生成从1开 始的向量。 2)当y为m*n的矩阵时,命令为矩阵的每一列画一条曲线。 3)当y为复向量

3、时,命令以实部为横坐标,虚部为纵坐标。p绘制以x为横坐标、y为纵坐标的二维曲线。 plot(x,y) 说明: 1)当x,y都为向量时,x和y长度必须相等。 2)当x为向量、y为矩阵时,则x的长度与矩阵y的行数或列 数必须相等。若x长度与y矩阵行数相等,则向量x与矩阵y的每一列向量 对应画一条曲线。 3)若x是矩阵,而y是向量,则y长度必须等于x的行数或列 数,绘制同前。 4)若x和y都是矩阵,则大小必须相同。矩阵x的每列和y的 每列画一条曲线。p绘制多条二维曲线 plot(x1,y1,x2,y2,.) 说明: 每对矩阵(xi,yi)均按前面规则进行解释绘制。2.1 基本绘图命令42.2 曲线的

4、线型、颜色和数据点形n 语法:plot(x,y,s)n 说明:s为类型说明字符串参数。它可以是线段类型、颜 色和数据点形3种类型符号的组合。颜色数据点间连线数据点形 类型符号类型符号类型符号 黄色 品红色(紫色) 青色 红色 绿色 蓝色 白色 黑色y(Yellow) m(Magenta) c(Cyan) r(Red) g(Green) b(Blue) w(White) k(Black)实线(默认) 点线 点划线 虚线-: -. -实点标记 圆圈标记 叉号形 十字形 星号标记 方块标记 钻石形标记 向下的三角形标记 向上的三角形标记 向左的三角形标记 向右的三角形标记 五角星标记 六连形标记.

5、o x + * s d v p h52.3 多个图形绘制的方法n 指定图形窗口u语法:figure(n) %产生新图形窗口u说明:如果该窗口不存在,则产生新图形窗口并设置为当前 窗口。n 同一窗口多个子图u语法:subplot(m n k) %使子图中的第k幅成为当前图u说明:将图形窗口划分为m*n幅子图,k是当前子图编号。n 同一窗口多次叠绘u语法:hold on %使当前坐标系和图形保留u hold off %使当前坐标系和图形不保留62.4 设置坐标轴和文字标注n 坐标轴控制n 分格线u语法:grid on/off %显示/不显示分格线 u说明:不显示分格线是默认设置,分格线疏密由坐标刻

6、 度决定。命令含义命令含义axis auto使用默认设置axis(xmin,xma x,ymin,ymax)设定坐标范围,必须满足xminx=0:0.1:20*pi;plot3(x,sin(x),cos(x) %按系统默认设置绘图103.2 绘制三维网线图和曲面图n三维网线图与曲面图是三维立体图,MATLAB中提供了mesh和surf命令来绘制。在数据准备上需要使用meshgrid命令构成xy平面上的自变量栅格点矩阵。n产生以x,y向量为基准,x-y平面栅格点坐标值的矩阵u语法:xx,yy=meshgrid(x,y)n三维网线图u语法:mesh(xx,yy,z)n三维曲面图u语法:surf(x

7、x,yy,z)例2: x=linspace(-3,3,49); y=linspace(-3,3,49);x1,y1=meshgrid(x,y); z=3*(1-x1).2.*exp(-(x1.2)-(y1+1).2)subplot(2,2,1);mesh(x1);title(x1 fig)subplot(2,2,2);mesh(y1);title(y1 fig)subplot(2,2,3);mesh(x1,y1,z);title(mesh fig)subplot(2,2,4);surf(x1,y1,z);title(surf fig)113.3 立体图形的控制n网格的隐藏u语法:hidden

8、off/on %显示/隐藏被遮盖的网格u说明:默认情况下图形后面的网格会被图形遮盖。n改变视角u语法:view(az,el) %通过方位角和俯仰角改变视角。u view(vx,vy,vz) %通过直角坐标改变视角。n曲面镂空u通过将希望镂空的位置用nan来取代矩阵在该部分的数值。u例3:x,y,z=peaks z(5:20,10:30)=nan surf(x,y,z)123.4 色彩的控制n色彩表现在图形中非常重要,MATLAB中非常重视色彩的处理,它提供了丰富的色彩控制命令,同学们课下自学。o色图o色图的显示和处理如:浓淡处理、亮度处理等。134 特殊图形绘制图形绘制函数功能说明条形图bar

9、, barh, bar3,barsh绘制垂直条形图、水平条形图 三维垂直条形图、三维水平条形图面积图area(x,y)y可以是矩阵和向量实心图fill(x,y,c)c为实心图的颜色直方图hist(y,m)统计每段元素的个数并画图饼形图pie(x,explode,label ) pie3(x,explode,labe l)画二维饼形图 画三维饼形图离散数据图stem,stairs,scatterstem绘制离散点的火柴杆图;stairs绘制阶梯图 ;scatter绘制离散点图。对数坐标图semilogx,semilogy, LoglogSemilogxsemilogy绘制x/y为对数坐标的曲线。

10、极坐标图ploar(th,rad,参数 )th为相角,rad为离原点的距离等高线图contour(x,y,z,n) contour3(x,y,z,n)绘制二维等高线图,n为等高线条数 绘制三维等高线图,n为等高线条数复向量图compass feathercompass绘制罗盘图 feather绘制羽毛图145 图形窗口的功能添加箭头添加直线添加文字图形对象编辑放大缩小三维图形旋转Edit菜单insert菜单15二. GUI(图形用户界面)程序设计u图形用户界面(GUI)程序就是通过窗口、选单、按钮、文字说明等 对象构成一个美观的界面,提供用户利用鼠标或键盘方式指挥后台程 序实现某些功能。u一个

11、好的GUI能够使程序更加容易使用。它提供给用户一个常见的界 面,还提供一些可操作的控件,如按钮、列表框、滑块和菜单等。u创建一个MATLAB图形用户界面程序必须具备以下3个基本元素。(1)组件图形化的组件,让用户看到该组件就知道怎样操作。(2)图形窗口GUI的每个组件都必须安排在图形窗口中,它像一个摆放各种器 械的容器(画布)。(3)回应只要执行GUI的单个图形组件,就必须有一个回应16n实现GUI程序包括两个基本任务uGUI界面的设计:即GUI的组件布局;uGUI组件的编程:编写各组件的响应函数(回调函数)u除此之外,GUI程序也可能需要保存发布,使开发的程序 真正得到应用。nMATLAB提

12、供了开发GUI程序的集成开发环境GUIDE,简化设 计流程。n在利用GUIDE编写程序时,该开发环境为用户生成两个文件。uFIG文件:该文件包括用户GUI界面的所有组件对象(含 图形窗口)及对象的属性。uM文件:该文件包括用户所编写的所有的响应函数(回调 函数),或用户定义的子函数。其不包含任何组件的布 局信息。nMATLAB的GUI程序的核心就是句柄图形对象的应用,对句柄图 形对象的充分了解使GUI程序编写更加容易。1 GUI程序设计要点172 句柄图形对象句柄标示回调函数事件响应u 对象uMATLAB是一种面向对象的高级语言,其数据的可视化技 术中的各种图形元素,都是抽象的图形对象的实例。

13、u将一个图形的每个组件都看作一个对象,每个对象都有 一独一无二的句柄(Handle),句柄是存取图形对象唯一 标示。属性特征18n 句柄图形体系由若干个图形对象组成:root(屏幕)figure(窗口 )uicontrol(界面控件)axes(轴)uimenu(界面菜单 )2.1 句柄图形体系内核对象父子关系 兄弟关系line (线条)surface (表面)rectangle (矩形)patch (贴片 )image (图像 )text (文字)light (光源)按钮(PushButton) 编辑框(Edit) 框架(frame) 列表框(ListBox) 组合框(PopupMenu) 复

14、选框(CheckBox) 单选框(RadioBotton) 文本(StaticText) 滚动条(Slider)19n 图形对象的创建u除了根屏幕外,绝大多数图形对象都由与之同名的命令创建,命令的格式及功能如下:2.2 句柄图形对象的操作命令功能说说明h_ figure =figure(n)创创建第n个图图形窗口n为为正整数h_axes =axes(position,left,bottom,width,height)创创建坐标轴标轴定义轴义轴 的位置和大小h_ line =line(x,y,z)创创建直线线z省略则则在二维维平面上h_ surface=surface(x,y,z,c)创创建面x

15、、y、z定义义三维维曲面,c是颜颜色参数h_ rectangle=rectangle (position,x,y,w,h,curvature,xc,yc)创创建矩形x、y为为左下顶顶点坐标标,w、h为长为长 方形的宽宽和高 ,xc、yc为为曲率h_ patch=patch(faces,fac,veitices,vert)创创建贴贴片fac为为多边边形顶顶点的序号矩阵阵,vert为顶为顶 点矩阵阵h_ image=image(x)创创建图图像x为图为图 像数据矩阵阵h_ text=text(x,y,string)创创建文字x、y为为字符串string的标标注位置h_ light=light(Pr

16、opertyName,Propertyvalue)创创建光源设设置光的入射方向h_uicontrol=uicontrol(PropertyName,Propertyvalue)创创建用户户界面控件PropertyName和Propertyvalue指定控件的类类型h_uimenu = uimenu (propertyName, Propertyvalue)创创建用户户界面菜单单propertyName和Propertyvalue指定菜单单的形式20n 对象句柄的获取(1)当前对象的获取u语法:gcf %获取当前图形窗口句柄gca %获取当前坐标轴句柄gco %获取被鼠标最近单击对象的句柄。(2)查找对象u语法:findobj %查找对象,获取指定属性值的对象句柄。(3)

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

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号