第五章matlab句柄绘图

合集下载

实验六 MATLAB句柄绘图和GUI界面设计

实验六  MATLAB句柄绘图和GUI界面设计

西北农林科技大学实验报告学院名称:理学院专业年级:姓名:学号:课程:数学软件实验报告日期:2014年11月22日实验六MATLAB的句柄绘图与GUI界面设计一、实验目的MATLAB语言的句柄绘图可以对图形的各基本对象进行更为细腻的修饰,能产生更为复杂的图形,而且为动态图形的制作奠定了基础。

本次实验的目的是了解图形的基本结构,掌握图形对象之间的关系,熟悉图形对象属性的获取、设置与修改。

并能初步使用MATLAB 的GUI界面设计进行界面的设计,为将来进行软件开发打好基础。

二.实验要求MATLAB的底层图形修饰方法十分的丰富,通过本次实验,要求能体会句柄图形的概念,熟悉根屏幕、图形窗口、界面控制、界面菜单、轴、线、面、字、块、像等基本图形对象的创建和修改,熟练掌握基本图形对象的属性获取、设置与修改,会利用对象属性修改图形,会创建与修改界面控制与界面菜单。

能根据需要使用消息对话框、警告对话框、输入对话框、提示对话框、列表对话框、进度指示条等。

能初步设计出自己较为满意的GUI图形用户界面。

三.实验内容一、句柄图形的概念句柄图形(Handle Graphics):是一种面向对象的绘图系统。

该系统提供创建计算机图形所必须的各种软件。

它所支持的指令,可直接创建线、文字、网线、面以及图形用户界面。

在MATLAB中的图形系统中,所有的图形操作都是针对图形对象而言的,每个对象从创建时起就被赋予了唯一的标识,这种标识就是该图像的句柄。

1.图形对象MATLAB的图形对象包括计算机屏幕、图形窗口、坐标轴、用户菜单、用户控件、曲线、曲面、文字、图像、光源、区域块和方框等。

系统将每一个对象按树型结构组织起来。

每个具体图形不必包含每个对象,但每个图形必须具备根屏幕和图形窗口。

2.图形对象句柄MATLAB在创建每一个图形对象时,都为该对象分配唯一的一个值,称其为图形对象句柄(Handle)。

句柄是图形对象的唯一标识符,不同对象的句柄不可能重复和混淆。

matlab句柄绘图课件

matlab句柄绘图课件
为什么使用句柄绘图?
句柄绘图提供了更高级的图形操作和自定义功 能,使得绘图过程更加灵活和可控。
句柄绘图的优点
• 可以动态更新图形 • 支持交互式修改 • 创建复杂的可视化效果
句柄绘图的示例
1
静态图与动态图的区别
2
Hale Waihona Puke 了解静态图和动态图在句柄绘图中的
应用和区别。
3
句柄绘图的使用方法
学习如何在MATLAB中使用句柄对象 创建和修改图形。
句柄绘图的应用
句柄绘图广泛应用于科学研 究、工程建模和数据可视化 等领域。
句柄绘图的未来发 展
展望句柄绘图技术在未来的 发展方向和应用前景。
MATLAB句柄基础
1 什么是句柄?
句柄是一个指向存储对象或数据的引用,通过句柄可以访问和操作存储的内容。
2 句柄的用途
在MATLAB中,句柄可用于绘图、GUI编程、对象引用和回调函数等各种应用场景。
3 句柄的存储方式
在MATLAB中,句柄可以通过变量、属性和函数返回值等形式进行存储。
句柄绘图的优势
MATLAB句柄绘图
MATLAB句柄绘图的课件将为您介绍句柄绘图的基础知识和应用,帮助您更 好地理解和运用MATLAB的强大绘图功能。
MATLAB句柄绘图简介
什么是MATLAB句柄绘图?
MATLAB句柄绘图是一种在MATLAB中使用 图形句柄对象绘制图形的方法。
为什么需要使用句柄绘图?
句柄绘图提供了更灵活、可操作性更强的绘 图方式,方便用户对图像进行交互和修改。
句柄绘图的实例
通过实际案例演示句柄绘图的强大功 能和灵活性。
句柄绘图的应用
1 句柄绘图的应用场景
句柄绘图广泛应用于科学研究、工程建模、数据可视化和图形界面设计等领域。

matlab图形操作

matlab图形操作

matlab图形操作本⽂对matlab中利⽤图形句柄对图⽚属性进⾏设置的操作进⾏简单的总结说明:(1)对图窗和坐标轴属性进⾏整体设置可以通过gcf和gca语句获取当前图窗句柄和坐标轴句柄,通过该句柄可以对图窗和坐标轴的各项属性进⾏操作。

图窗和坐标轴分别包含如下属性:% 图窗属性... ...Children: [1×1 Axes] Color: [0.9400 0.9400 0.9400]Colormap: [256×3 double] CurrentAxes: [1×1 Axes]... ...InnerPosition: [680 558 560 420] PaperUnits: 'centimeters'OuterPosition: [672 550 576 514] Position: [680 558 560 420]Units: 'pixels'% 坐标轴属性... ...Box: 'on' BoxStyle: 'back'Children: [1×1 Line] Color: [1 1 1]FontAngle: 'normal' FontName: 'Helvetica'FontSize: 10 FontSizeMode: 'auto'FontSmoothing: 'on' FontUnits: 'points'FontWeight: 'normal' GridColor: [0.1500 0.1500 0.1500]GridLineStyle: '-' Legend: [0×0 GraphicsPlaceholder]LineWidth: 0.5000 OuterPosition: [0 0 1 1]Parent: [1×1 Figure] Position: [0.1300 0.1100 0.7750 0.8150]Title: [1×1 Text] TitleFontWeight: 'normal'Units: 'normalized' UserData: []View: [0 90] Visible: 'on'... ...XAxis: [1×1 NumericRuler] XAxisLocation: 'bottom'XColor: [0.1500 0.1500 0.1500] XColorMode: 'auto'XDir: 'normal' XGrid: 'off'XLabel: [1×1 Text] XLim: [0 100]XScale: 'linear' XTick: [0 10 20 30 40 50 60 70 80 90 100]XTickLabel: {11×1 cell} XTickLabelRotation: 0YAxis: [1×1 NumericRuler] YColor: [0.1500 0.1500 0.1500]YGrid: 'off' YLabel: [1×1 Text]YLim: [0 100] YScale: 'linear'YTick: [0 10 20 30 40 50 60 70 80 90 100] YTickLabel: {11×1 cell}YTickLabelRotation: 0 ZLabel: [1×1 Text]ZLim: [-1 1] ZScale: 'linear'ZTick: [-1 0 1] ZTickLabel: ''ZTickLabelRotation: 0... ...上⾯仅仅是展⽰了图窗和坐标轴部分重要且常⽤的属性,它们的全部属性可通过查matlab的帮助⽂档或直接在matlab的命令⾏上输⼊gcf、gca或通过如下图所⽰的属性窗⼝进⾏查询和设置。

第5章 MATLAB绘图

第5章  MATLAB绘图

5.1 二维图形
4. 对函数自适应采样的绘图函数
fplot函数的调用格式为: fplot(fname,lims,tol,选项) 例5.11 用fplot函数绘制f(x)=cos(tan(πx))的曲线。 先建立函数文件myf.m:
function y=myf(x) y=cos(tan(pi*x));
t=0:pi/20:2*pi; [x,y,z]= cylinder(2+sin(t),30); subplot(1,3,1); surf(x,y,z); subplot(1,3,2); [x,y,z]=sphere; surf(x,y,z); subplot(1,3,3); [x,y,z]=peaks(30); meshz(x,y,z);
5.2 三维图形
5.2.1 绘制三维曲线的基本函数
plot3函数与plot函数用法十 分相似,其调用格式为: plot3(x1,y1,z1,选项 1,x2,y2,z2,选项2,…,xn,yn,zn, 选项n) 程序如下:
t=0:pi/50:2*pi; x=8*cos(t); y=4*sqrt(2)*sin(t); z=-4*sqrt(2)*sin(t); plot3(x,y,z,'p'); title('Line in 3-D Space');text(0,0,0,'origin'); xlabel('X'),ylabel('Y'),zlabel('Z');grid;
5.1 二维图形
例5.4 用不同标度在同一坐标内绘制曲线
y1=e-0.5xsin(2πx)及曲线y2=1.5e-0.1xsin(x)。
程序如下:

matlab中的句柄

matlab中的句柄

matlab中的句柄在matlab中,每一个对象都有一个数字来标识,叫做句柄.当每次创建一个对象时,matlab就为它建立一个唯一的句柄句柄中包含有该对象的相关信息参数,可以在后续程序中进行操作,改变其中的参数,以便达到不同的效果例如:gcf 是返回当前被激活的窗口的句柄。

你可以认为它就指代当前窗口。

figure(gcf)打开这个窗口。

这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的学习笔记,比较详细的介绍了句柄以及与其密切相关的各种图形对象和它们的属性。

希望能对初学Matlab界面设计的朋友们有所帮助。

GUI学习笔记:句柄式图形常用函数:(1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相对应的属性值(2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对象的属性名称。

(3)a = get(0,'factory')返回所有能由用户设置的属性的默认定义值。

(4) a = get(0,'FactoryObjectTypePropertyName1','FactoryObjectTypePr opertyName2',...)返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory 与图形对象类型(如Figure)还有属性名称(如Color)组成。

a = get(0,'factoryFigureColor')返回Figure对象的Color属性值。

(5) a = get(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePr opertyName1',...)返回句柄值为h的对象指定属性的默认值。

如“DefaultFigureColor”。

MATLAB应用第五章-MATLAB图形和3D可视化

MATLAB应用第五章-MATLAB图形和3D可视化
”Plot_eg02”
th=[0:pi/50:3*pi]'; a=[0.5:0.5:5.5] Y=cos(th)*a; X=sin(th)*sqrt(25-a.^2); plot(X,Y) axis('equal') xlabel('X') ylabel('Y') title('a group of Ellipse lines')
F5运行结果如图 Eg 5-5
若没有axis(‘equal’)则显示如下: equal 将x和y轴的坐标进行比例协调,使其显 示相等。
5.2.2 线型、顶点标记和颜色
色彩(c) 说明 数据点(m) r g b c m y k w 红色 绿色 蓝色 青色 洋红 黄色 黑色 白色 + O * . x s d ^ v > < p h 说明 加号 圆圈 星号 点 十字 矩形 菱形 上三角 下三角 右三角 左三角 五边形 六边形 Eg 5-6 线型( ) 线型(l) -: -. 说明 实线 虚线 点线 点划 线
Eg 5-11 pie(x):对所有向量x中的元素进行总计,显示每一部 分所占比例 pie(x,explode):定义一个与x同长度向量explode,对 应于非零元素的x值被抽出显示 pie(…,labels):标注扇形图,labels必须与前面向量具 有相同长度
Eg 5-12
在命令窗口输入下列命令” 在命令窗口输入下列命令” >> x=1:12; >> y=[-12 -6 4 11 23 26 36 30 21 17 10 3]; >> bar(x,y) >> xlabel('month'),ylabel('tempereature'); >> title('relationship')

详尽全面的matlab绘图教程

详尽全面的matlab绘图教程

详尽全⾯的matlab绘图教程Matlab绘图强⼤的绘图功能是Matlab的特点之⼀,Matlab提供了⼀系列的绘图函数,⽤户不需要过多的考虑绘图的细节,只需要给出⼀些基本参数就能得到所需图形,这类函数称为⾼层绘图函数。

此外,Matlab还提供了直接对图形句柄进⾏操作的低层绘图操作。

这类操作将图形的每个图形元素(如坐标轴、曲线、⽂字等)看做⼀个独⽴的对象,系统给每个对象分配⼀个句柄,可以通过句柄对该图形元素进⾏操作,⽽不影响其他部分。

本章介绍绘制⼆维和三维图形的⾼层绘图函数以及其他图形控制函数的使⽤⽅法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。

⼀.⼆维绘图⼆维图形是将平⾯坐标上的数据点连接起来的平⾯图形。

可以采⽤不同的坐标系,如直⾓坐标、对数坐标、极坐标等。

⼆维图形的绘制是其他绘图操作的基础。

⼀.绘制⼆维曲线的基本函数在Matlab中,最基本⽽且应⽤最为⼴泛的绘图函数为plot,利⽤它可以在⼆维平⾯上绘制出不同的曲线。

1. plot函数的基本⽤法plot函数⽤于绘制⼆维平⾯上的线性坐标曲线图,要提供⼀组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的⼆维曲线。

plot函数的应⽤格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。

例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗⼝中输⼊以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线注意:指数函数和正弦函数之间要⽤点乘运算,因为⼆者是向量。

例52 绘制曲线这是以参数形式给出的曲线⽅程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线以上提到plot函数的⾃变量x,y为长度相同的向量,这是最常见、最基本的⽤法。

Matlab绘图代码以及代码说明文档

Matlab绘图代码以及代码说明文档

Matlab绘图代码以及代码说明文档1.绘制椭圆曲线1)clear:指令,用于清空工作空间2)clc用于清空命令窗口.3)color=’gbkymcrgb’;表示一串字符,可以理解为一个字符的数组(或向量).4)a=4。

5:-0。

5:0.5;上述的a为一个向量(或数组),其取值从4.5开始,每间隔—0。

5取一个数,直到0.5为止。

即a=4.5,4,3.5…0.5;5)for——end是一个循环体,以end结束。

for i=1:1:length(a)表示循环的次数,i从1开始,每次加1,直到length(a)为止,length(a)表示数组(向量)a的长度。

6)a(i)表示a的第i个元素,a(1)=4.5;7)x。

*x表示向量x对应的元素相乘,由于x是向量,因此称号前面有一点。

8)((a(i))^2)表示a的第i个元素的平方。

9)sqrt(a),是一个函数,对a进行开方.10)color(i)是字符数组color的第i个元素,数组前面有定义。

11)hold on是图像保持,就是绘制下一个椭圆时,上一个已经绘制的仍在图形界面上,不会消失。

2.多图形绘制1)sin(t)表示对t求它的正弦,是一个正弦函数.2)subplot(2,2,1),是一个函数,第一个参数2表示将绘图的窗口分割成两行显示;第二个参数2表示将绘图的界面分为两列显示,因此为两行两列4块显示。

第三个参数1表示在第1块(从左向右,从上向下)绘制图像。

3)plot(t1,y1,'.r’)其中,"。

”表示图像的形状为“点”,r为颜色。

4)axis([0,3。

1427,—1,1])表示固定坐标轴,只显示x轴的0到3.1427的区间;y轴的—1到1的区间.5)plot(t1,y1,'b'),由于b前面没有一点,因此是坐标点之间的连线。

6)title(’子图(3)’)表示该图的标题为“子图(3)”,是一个函数,参量为字符串。

MATLAB及其在电气工程中的应用第五章

MATLAB及其在电气工程中的应用第五章
辑器,是一个集成的开发环境。在该环境 中,用户可以进行程序编写(编辑)、调试、编译和运行。
启动该编辑器有多种方法。当创建一个新的M文件,或者打开一个 已有M文件时,编辑器将自动启动。进入编辑器环境后,用户可根据自 己的需要定制编辑器风格。
创建一个新的M文件有以下几种方法:
M文件有两种格式,即脚本和函数。脚本式M文件不接受输入参数,也 不返回输出参数,它只是命令语句的简单叠加,与批处理文件很相似, 它仅对工作空间的数据变量进行操作,所产生的新数据变量也是存放在
工作空间中。函数式M文件可以接受输入参数,也可以返回输出参数,函 数中的变量是局部变量。在MATLAB中的M文件绝大多数是函数式M文件。
MATLAB的函数主要有两类,一类被称为内建函数,是由MATLAB的内核 提供的,能够完成大量的基本运算,例如三角函数、指数函数、对数函数、 矩阵运算的函数等。另一类函数就是利用高级语言编写的函数文件,既包 含M函数文件,也包含用C语言开发的MEX函数文件。有关MEX函数文件的内 容已超出了本书的内容,请读者参阅相关文献。实际上,MATLAB产品族中 包含的工具箱就是由世界上在相应专业领域内的专家、学者等,利用M语 言开发的算法函数文件库。
图5-1 编辑器界面
用户可根据需要对编辑器环境进行个性化定制,选择菜单 “File”“Preferences…”,弹出Preferences界面,选择 “Editor/Debugger”,其还包含有Display,Tab,Language,Code Folding,Autosave页面。用户可在这些页面中进行需要的设置和选项, 具体请参阅帮助文档。
启动编辑器后,就进入到了编程和调试环境,图5-1给出了编辑器的一 个界面示例。该环境是标准的窗口界面,从上到下依次包含有标题栏、菜 单栏、工具栏、代码编辑区、状态栏等。界面大部分区域为代码或文本的 编写区域,其左边的数字表示语句行的行号,其中数字右侧不带“-”的 表示是非执行语句行,如注释行、空行等,右侧带“-”的为可执行语句。 右下角为状态栏,显示光标所处的行号和列号。

matlab legend 句柄

matlab legend 句柄

matlab legend 句柄
在MATLAB中,图例(legend)句柄是一个指向图例对象的引用,允许用户在程序中对图例进行操作。

图例句柄可以用于更改图例的
属性,如位置、字体大小、颜色等,或者在程序中动态更新图例内容。

要获取图例句柄,可以使用legend函数的输出参数,例如:
matlab.
h = legend('Plot1', 'Plot2');
这里的h就是图例的句柄。

然后可以使用h来操作图例,例如
更改位置:
matlab.
set(h, 'Location', 'NorthEast');
或者更改字体大小:
matlab.
set(h, 'FontSize', 12);
通过使用图例句柄,用户可以在程序中灵活地控制图例的外观和行为。

这对于需要自动化生成图形的程序非常有用,因为可以在不同条件下动态修改图例内容和属性。

同时,图例句柄也可以用于与其他图形对象进行交互,实现更复杂的图形操作和交互式界面设计。

希望这个回答能够帮助到你理解MATLAB中图例句柄的概念和用法。

Matlab绘图的常用命令

Matlab绘图的常用命令

下面程序是12月26日课题组例会报告的附件内容,叙述了matlab中Cell的概念,列举了画图要用到的一些常用命令。

function [ output_args ] = plot_operation( input_args )%PLOT_OPERATION Summary of this function goes here% 本程序同时写明大规模程序的习惯,就是像学位论文那样分章节,有标题,即Cell的写法。

% 各Cell类似于Word中的各节。

% Cell的定义:在题头使用'%% XXXXXXX'的形式,即“双百分号+空格+Cell名称”的写法。

% 这种写法用工具条中的“双百分号”按钮可以直接查看各节标题,类似于word中的大纲视图。

% 采用'cell'的格式的程序,运行时请点击Ctrl+Shift+Enter,就可以一个Cell一个Cell的运行了。

%% 1. 初始定义clcclearclose all % 关闭所有绘图窗口t=0:0.01:2*pi;y1=sin(t);y2=cos(t);% 设置端点,调试时需要一段一段调试。

%% 2.画图,句柄操作f1=figure(1)l1=plot(t,y1,'.r');hold onl2=plot(t,y2,'b*');handle_legend=legend([l2],'余弦') %只显示第2条线的图例handle_title=title('正弦曲线'); %标题handlex=xlabel('时间/s') %横坐标名称handley=ylabel('alpha_\alpha^\beta') %上标,下标,希腊字母表达式set(gca,'XTicklabel','第1列|第3列| ') %设置坐标轴上的标识handle_t=text(2,-1.1,'sine curve y_1') %在图上显示文字set(gca,'fontsize',30) %设置坐标轴文字大小set(handley,'fontsize',30) %设置坐标轴名称文字大小hold off%% 3. 分图表示f2=figure(2) %上一张图不关掉,重新开一个新图%3.1 开一个6张小图的图片%在第1图位绘制正弦曲线subplot(321)plot(t,y1)title('正弦')%3.2 在第2图位绘制余弦曲线subplot(322)plot(t,y2)title('余弦');%3.3 在第4图位绘制限定坐标范围的余弦曲线subplot(324) %断点绘图plot(t,y1);axis([0,3,-1,1])title('断点绘图,指定坐标范围')%% 4.保存结果%4.1 保存第1幅图,然后关闭saveas(f1,'正余弦曲线.emf')close(f1)%4.2 保存第2幅图,然后关闭figure(2) %打开图片为当前图片% 控制图片大小,输出为emf格式style = hgexport('factorystyle');hgexport(gcf,'size_test',style,'format','meta','width','800','height','600',...'units','points','bounds','loose');% 3个点表示代码换行,对于很长的语句,这中写法便于阅读saveas(gcf,'综合绘图.emf')% gcf 为当前图片的句柄。

matlab绘图

matlab绘图

matlab绘图5 MATLAB的可视化功能5.1 基本绘图⼊门数据可视化是研究科学、认识世界不可缺少的⼿段。

⼈们很难直接感受⼀⼤堆数据的含义,⽽数据图形则能使⼈们⽤视觉器官直接感受到数据的许多内在本质。

MATLAB不仅在计算⽅⾯⽆与伦⽐,⽽且在数据可视化⽅⾯也有上佳表现。

MATLAB能可以⼆维、三维乃⾄四维的图形表现数据。

通过对图形线型、渲染、⾊彩、光线、视⾓等品性的处理,把计算数据的特征表现得淋漓尽致。

MATLAB图形系统建⽴在⼀组“图形对象”基础之上,它的核⼼是图形句柄。

MATLAB提供有两个层⾯的绘图指令:⼀组是直接对图形句柄进⾏操作的底层指令,它们灵活多变,数据表现能⼒强;⼀组是建⽴在底层指令基础上的⾼层指令,它们简单明了,易学易⽤。

另外,MATLAB也能处理不同格式的图形图象,制作简单动画。

⾄于更专业的图象处理,可以使⽤图象处理⼯具箱。

1 MATLAB⽣成⼀个图形的基本步骤:按上述步骤⽣成的图形如下所⽰:2 常⽤画线指令:3 常⽤画线指令使⽤举例(⼀):3 常⽤画线指令使⽤举例(⼆):4 “线型-标记-颜⾊”字符串的取值:5 常⽤坐标设置和图形标注命令:6 常⽤坐标设置和图形标注命令使⽤举例:7 标注中TeX字符串的使⽤:图形标注中可以使⽤特殊格式的特殊字符。

描述这种特殊格式的字符串符合TeX规范。

这些字符串由修饰符引导,修饰符的默认作⽤范围是字符串的结尾,也可以⽤{}显式定义。

常⽤的修饰符有:^(上标);_(下标);\bf(粗体);\it(斜体);\rm(正常);\fontsize{fontsize}(字体⼤⼩)等。

8 常⽤⾮英⽂字母的TeX格式字符串:例⼆维图形对象操作 x=linspace(-3,3,100); y1=sin(x*pi)+4;y2=x.^2; plot(x,[y1;y2]);xlabel('x');ylabel('y');text(-2.6,7,'\leftarrowx^2','fontsize',16); text(-1.2,5.1,'sin(x\pi)+4\rightarrow',...'fontname','courier',...%设置text 字体属性 'fontangle','italic',...%设置text 字体倾斜属性 'fontsize',14); %设置text 字体⼤⼩属性legend('sin(x\pi)+4','x^2',0); %添加图例 hold on; %设置绘图⽅式为保持 xf=linspace(-2,2,100); y1f=sin(xf*pi)+4;y2f=xf.^2;%从最左边开始,按逆时针⽅向在y1f 和y2f 上形成多边形并填充 fill([xffliplr(xf)],[y1f,fliplr(y2f)],'r');text(-1.2,2,'area between two functions');axis([-3 3 0 inf]); %设置坐标范围%设置坐标刻度,并在刻度标签上标注交点坐标(cx1,cy)和(cx2,cy) set(gca,'YTick',0:9);set(gca,'YTickLabel','0|1|2|3|cy|5|6|7|8|9'); set(gca,'XTick',-3:3);set(gca,'XTickLabel',{'-3' 'cx1' '-2' '0' '1' 'cx2' '3'})例65⼆维双坐标绘图 plotyy 函数的使⽤:已知,sin(2)ty Aeft απβ-=+分别绘制A=200, α=0.05, β=1, f=0.2和A=0.8, α=0.5, β=2, f=2时y 的图形,t=0:0.01:20;A1=200;alf1=0.05;bt1=1;f1=0.2;A2=0.8;alf2=0.5;bt2=2;f2=2;y1=A1*exp(-alf1*t).*sin(2*pi*f1*t+bt1);y2=A2*exp(-alf2*t).*sin(2*pi*f2*t+bt2);%⽤plot⽅式绘制双y轴曲线,并返回坐标盒和绘制曲线的句柄[AX,H1,H2]=plotyy(t,y1,t,y2,'plot');5.2 三维绘图1 三维线图例66 宝⽯项链t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,'b-d');view([-82,58]);box on;1) 基本指令2)常⽤函数的使⽤说明例66 Sinc函数表⽰的空间曲⾯[X,Y] = meshgrid(-8:.5:8);R = sqrt(X.^2 + Y.^2) + eps;Z = sin(R)./R;surf(X,Y,Z,'FaceColor','interp','EdgeColor','none','FaceLighting','phong'); daspect([5 5 1]);axis tight;view(-50,30);camlight leftx = rand(100,1)*16-8; y = rand(100,1)*16-8; r = sqrt(x.^2 + y.^2) + eps; z = sin(r)./r;xlin=linspace(min(x),max(x),33); ylin=linspace(min(y),max(y),33); [X,Y] = meshgrid(xlin,ylin); Z = griddata(x,y,z,X,Y ,'cubic'); mesh(X,Y ,Z); axis tight; hold on; plot3(x,y,z,'.','MarkerSize',15)例68 透视 [X0,Y0,Z0]=sphere(30); X=2*X0; Y=2*Y0; Z=2*Z0; surf(X0,Y0,Z0); shadinginterp; hold on, mesh(X,Y ,Z); colormap(hot), hidden off; axis equal; axis off; hold off-0.200.20.40.6例69 利⽤NaN对图形进⾏镂空处理P=peaks(30);P(18:20,9:15)=NaN;surfc(P);colormap(summer)light('position',[50,-10,5])lighting flatmaterial([0.9,0.9,0.6,15,0.4])例70利⽤0对图形进⾏剪切处理P=peaks(30);P(18:20,9:15)=0;surfc(P);colormap(summer)light('position',[50,-10,5])material([0.9,0.9,0.6,15,0.4])3 三维图形的精细控制1) 视⾓控制viewview([az ad]); view([vx,vy,vz])2) 照相机设置MATLAB绘制三维图形时,默认的视⾓为:⽅位⾓AZ=37.5,俯仰⾓EL=30。

第05讲 matlab 绘图

第05讲   matlab 绘图

5.2.4 获取二维图形数据的指令
[x,y]=ginput(n)用鼠标从二维图形上获
取n个点的数据坐标 (x,y) 。用enter键来 结束取点。 [x,y]=ginput 取点的数目不受限制 [x,y,button]=ginput(……)返回值 button记录了在选取每个数据点的相关信 息。 【例5.2-9】采用图解法求的解。
Equal 4 2 0 -2 0 -2 -4 -2
Square
0 Image and Box off 2 0 -2 -1 0 1
2
-2
0
2
0 Tight
2
Image and Fill 1 0.5 0 -0.5 -1 -1 0 1 -2 -1 0 2
0
1
三、曲线图中加入文字标识
title(S) 书写图名 xlabel(S) 横坐标轴名 ylabel(S) 纵坐标轴名 legend(S1,S2, ...) 绘制曲线所用线型、色彩或数据点 形图例,legend指令不能正常使用于双纵坐标轴 text(xt,yt,S) 在图面(xt, yt)坐标处书写字符注释 gtext 在鼠标的位置加入字符串
5.2.3 多次叠绘、双纵坐标和多子图
一、多次叠绘 hold on 使当前轴及图形保持而不被刷新,准备接受 此后将绘制的新曲线。
hold off
使当前轴及图形不再具备不被刷新的性质。
hold 当前图形是否具备刷新性质的双向切换开关。 二、单窗口多曲线分图绘图 subplot —— 子图分割命令 调用格式:subplot(m,n,p) —按从左至右,从上至下排列
matlab 绘图
——matlab语言丰富的图形 表现方法,使得数学计算结 果可以方便地、多样性地实 现了可视化,这是其它语言 所不能比拟的。

经典MATLAB图形句柄

经典MATLAB图形句柄
使用`get`命令获取图形属性
PropertyValue = get(h,'PropertyName');
使用`refreshdata`命令更新图…
refreshdata(h);
使用`drawnow`命令更新图形窗口
drawnow;
图形句柄的删除和销毁
使用`delete`命令删除指定图形对象
delete(h);
图形句柄的分类
线条句柄
用于标识和操作线条ቤተ መጻሕፍቲ ባይዱ象。
曲面句柄
用于标识和操作曲面对象。
文本句柄
用于标识和操作文本对象。
图像句柄 组句柄
用于标识和操作图像对象。
用于标识和操作一组相关的 图形对象。
02
常用图形句柄
坐标轴句柄
获取当前坐标轴句柄
使用`gca`函数可以获取当前坐标轴的句柄。
设置坐标轴属性
通过坐标轴句柄,可以设置坐标轴的属性,如坐标轴范围、刻度标记等。
对于初学者来说,经典Matlab图形句柄的学习曲线可能较为陡峭,需 要投入较多时间和精力。
Matlab图形句柄的未来发展
性能优化
未来版本的Matlab可能会对图形句柄进行 性能优化,提高绘图速度和响应能力。
增强灵活性
为了满足更多样化的绘图需求,未来版本的Matlab 可能会增加更多的图形句柄功能和选项。
区域句柄
创建区域
01
使用`area`函数可以创建区域图,并返回区域的句柄。
设置区域属性
02
通过区域句柄,可以设置区域的填充颜色、边框颜色等属性。
添加数据标签
03
使用区域句柄,可以在区域上显示数据标签,以标识区域的值。
03

第五章matlab句柄绘图

第五章matlab句柄绘图

hm=uimenu(gcf, 'Label', 'File') hm1=uimenu(hm, 'Label', 'Save') hm3=uimenu(hm,'Label','&Quit',
'Accelerator','Q','callback', 'close','Separator','on')
-0.6 -0.8
0
-1-00.2
1
2
3
4
5
6
7
-0.4
1
set(h,'color','default') -0.6 1 0.8
0.6-0 0..8 8
0.4
0.2 0-.6 10
1
2
3
4
0
0.4
-0.2
0.2 -0.4
-0.6 -0.8
0
-1-00.2
1
2
3
4
5
6
7
set(0,'DefaultFigureColor',[0.5 0.5 0.5])
确定标注位置
标注字符串
每个底层函数只能创建一个图形 对象,并将它们置于适当的父辈对象 中。
• uicontrol图形界面控制 调用格式:
h=uicontrol(‘property’,value) property/value确定控制类型 • uimenu创建用户界面菜单 调用格式:
h=uimenu(‘property’,value) property/value 确定菜单形式。

第5章 MATLAB绘图

第5章  MATLAB绘图
图形上添加希腊字母、数学符号及公式等内容。 例如,text(0.3,0.5,‘sin({\omega}t+{\beta})’)将得到 标注效果sin(ωt+β)。
例5-7 在0≤x≤2区间内,绘制曲线y1=2e-0.5x和 y2=cos(4πx),并给图形添加图形标注。
程序如下:
x=0:pi/100:2*pi;
y坐标数据。
例5-1 在0≤x≤2区间内,绘制曲线 y=2e-0.5xcos(4πx)
程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)
例5-2 绘制曲线。 程序如下: t=0:0.1:2*pi; x=t.*sin(3*t); y=t.*sin(t).*sin(t); plot(x,y);
例5-9 用fplot函数绘制f(x)=cos(tan(πx))的曲线。 命令如下: fplot('cos(tan(pi*x))',[ 0,1],1e-4)
5.1.7 图形窗口的分割
subplot函数的调用格式为:
subplot(m,n,p)
该函数将当前图形窗口分成m×n个绘图区, 即每行n个,共m行,区号按行优先编号, 且选定第p个区为当前活动区。在每一个绘 图区允许以不同的坐标系单独绘制图形。
第5章 MATLAB绘图 5.1 二维数据曲线图 5.2 其他二维图形 5.3 隐函数绘图 5.4 三维图形 5.5 图形修饰处理 5.6 图像处理与动画制作
5.1 二维数据曲线图 5.1.1 绘制单根二维曲线 plot函数的基本调用格式为:
plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、 纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

第5章_MATLAB绘图

第5章_MATLAB绘图
第5章 MATLAB 绘图
参考教材 : MATLAB程序设计与应用(第二版) 刘卫国 主编 高等教育出版社
计算机学院 郭江鸿 21B434 82519604
5.1 二维图形 5.1.1 绘制二维曲线 1. plot函数的基本调用格式为: plot(x , y) 其中x和y为长度相同的向量,分别用于 存储二维曲线的x坐标和y坐标数据。
90 0.5 120 0.4 60
0.3 150 0.2 30
0.1
180
0
210
330
240 270
300
3.对数坐标图形 MATLAB提供了绘制对数和半对数坐标曲线 的函数,调用格式为: semilogx(x1,y1,选项1,x2,y2,选项2,…) semilogy(x1,y1,选项1,x2,y2,选项2,…) loglog(x1,y1,选项1,x2,y2,选项2,…) 例5.10 绘制y=10x2的对数坐标图并与直角线性 坐标图进行比较。
Line in 3-D Space
5
Z
0
origin
-5 -5 -5 0 5 5 X Y 0
0.8 0.6 0.4
t=0:0.15:2*pi; x=sin(t); y=cos(t); z=cos(2*t); plot3(x,y,z,'b-',x,y,z, 'rd')
axis([0 10 0 2.5]) %设置坐标轴刻度范围
例5.5 绘制分段函数曲线并添加图形标注。
x=linspace(0,10,100); y=[ ]; for x0=x if x0>=8 y = [y,1]; elseif x0>=6 y = [y,5-x0/2]; elseif x0>=4 y = [y , 2]; elseif x0>=0 y = [y,sqrt(x0)]; end end plot(x,y) axis([0 10 0 2.5]) title('分段函数曲线'); xlabel('Variable X'); ylabel('Variable Y');

北航matlab课件第五讲句柄图形和GUI

北航matlab课件第五讲句柄图形和GUI

自动化科学与电气工程学院
句柄图形与GUI
句柄图形
对象句柄的获取方法 通过get函数获取对象的句柄 如果图形对象已知,可以在程序中通过get函数获取图形对象的句柄。 H_pa=get(H_known,PV) H_pa=get(H_known,’Parent’) 获取H_known句柄对象之父对象的句柄 H_ch=get(H_known,’Children’) 获取H_known句柄对象之子对象的句柄 >> get(H_mesh,'Children') ans = Empty matrix: 0-by-1 >> get(H_mesh,'Parent') ans = 158.0062
>> view(3) >> text('Position',[.5 .5 .5],'String','Hello')
自动化科学与电气工程学院
句柄图形与GUI
句柄图形
对象句柄的获取方法 通过图形创建命令获取对象的句柄 在Matlab中无论使用高层命令还是底层命令都可以通过以下指令获取句柄。 H_GC=GraphicCommand(……….) >> H_mesh=mesh(peaks(20)) H_mesh = 159.0073
父对象
子对象
兄弟对象
自动化科学与电气工程学院
句柄图形与GUI
句柄图形
对象属性 所有对象都有一组定义和描述其外貌和性状的属性(Properties)。 属性有两个部分组成:属性名和属性值。 用户不仅可以查询当前对象的任意属性值,在创建图形对象的时候还可以指定大多 数属性的取值。
>> get(gcf) Color = [0.8 0.8 0.8] Colormap = [ (64 by 3) double array] CurrentAxes = [158.003] CurrentObject = [] NextPlot = add Position = [363 214 560 420] Children = [158.003] Parent = [0]
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 句柄图形充分体现了面向对象的程 序设计。
• 句柄图形的功能
❖ 句柄图形可以随意改变matlab生成图形 的方式。
❖ 句柄图形允许你定制图形的许多特性, 无论是对图形做一点小改动,还是影响 所有图形输出的整体改动。
❖ 句柄图形的特性高层绘图函数是无法实 现的
二、图形对象和句柄
1. 图形对象—— 图形系统中最基本、最 底层的单元
Figure gca:当前轴对象的句柄 Get Current
Axes
• 操作格式: h=gcf 将当前窗口对象的句柄返回h get(h)或get(h,'属性名'): 查阅某对象的属性
或子(children)父(parent)代的句柄值 set(h, ‘属性名’, ‘属性值’):设置或修改
某对象的属性值
界面菜单轴: 图形窗口的子代,创建用户 界面菜单对象
轴:图形窗口的子代,创建轴对象,并返回 句柄,线面字块像的父辈
线:轴的子代,创建线对象 面:轴的子代,创建面对象 字:轴的子代,创建字对象 块:轴的子代,创建块对象 像:轴的子代,创建图像对象
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
轴对象
窗口对象
• 底层绘图函数——可以定制图形,对图 形的每一部分进行控制,用户可以用来 开发用户界面以及各专业的专用图形。 充分体现了matlab语言的开发性
一、什么是句柄图形
• 句柄图形:利用底层绘图函数,通 过对对象属性的设置(Handle Graphics)与操作实现绘图。
• 句柄图形中所有图形操作都是针对 图形对象而言的。
引例:
1
1
0.8
x=0:2*pi/180:2*pi;
0.6 0.8
0.4
0.2 0.6
y1=sin(2*x);
0
0.4
y2=cos(2*x);
-0.2
0.2 -0.4
plot(x,y1,x,y2)
-0.6
0
-0.8
-10-0.2 1
2
3
4
5
6
7
图形对象的基本要素以根屏幕为先导
根屏幕
窗口1 窗口2 窗口n
get(gca,'colororder') ans =
110 101 011 100 010 001
• 设置线条和窗口的颜色 set(h1,'color',[1 0 0]) set(h1,'color',[1 0.5 0])
10
10
9
9
8
8
7
7
6
6
5
5
4
4
3
3
set(gcf,'color',[0.5 0.5 0.5]) set(gcf,'color',[0.5 0.6 0.8])
对象属性的直接操作是通过当前句 柄来实现的,所以首先要获得当前句柄 值以及对象的属性,然后再查询或修改。
1、图形对象属性的获得与设置
• 句柄属性的设置与修改 get: 获得句柄图形对象的属性和返回某
些对象的句柄值 set: 改变图形对象的属性 • 专用函数: gcf:当前窗口对象的句柄 Get Current
• surface 创建面对象 h=surface(x,y,z,c) x,y,z三维曲面坐标, c颜色矩阵。
• image 显示图象
h=image(x); x为图像矩阵
• text 标注文字 h=text(x,y,’string’)
确定标注位置
标注字符串
每个底层函数只能创建一个图形 对象,并将它们置于适当的父辈对象 中。
‘figurecolor’, ’m’
2.对象属性的继承操作 • 对象属性的继承操作是通过父代对象,设置缺
省对象属性来实现的。
• 父代句柄属性中设置缺省值后,所有子代对象 均可继承该属性的缺省值。
• 属性缺省值设置有两种: 厂家设置值:其值不可更改 用户设置:当前环境下有效, 搜索顺序:子父祖父
• 属性缺省值的描述结构为: Dfault+对象名称+对象属性
– 通过编辑修改属性值可以改变图形
3.图形对象的属性 ※ 图形对象是由属性来描述的 例如: figure 大小位置 [1 1 640 480]
颜色 [ 0 0 0] 省缺 line a. x, y 数据;b. 线的颜色
c. 线型; d. 线宽
※在高层绘图中对图形对象的描述一般是省 缺的或由高层绘图函数自动设置的,因此 对用户来说几乎是不透明的。
• 所有能创建图形对象的matlab函数都
可给出所创建图形对象的句柄 例:创建1号窗口,返回句柄
h=figure(1) h=1 返回值为窗口号数 例:h=line (1:6,1:6)创建线对象的同时 也建立了一个唯一的句柄 变量h是句柄值——浮点数
二、对象的属性操作
控制一个图形对象是通过句柄实现 的,具体是通过句柄操作函数get,set 将某对象句柄属性作设置与修改。
第五章 matlab句柄绘图
——matlab语言的句柄绘图可以 对图形各基本对象进行更为细 腻的修饰,可以产生更为复杂 的图形,而且为动态图形的制 作奠定了基础。
高层绘图与底层绘图的区别
• 高层绘图函数——是对整个图形进行操 作的,图形每一部分的属性都是按缺省 方式设置的,充分体现了matlab语言的 实用性。
例:h=line(x,y) 1. get(h) 2. get(get(gca,’children’) ,1)轴的子代
- 对象句柄的获取 基本方法
– 从图形创建指令获得句柄 – 追溯法获取图柄 – 当前对象句柄的获取 – 根据对象特性获取句柄 – 根据对象标签获取句柄
- 追溯方式
>> H_pa= get(H_known,’Parent’)
※但句柄绘图中上述图形对象都是用户需要 经常使用的,所以要作到心中有数,用句 柄设置图形对象的属性。
4.句柄(handle)与句柄操作
• 什么是句柄?
句柄是图形对象的标识代码,标识代码 含有图形对象的各种必要的属性信息。
• 各图形对象的句柄数据格式:
根屏幕
0
图形窗口
整数,表示图形窗口数
其它对象
对应的符点数
-0.6 -0.8
0
-1-00.2
1
2
3
4
5
6
7
-0.4
1
-0.6 1
set(h,'color','default')
0.8
0.6-0 0..8 8
0.4
0.Hale Waihona Puke 0-.6 1012
3
• uicontrol图形界面控制 调用格式:
h=uicontrol(‘property’,value) property/value确定控制类型 • uimenu创建用户界面菜单 调用格式:
h=uimenu(‘property’,value) property/value 确定菜单形式。
hm=uimenu(gcf, 'Label', 'File') hm1=uimenu(hm, 'Label', 'Save') hm3=uimenu(hm,'Label','&Quit',
h1为句柄的代码值
10
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
• 查阅线对象的属性名称和属性值
get(h1) Color = [1 1 0] EraseMode = normal LineStyle = LineWidth = [0.5] MarkerSize = [6] Xdata = [ (1 by 11) ] Ydata = [ (1 by 11) ] Zdata = []
• figure创建图形窗口 调用格式: h=figure(n) n为窗口序号
• axes 创建轴对象
h=axes(‘position’,
left, bottom width,height
)
定义轴对象的位置与大小
• line 创建线对象 h=line(x,y,z)
• patch 创建块对象 h=patch(x,y,z,c) x,y,z定义多边形,c 确定填充颜色。
10
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
10
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
例:作正弦、余弦曲线,将正弦曲线改为虚 线,将余弦曲线幅度减为1/2高度,如何用 句柄实现。 x=0:2*pi/180:2*pi; y1=sin(x);y2=cos(x); plot(x,y1,x,y2,x,zeros(size(x) ),'w:')
父对象
界面控制 界面菜单 轴
子对象
线




图形对象之间的关系为父代与子代的关系
说明: 根:图形对象的根,对应于计算机屏幕,根
只有一个,其它所有图形对象都是根的后 代。
图形窗口: 根的子代,窗口的数目不限,所 有图形窗口都是根屏幕的子代,除根之外, 其它对象则是窗的后代。
相关文档
最新文档