MATLAB使用详解 第14章 图形对象和句柄解析
- 格式:ppt
- 大小:807.50 KB
- 文档页数:29
MATLAB图形对象句柄命令MATLAB图形对象句柄命令2010-05-25命令1 figure功能创建一个新的图形对象。
图形对象为在屏幕上单独的窗口,在窗口中可以输出图形。
用法figure用缺省的属性值创建一个新的图形对象。
figure('PropertyName',PropertyValue,…)对指定的属性PropertyName用指定的属性值PropertyValue(属性名与属性值成对出现)创建一个新的图形窗口,对于那些没有指定的属性,则用缺省值。
属性名与有效的属性值见下表。
figure(h)1.若h为一个已经存在的图形的句柄,则figure(h)使由h标记的图形成为当前图形,使它可见,且在屏幕上把它显示到所有图形之前。
当前图形为图像输出的地方。
2.若h不是已经存在图形的句柄,但是为一整数,则该命令生成一图形窗口,同时把该窗口的句柄赋值为h;若h不是一图形窗口的句柄,也不是一整数,则返回一错误信息。
h=figure(…)返回图形窗口对象的句柄给h。
表7-10属性名属性说明有效属性值窗口位置Position图形窗口的位置与大小有效值:四维向量[left,bottom,width,height]缺省值:决定于显示Units用于解释属性Position的单位有效值:inches(英寸)centimeters(厘米)normalized(标准化单位,认为窗口为一长宽都是1)points(点)pixels(像素)characters(字符)缺省值:pixels指定类型与外在显示Color窗口的背景颜色有效值:ColorSpec(有效的颜色参数)缺省值:取决于颜色表(参见命令colordef)Menubar转换图形窗口菜单条的"开"与"关"有效值:none、figure缺省值:figure Name显示图形窗口的标题有效值:任意字符串缺省值:''(空字符串)NumberTitle标题栏中是否显示'Figure No.n',其中n为图形窗口的编号有效值:on、off缺省值:on Resize指定图形窗口是否可以通过鼠标改变大小有效值:on、off缺省值:on SelectionHighlight当图形窗口被选中时,是否突出显示有效值:on、off缺省值:on Visible确定图形窗口是否可见有效值:on、off缺省值:on WindowStyle指定窗口为标准窗口还是典型窗口有效值:normal(标准窗口)、modal(典型窗口)缺省值:normal控制色图Colormap图形窗口的色图有效值:m*3阶的RGB颜色矩阵缺省值:jet色图Dithermap用于真颜色数据以伪颜色显示的色图有效值:m*3阶的RGB颜色矩阵缺省值:有所有颜色的色图DithermapMode是否使用系统生成的抖动色图有效值:auto、manual缺省值:manual FixedColors不是从色图中获得的颜色有效值:m*3阶的RGB颜色矩阵缺省值:无(只读模式)MinColormap系统颜色表中能使用的最少颜色数有效值:任一标量缺省值:64 ShareColors允许MATLAB共享系统颜色表中的颜色有效值:on、off缺省值:on指定透明度Alphamap图形窗口的α色图,用于设定透明度。
句柄图形对象(1)function my_plotx=1:10y=peaks(10)%Z = peaks(n);returns an n-by-n matrix.cax=newplot%newplot prepares a figure and axes for subsequent graphics commands.%h = newplot prepares a figure and axes for subsequent graphics commands and returns a handle to the current axes.LSO=['- ';'--';': ';'-.']%此处第一项与第三项要加空格,使得各行元素相等set(cax,'FontName','Times','FontAngle','italic')%设置图形坐标轴的字体与字体倾斜角度set(get(cax,'Parent'),'MenuBar','none')%关闭工具栏line_handles=line(x,y,'Color','b')%将10条曲线利用直线全部画出,并返回直线句柄向量,10条曲线对应10个句柄值%所以该句柄向量一共有10个元素style=1for i=1:length(line_handles)if style>length(LSO)style=1endset(line_handles(i),'LineStyle',LSO(style,:)) %设置直线属性style=style+1endgrid on(2)function my_plot3(x,y,z)cax=newplothold_state=ishold%检测当前的hold状态LSO=['- ';'--';': ';'-.']narginif nargin==2%nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。
使用Matlab进行图像分析和对象检测图像分析和对象检测是计算机视觉领域中的重要研究方向。
随着数字图像的广泛应用和发展,利用计算机对图像数据进行分析和处理的需求越来越迫切。
在这篇文章中,我们将介绍如何使用Matlab进行图像分析和对象检测,并探索这些技术在各种领域的应用。
一、引言图像分析是指利用数字图像数据的各种技术和方法,从图像中提取有用信息和结构的一种过程。
而对象检测是图像分析领域中的一个关键任务,其目标是在图像中准确地检测和定位特定的对象。
在计算机视觉中,对象可以是各种各样的,例如人脸、车辆、动物等。
二、Matlab在图像分析和对象检测中的应用Matlab是一种功能强大的科学计算和工程建模软件,也是计算机视觉研究者和工程师常用的工具之一。
Matlab提供了丰富的图像处理和计算机视觉函数,可以方便地实现各种图像分析和对象检测算法。
1. 图像处理首先,Matlab提供了一系列用于图像处理的函数,例如读取和显示图像、调整图像的大小和尺寸、对图像进行滤波和增强等。
通过这些函数,我们可以对图像进行预处理,以便进行更准确的分析和检测。
2. 特征提取在图像分析和对象检测中,特征提取是一项重要的任务。
特征是一组能够描述对象或图像某些属性的数值,例如颜色、纹理、形状等。
Matlab提供了各种用于特征提取的函数,例如颜色直方图、梯度直方图、灰度共生矩阵等。
利用这些函数,我们可以提取出有助于区分不同对象的特征。
3. 目标检测在对象检测中,一种常用的方法是使用分类器来判断图像中是否存在特定的对象。
Matlab提供了各种分类器的实现,例如支持向量机(SVM)、人工神经网络(ANN)等。
我们可以利用这些分类器对提取的特征进行训练和分类,从而实现对象的检测和定位。
4. 应用案例Matlab的图像分析和对象检测功能在各种领域中得到广泛应用。
例如,在医学图像分析中,可以利用Matlab对医学影像进行分析和诊断;在交通监控中,可以使用Matlab进行车辆和行人的检测和跟踪;在农业领域,可以利用Matlab对农作物的生长状态进行分析和监测。
matlab句柄的用法Matlab 句柄的用法句柄(Handle)是Matlab 编程中一个重要的概念,它用于引用对象(Object)或数据结构(data structures)的实例。
句柄的使用可以提高代码的灵活性和可重用性,并方便对对象进行处理和修改。
本文将针对Matlab 句柄的用法进行详细讨论,一步一步地回答与句柄相关的问题。
1. 什么是句柄?在Matlab 中,句柄是指对一个对象或数据结构的引用。
与其他编程语言类似,Matlab 的变量存储的是值,但通过句柄,我们可以间接地引用和操作变量所指向的对象,而不需要直接处理变量所存储的值。
这种间接的引用方式给Matlab 中的编程带来了很大的灵活性和高级特性,使得我们可以轻松地编写面向对象的代码。
2. 如何创建句柄?在Matlab 中,我们可以使用句柄类来创建对象并获得句柄。
句柄类是一种特殊的类,它允许多个句柄引用同一个对象实例。
要创建一个对象并获得句柄,我们可以按照以下步骤进行:步骤1:定义一个句柄类首先,我们需要定义一个句柄类。
句柄类是一个继承自handle 的类。
例如,我们可以定义一个句柄类MyClass 如下:matlabclassdef MyClass < handleproperties% 在这里定义类的属性endmethods% 在这里定义类的方法endend在这个示例中,我们定义了一个名为MyClass 的句柄类,该类继承自handle 类。
我们可以在properties 中定义类的属性,在methods 中定义类的方法。
步骤2:创建对象并获得句柄接下来,我们可以通过创建对象来获得句柄,并引用该对象的实例。
我们可以使用类的构造函数来创建对象,并将其赋值给一个变量。
例如,创建一个MyClass 的对象并获得句柄的代码如下:matlabmyObject = MyClass();这样,我们就创建了一个MyClass 的对象,并将其句柄存储在myObject 变量中。
matlab使用句柄函数不定积分【原创实用版】目录1.介绍 MATLAB 中句柄函数的概念2.讲解如何使用句柄函数进行不定积分3.举例说明如何使用句柄函数求解不定积分4.总结使用句柄函数进行不定积分的优点和注意事项正文一、MATLAB 中句柄函数的概念在 MATLAB 中,句柄函数是一种用于表示函数的结构体,它可以包含函数的输入参数、输出参数以及函数主体。
通过句柄函数,用户可以方便地对函数进行操作,如同对普通变量进行操作一样。
这种功能在求解不定积分时尤为有用,可以让用户更方便地对积分函数进行修改和调整。
二、如何使用句柄函数进行不定积分在 MATLAB 中,可以使用符号运算工具箱中的函数进行不定积分。
这里以求解一个简单的不定积分为例:∫(x^2+3x-2)dx。
首先,需要创建一个句柄函数来表示这个积分函数。
可以通过以下命令实现:```matlabf = @(x) x^2 + 3*x - 2;```接下来,使用`syms`命令定义一个符号变量`x`,并通过`subs`命令将`x`替换为具体的数值,例如`2`:```matlabx = sym("x");result = subs(f, x, 2);```最后,使用`int`函数对结果进行不定积分:```matlabresult_integral = int(result);```这样,就可以得到∫(x^2+3x-2)dx 的结果。
三、举例说明如何使用句柄函数求解不定积分这里以一个较为复杂的例子来说明如何使用句柄函数进行不定积分:∫(e^x+e^-x)dx。
同样,首先创建一个句柄函数来表示这个积分函数:```matlabf = @(x) exp(x) + exp(-x);```然后,使用`syms`命令定义一个符号变量`x`,并通过`subs`命令将`x`替换为具体的数值,例如`2`:```matlabx = sym("x");result = subs(f, x, 2);```最后,使用`int`函数对结果进行不定积分:```matlabresult_integral = int(result);```这样,就可以得到∫(e^x+e^-x)dx 的结果。
matlab 函数句柄获取函数名-回复如何使用MATLAB 函数句柄获取函数名MATLAB 是一种强大的数值计算和科学编程工具,它提供了许多方便的函数和工具箱,帮助用户完成各种任务。
在MATLAB 中,函数句柄是一个用于表示函数的变量,可以用它来保存函数的信息,并在需要时进行调用。
有时候,我们可能需要获取函数句柄所对应的函数的名称,本文将向您介绍如何使用MATLAB 函数句柄获取函数名。
1. 创建一个函数句柄要使用函数句柄获取函数名,首先需要创建一个函数句柄。
函数句柄可以通过多种方式创建,其中最简单的方式是直接使用函数名。
例如,我们有一个名为`myFunction` 的函数,可以通过以下方式创建函数句柄:matlabfh = @myFunction;这样,变量`fh` 就成为了一个指向`myFunction` 函数的句柄。
2. 使用`functions` 函数获取函数句柄信息要获取函数句柄所对应的函数名,可以使用MATLAB 内置的`functions` 函数。
`functions` 函数返回有关函数句柄的信息,包括函数名、源文件路径等。
下面是使用`functions` 函数获取函数句柄信息的示例代码:matlabfhInfo = functions(fh);这将返回一个结构体`fhInfo`,其中包含了与函数句柄`fh` 相关的信息。
其中,`fhInfo.file` 字段表示函数所在的源文件路径。
如果函数句柄`fh` 是在工作目录下定义的,那么`fhInfo.file` 将为空。
3. 提取函数名从函数句柄信息结构体中提取函数名比较简单。
可以使用`fhInfo.function` 字段来获取函数名,如下所示:matlabfunctionName = fhInfo.function;现在,变量`functionName` 就保存了函数句柄`fh` 所对应的函数名。
4. 示例与应用场景下面通过一个示例来展示如何使用MATLAB 函数句柄获取函数名,并说明其中的应用场景。