收藏 分销(赏)

MATLAB三维图形绘制.ppt

上传人:精**** 文档编号:10300765 上传时间:2025-05-20 格式:PPT 页数:51 大小:444.54KB
下载 相关 举报
MATLAB三维图形绘制.ppt_第1页
第1页 / 共51页
MATLAB三维图形绘制.ppt_第2页
第2页 / 共51页
点击查看更多>>
资源描述
,精选2021版课件,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,4.2 MATLAB的 三维图形绘制,一、绘制三维线图命令plot3,plot3是用来绘制三维曲线的,它的使用格式与二维绘图的plot命令很相似。,语法:,plot3(x,y,z,s),%绘制三维曲线,plot3(x1,y1,z1,s1,x2,y2,z2,s2,),%绘制多条三维曲线,说明:当x、y、z是同维向量时,则绘制以x、y、z元素为坐标的三维曲线;当x、y、z是同维矩阵时,则绘制三维曲线的条数等于矩阵的列数。s是指定线型、色彩、数据点形的字符串。,1,精选2021版课件,二、绘制三维网格图和曲面图,1.meshgrid命令,为了绘制三维立体图形,MATLAB的方法是将x方向划分为m份,将y方向划分为n份,meshgrid命令是以x、y向量为基准,产生在x-y平面的各栅格点坐标值的矩阵。,语法:,X,Ymeshgrid(x,y),说明:X、Y是栅格点的坐标,为矩阵;x、y为向量。,例如,将x(1m)向量和y(1n)向量转换为(nm)的矩阵:,2,精选2021版课件,2.三维网格图,三维网格图是由一些四边形相互连接在一起所构成的一种曲面。,语法:,mesh(z),%画三维网线图,mesh(x,y,z,c),说明,:当只有参数z时,以z矩阵的行下标作为x坐标轴,把z的列下标当作y坐标轴;x、y分别为x、y坐标轴的自变量;当有x、y、z参数时,c是指定各点的用色矩阵,当c省略时默认用色矩阵是z的数据。如果x、y、z、c四个参数都有,则应该都是维数相同的矩阵。,3,精选2021版课件,3.三维曲面图,语法:,surf(z),%画三维曲面图,surf(x,y,z,c),说明:参数设置与mesh命令相同,c也可以省略。,4.其它立体网线图和曲面图,meshc命令为立体网状图加等高线;meshz为立体网状图加“围裙”。,4,精选2021版课件,三、绘制三维旋转体,1、球面图,语法:,sphere(n),%产生单位球面,n为旋转圆周上的分 格线条数,默认n=20。,x,y,z=sphere(n),%生成三个(n+1)*(n+1)阶的矩阵 利用surf或mesh命令产生单位球面。,2、柱面图,语法:,cylinder(r,n),%以母线向量r生成单位柱面,默认n=20,r=1,1。,x,y,z=cylinder(r,n),%生成柱面的x,y,z数据矩阵,利用surf或mesh命令产生单位高度柱面。,5,精选2021版课件,四、立体图形与图轴的控制,1网格的隐藏,语法:,hidden off,%显示被遮盖的网格,hidden on,%隐藏被遮盖的网格,2改变视角,语法:,view(az,el),%通过方位角和俯仰角改变视角,说明:az表示方位角(azimuth),el表示俯仰角(elevation),6,精选2021版课件,默认值:az=-37.5,el=30,7,精选2021版课件,五、色彩的控制,1色图(colormap),(1)RGB三元组,RGB三元数组每行表示一种色彩,数组元素R、G、B在01之间取值,分别表示红、绿、蓝基色的相对亮度,如下表所示。,colormap(R,G,B),色图设定函数,colormap,色图函数,色图设定函数,colormap,色图函数,(m),产生m3的色图矩阵 缺省643。,8,精选2021版课件,9,精选2021版课件,10,精选2021版课件,2色图的显示和处理,(1)色图的显示,rgbplot命令,语法:,rgbplot(map),说明:map是表4.8中的各预定义色图函数,rgbplot命令可画出以行数为自变量红、绿、蓝相对亮度分量的直线图,反映R、G、B三色比重的变化。,colorbar命令,以不同颜色来代表曲面的高度,垂直显示颜色标尺。,11,精选2021版课件,(2)浓淡处理shading,【,例,】使用浓淡处理peaks函数曲面图。,(3)亮度处理brighten,语法:,brighten(a),说明:当0=a=1时,色图加亮,当-1=a,x=3:6;,y=5.3000 13.0000 0.4000,5.1000 11.8000 -1.7000,3.7000 8.1000 0.6000,1.5000 7.7000 -4.5000,bar(x,y)%画条形图,bar3(x,y)%画三维条形图,图4.23(a)条形图 (b)三维条形图,14,精选2021版课件,二、直方图,语法:,hist(y,m),%统计每段的元素个数并画出直方图,hist(y,x),%x是向量,用于指定所分每个数据段,的中间值,三、饼图,饼图是用于显示向量中的各元素占向量元素总和的百分比。,语法:,pie(x,explode,label),%画二维饼图,pie3(x,explode,label),%画三维饼图,说明:x是向量;explode是与x同长度的向量,用来决定是否从饼图中分离对应的一部分块,非零元素表示该部分需要分离;label是用来标注饼图的字符串数组。,分段的个数,默认为10,15,精选2021版课件,【,例4.21,】绘制四个季度支出额的饼图。,y=200 100 250 400;%四个季度支出额,explode=0 0 1 0;,pie(y,explode,第一季度,第二季度,第三季度,第四季度),16,精选2021版课件,四、离散数据图,MATLAB提供了多个绘制离散数据的命令,有stem、stem3、stairs和scatter等。,【,例,】,使用几种绘制离散数据的命令来显示 的离散数据。,五、等高线图,语法:,contour3(Z,n),%绘制Z矩阵的三维等高线,contour(x,y,z,n),%绘制以x和y指定x、y坐标的二维等高线,说明:n为等高线的条数,省略时为自动条数。,17,精选2021版课件,x=0:0.1:2*pi;,y=sin(x).*exp(-2*x);,subplot(3,1,1),stem(x,y,filled)%画火柴杆图,subplot(3,1,2),stairs(x,y)%画阶梯图,subplot(3,1,3),scatter(x,y)%画点图,18,精选2021版课件,六、对数坐标和极坐标图,1.对数坐标图形,语法:,semilogx(x,y,参数),%绘制x为对数坐标的曲线,semilogy(x,y,参数),%绘制y为对数坐标的曲线,loglog(x,y,参数),%绘制x、y都为对数坐标的曲线,2.极坐标图,语法:,polar(theta,radius,参数),%绘制极坐标图,说明:theta为相角,radius为离原点的距离。,19,精选2021版课件,【,例4.23,】求传递函数为 的对数幅频特性曲线,横坐标为w,按对数坐标。,w=logspace(-2,3,20);%频率w为0.01到1000,Aw=1./(w.*sqrt(0.5*w).2+1);%计算幅频,Lw=20*log10(Aw);%计算对数幅频,semilogx(w,Lw),title(对数幅频特性曲线),20,精选2021版课件,七、复向量图,pass命令,compass绘制的是以原点为起点的一组复向量,因此又称为罗盘图。,语法:compass(u,v),%画罗盘图,compass(Z),说明:u、v分别为复向量的实部和虚部;当只有一个参数Z时,则相当于compass(real(Z),imag(Z)。,2.feather命令,feather绘制的是起点为(k,0)的复向量图,又称为羽毛图。,语法:,feather(u,v),%画羽毛图,feather(Z),图4.31(a)罗盘图 (b)羽毛图,21,精选2021版课件,4.4 对话框,用于计算机与用户进行交互的界面,1.输入信息对话框,输入对话框为用户的输入信息提供了界面,,使用inputdlg命令创建。,语法:,answer=inputdlg(prompt,title,lineno,defans,addopts),%创建输入对话框,说明:answer 返回用户的输入,为元胞数组;prompt为提示信息字符串,用引号括起来,为元胞数组;title为标题字符串,用引号括起来,可以省略;lineno用于指定输入值的行数,可以省略;defans为输入项的默认值,用引号括起来,是元胞数组可以省略;addopts指定对话框是否可以改变大小,取on或off,省略时为off表示不能改变大小。,22,精选2021版课件,【,例,】利用输入对话框输入二阶系统的系数。,程序分析:prompt、defans和p都是元胞数组。如果单击“Cancel”按钮,则返回空的元胞数组。,prompt=请输入阻尼系数,请输入无阻尼振荡频率;,defans=0.707,1;,p=inputdlg(prompt,输入参数,1,defans),23,精选2021版课件,2.输出信息对话框,(1)消息框,语法:,msgbox(message,title,icon,icondata,iconcmap,CreateMode),%创建消息框,说明:message为显示的信息,可以是字符串或数组;title为标题,是字符串可省略;icon为显示的图标,可取值为“none”(无图标)、“error”(出错图标)、“help”(帮助图标)、“warn”(警告图标)或“custom”(自定义图标),也可省略;当使用“custom”时,用icondata定义图标的数据,用iconcmap定义图标的颜色映象;CreateMode为对话框的产生模式可省略,取值为“modal”(有模式)、“replace”(无模式可代替同名的对话框)、“non-modal”(默认为无模式)。,(有模式对话框是指在对话框关闭之前,用户无法进行其它程序的运行),24,精选2021版课件,【,上例续,】使用消息框显示当阻尼系数大于1时的警告信息,如图所示。,msgbox(阻尼系数输入范围出错,警告,warn),25,精选2021版课件,(2)其它对话框,【,例续,】使用,警告对话框,显示当阻尼系数大于1时的警告信息。,warndlg(阻尼系数输入范围出错,警告),【,例续,】使用,出错提示框,显示当阻尼系数小于0时出错信息。,errordlg(阻尼系数输入出错,出错),【,例续,】使用,帮助提示框,显示阻尼系数的范围。,helpdlg(欠阻尼系数应大于0小于1,帮助),26,精选2021版课件,(3)提问提示框,【,例续,】使用提问提示框使用户确认。,button=questdlg(是否确认?,Are you sure?,Yes,No,Yes),程序分析:有两个按钮,默认的指定按钮为“Yes”。即当用户按下回车键时,返回“Yes”,当用户单击按钮“No”时,返回“No”。,27,精选2021版课件,3.文件管理对话框,(1)打开文件对话框uigetfile,语法:,FileName,PathName=uigetfile(FiltrEspec,Title,x,y),说明:FileName和PathName分别为返回的文件名和路径,可省略,如果按“取消”按钮或发生错误,都返回0;FiltrEspec指定初始时显示的文件名,可以用通配符“*”表示,当省略时,则自动列出当前路径下的所有“*.m”文件和目录;Title为对话框标题,可省略;x、y分别指定对话框在屏幕上的位置(到屏幕左上角的距离),单位是像素,可省略。,28,精选2021版课件,【,例,】利用打开文件对话框选择MATLAB目录下的文件license.txt,如图所示。,程序分析:在屏幕的左上角位置显示打开文件对话框,单击“打开”按钮,返回文件名和路径名到fname和pname变量。,fname,pname=uigetfile(*.*,打开文件),29,精选2021版课件,(2)保存文件对话框uiputfile,语法:,FileName,PathName=uiputfile(FiltrEspec,Title,x,y),【,例续,】利用保存文件对话框来选择文件。,fname1,pname1=uiputfile(Ex0431.mat,保存文件),30,精选2021版课件,什么是句柄图形,句柄图形(Handle Graphics):,利用底层绘图函数,通过对,对象属性,的设置与操作实现绘图。,句柄图形中所有图形操作都是针对图形对象而言的。,句柄图形充分体现了面向对象的程序设计。,4.5,句柄图形,31,精选2021版课件,句柄图形的功能,句柄图形可以随意改变matlab生成图形的方式。,句柄图形允许你定制图形的许多特性,无论是对图形做一点小改动,还是影响所有图形输出的整体改动。,句柄图形的特性高层绘图函数是无法实现的,32,精选2021版课件,一、句柄图形体系,句柄图形是一种面向对象的绘图系统,又称为低层图形。,句柄图形体系由若干个图形对象组成,如图所示。,33,精选2021版课件,什么是句柄?,句柄是图形对象的标识代码,标识代码含有图形对象的各种必要的属性信息。,各图形对象的句柄数据格式:,根屏幕,0,图形窗口 整数,表示图形窗口数,其它对象 对应的符点数,句柄(handle)与句柄操作,34,精选2021版课件,所有能创建图形对象的,matlab,函数都可给出所创建图形对象的句柄,例:创建1号窗口,返回句柄,h=figure(1),h=1 返回值为窗口号数,例:,h=line(1:6,1:6)创建线对象的同时也建立了一个唯一的句柄,变量h是句柄值符点数,35,精选2021版课件,二、图形对象的操作,1图形对象的创建,每次创建一个对象时,就为它建立一个唯一的句柄。每个命令的格式及功能如表所示。,36,精选2021版课件,2对象,句柄的,获取,(1)当前对象句柄的获取,MATLAB提供了三个获取当前对象句柄的命令:,语法:,gcf,%获取当前图形窗口句柄,gca,%获取当前坐标轴句柄,gco,%获取被鼠标最近点击对象的句柄,【,例,】使用上述命令获取图形对象的句柄。,37,精选2021版课件,(2)查找对象,用命令 findobj可以快速查找所有对象,以及获取指定属性值的对象句柄。,语法:,h=findobj,%返回根对象和所有子对象的句柄,h=findobj(h_obj),%返回指定对象的句柄,h=findobj(PropertyName,PropertyValue),%返回符合指定属性值的对象句柄,h=findobj(h_obj,PropertyName,PropertyValue),%在指定对象及子对象中查找符合指定属性 值的对象句柄,说明:h_obj为指定对象句柄;PropertyName为属性名;PropertyValue为属性值。,【,例,】使用findobj命令获取图形对象的句柄。,38,精选2021版课件,(3)追溯父对象和子对象的句柄,如果一个对象的句柄已知,则可以追溯到其父对象和子对象的句柄。,语法:,h_parent=get(h_obj,parent),%追溯父对象的句柄,h_children=get(h_obj,children),%追溯子对象的句柄,3对象句柄的删除,删除图形对象使用命令delete(h_obj),该命令将删除句柄所指对象和所有子对象,而且不提示确认,使用时要小心。,39,精选2021版课件,三、图形对象,属性的,获取和设置,1创建对象时设置属性,对象的属性可以在创建时设置,在创建时句柄图形对象可以设置多个属性。,【,例4.29,】创建图形对象。,h_fig=figure(color,red,menubar,none,position,0,0,300,300),程序分析:创建一个窗口,背景为红色,没有菜单条,在屏幕的(0,0)位置,宽度、高度为300。,40,精选2021版课件,2.用get函数获取指定对象的属性值,语法:,get(h_obj),%获取句柄对象所有属性的当前值,get(h_obj,PropertyName),%获取句柄对象指定属性的当前值,3.用set函数设置对象的属性值,语法:,set(h_obj),%显示句柄对象所有属性和属性值,set(h_obj,PropertyName),%显示句柄对象指定属性名的属性值,set(h_obj,PropertyName,PropertyValue),%设置句柄对象指定属性的属性值,set(h_obj,PropertyStructure),%用结构数组设置句柄对象指定属性的属性值,41,精选2021版课件,4.6 图形用户界面(GUI)设计,MATLAB设计图形用户界面的方法有两种:使用可视化的界面环境和通过编写程序。,一、可视化的界面环境,MATLAB提供了一个可视化的图形用户界面开发环境,GUIDE,(Graphical User Interface Development Environment),,打开可视化界面环境的方法有以下几种:,(1)选择菜单“File”“New”“GUI”命令;,(2)在命令窗口输入“Guide”命令或输入“Guide Filename”就会出现Guide快速开始界面。,42,精选2021版课件,用户界面开发环境被分为四个部分:,菜单栏,Guide工具栏,图形控件面板,界面编辑客户区,43,精选2021版课件,GUI开发过程可分为4个步骤:,菜单的设计和布局,菜单的编程,GUI界面的设计和布局,GUI的编程,GUIDE环境将建立的GUI文件保存为两个伴随文件:FIG文件和M文件,44,精选2021版课件,二、GUIDE常用工具,Layout Editor:布局编辑器,Alignment Tool:对齐工具,Property Inspector:对象属性观察器,Menu Editor:菜单编辑器,Object Browser:对象浏览器,45,精选2021版课件,三、菜单,1.使用菜单编辑器创建菜单,2.编程创建菜单,3.回调函数,语法:,h_menu=uimenu(h_parent,propertyname,propervalue,),46,精选2021版课件,【,例,】编程创建如图所示的菜单。,h_fig=gcf,h_fig=,1,h_menu=uimenu(h_fig,label,Paint);,%创建菜单Paint,h_menu1=uimenu(h_menu,label,Circle);,%创建Paint的子菜单Circle,h_menu2=uimenu(h_menu,label,Color);,%创建Paint的子菜单Color,h_menu21=uimenu(h_menu2,label,Red);,%创建Color的子菜单Red,h_menu22=uimenu(h_menu2,label,Blue);,%创建Color的子菜单Blue,47,精选2021版课件,【上,例续,】将已创建的菜单修改,并添加回调函数。,h_menu21=uimenu(h_menu2,label,Red,callback,set(h_fig,color,red),%创建Color的子菜单Red将图形背景为红色,h_menu22=uimenu(h_menu2,label,Blue,callback,set(h_fig,color,blue),%创建Color的子菜单Blue将图形背景为蓝色,48,精选2021版课件,四、控件,1.常用控件,49,精选2021版课件,2.控件的创建,(1)在可视化界面环境中创建控件,(2)用uicontrol命令创建控件,语法:,h_control=uicontrol(h_Parent,PropertyName,ProperValue,),50,精选2021版课件,五、GUI应用举例,【,例,】使用控件设计用户界面,根据阻尼系数绘制二阶系统的时域曲线。,功能:在图形用户界面中,通过弹出式菜单选择二阶系统的阻尼系数,然后单击不同按钮在坐标轴中绘制不同阻尼系数不同颜色的时域曲线。,51,精选2021版课件,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服