matlab函数定义与调用 GUI 中怎么调用另一个Pushbutton中的函数?急!!

Matlab Gui 控件调用另一控件的callback函数或控件其它函数_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
Matlab Gui 控件调用另一控件的callback函数或控件其它函数
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢Matlab GUI 的设计:界面上点击pushbotton按钮,完成退出界面的功能。求回调函数的编写_百度知道
Matlab GUI 的设计:界面上点击pushbotton按钮,完成退出界面的功能。求回调函数的编写
如题,希望给出简单的解释,谢谢了!
提问者采纳
figure1),双击figure查看;%%handles后面是figure的tagdelete(handles
好厉害!!!果然运行成功了!我还想请教一下如果想点击按钮,然后在edit text中显示预先设定了的文字应该怎么写回调函数?当然我会增加悬赏的~谢谢了谢谢了~~~
set(handles.edit1,'string','你想写的东西');%%edit1是相应控件的tag,双击查看
提问者评价
其他类似问题
为您推荐:
回调函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
运行时的图片如下:在你单击两个按钮中的任一一个时总会出来同样的对话框,如下:其中按钮中的主要的回调函数Callback如下:function pushbutton1_Callback(hObject, eventdata, handles)% hObject&&&& handle to pushbutton1 (see GCBO)% eventdata&& reserved - to be defined in a future version of MATLAB% handles&&&& structure with handles and user data (see GUIDATA)uiwait(msgbox('You have pressed Push1 !','Dream'));% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject&&&& handle to pushbutton2 (see GCBO)% eventdata&& reserved - to be defined in a future version of MATLAB% handles&&&& structure with handles and user data (see GUIDATA)hpushbtn1=handles.pushbutton1;;feval(f,hpushbtn1,eventdata,handles);
阅读(693)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'Guide中用一个回调函数调用另一个回调函数',
blogAbstract:'假设有两个按钮控件,他们的tag属性设置为pushbutton1,pushbutton2,他们的回调函数分别为;pushbutton1_Callback(hObject, eventdata, handles)pushbutton2_Callback(hObject, eventdata, handles)要想在按钮1的回调函数中调用按钮2的回调函数,首先应该注意到gui中每个回调函数都有三个参数要传递,所以要调用按钮2的回调函数,首先要知道按钮2的回调函数需要什么样的参数,第一个参数hObject指的是 按钮2的对象句柄 对应就应该是 pushbutton2,所以 可以设 Hbt1=handles.pushbutton2,两个回调函数的eventdata, handles参数都相同,所以不用改动这样在按钮1的回调函数这样写就可以了: ',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:9,
publishTime:2,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}如何在matlab gui中设计sin函数
如何在matlab gui中设计sin函数
09-06-03 &匿名提问 发布
Design of MATLAB of GUI program GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。一.    控件对象及属性(Object and its attributes of controller))1. GUI控件对象类型(The mode of controller object)控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback).控件对象及其功能: (表7—1)2.     控件对象的描述(Description of controller object)   MATLAB中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。(1) 按钮(Push Buttons):执行某种预定的功能或操作;(2) 开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容;(3) 单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项;(4) 复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项;(5) 文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作;(6) 静态文本框(Static Texts):仅仅用于显示单行的说明文字;(7) 滚动条(Slider): 可输入指定范围的数量值;(8) 边框(Frames):在图形窗口圈出一块区域;(9) 列表框(List Boxes):在其中定义一系列可供选择的字符串;(10)弹出式菜单(Popup Menus): 让用户从一列菜单项中选择一项作为参数输入;(11)坐标轴(Axes): 用于显示图形和图象3. 控件对象的属性(Attributes of controller object)用户可以在创建控件对象时,设定其属性值,未指定时将使用系统缺省值。两大类控件对象属性:第一类是所有控件对象都具有的公共属性,第二类是控件对象作为图形对象所具有的属性。A, 控件对象的公共属性Children 取值为空矩阵,因为控件对象没有自己的子对象Parent取值为某个图形窗口对象的句柄,该句柄表明了控件对象所在的图形窗口Tag取值为字符串,定义了控件的标识值,在任何程序中都可以通过这个标识值控制该控件对象Type 取值为uicontrol,表明图形对象的类型UserDate取值为空矩阵,用于保存与该控件对象相关的重要数据和信息Visible取值为no 或off,B,控件对象的基本控制属性BackgroundColor取值为颜色的预定义字符或RGB数值Callback取值为字符串,可以是某个M文件名或一小段MATLAB语句,当用户激活某个控件对象时,应用程序就运行该属性定义的子程序。Enable取值为on(缺省值),inactive和offExtend取值为四元素矢量[0 ,0 width, height],记录控件对象标题字符的位置和尺寸ForegroundColor取值为颜色的预定义字符或RGB数值Max,Min取值都为数值String取值为字符串矩阵或数组,定义控件对象标题或选项内容Style取值可以是pushbutton, radiobutton, checkbox, edit, text, slider, frame, popupmenu 或listboxUnits取值可以是pixels, normalized, inches, centimeters或pointsValue取值可以是矢量,也可以是数值,其含义及解释依赖于控件对象的类型C,控件对象的修饰控制属性FontAngle取值为normal, italic, oblique,FontName取值为控件标题等字体的字库名FontSize取值为数值,FontWeight取值为points, normalized, inches, centimeters或pixelsHorizontalAligment取值为left,right,定义对齐方式D, 控件对象的辅助属性ListboxTop取值为数量值SliderStop取值为两元素矢量[minstep,maxstep],用于slider控件Selected取值为on 或offSlectionHoghlight取值为on 或offE, Callback管理属性BusyAction取值为cancel或queueButtDownFun取值为字符串,一般为某个M文件名或一小段MATLAB程序Creatfun 取值为字符串,一般为某个M文件名或一小段MATLAB程序DeletFun取值为字符串,一般为某个M文件名或一小段MATLAB程序HandleVisibility取值为on, callback或offInterruptible取值为on 或off二.GUI开发环境(GUI Development Environment, GUIDE)MATLAB提供了一套可视化的创建图形窗口的工具,使用用户界面开发环境可方便的创建GUI应用程序, 它可以根据用户设计的GUI布局,自动生成M文件的框架,用户使用这一框架编制自己的应用程序。MATLAB提供了一套可视化的创建图形用户接口(GUI)的工具,包括:*布局编辑器(Layout Edtor)-------在图形窗口中加入及安排对象。布局编辑器是可以启动用户界面的控制面板,上述工具都必须从布局编辑器中访问,用guide命令可以启动,或在启动平台窗口中选择GUIDE来启动布局编辑器。*几何排列工具(Alignment Tool)-----调整各对象相互之间的几何关系和位置*属性编辑器(Property Inspector)-----查询并设置属性值*对象浏览器Object Browser)-----用于获得当前MATLAB图形用户界面程序中所有的全部对象信息,对象的类型,同时显示控件的名称和标识,在控件上双击鼠标可以打开该控件的属性编辑器。*菜单编辑器(Menu Editor)-----建立窗口菜单条的菜单和任何构成布局的弹出菜单在MATLAB中, GUI的设计是以 M文件的编程形式实现的,GUI的布局代码存储在M文件和MAT文件中,而在MATLAB6中有了很大的改变,MATLAB6将GUI的布局代码存储在 FIG文件中,同时还产生一个M文件用于存储调用函数,在M文件中不再包含GUI的布局代码,在开发应用程序时代码量大大减少。1.     布局编辑器(Layout editor):用于从控件选择板上选择控件对象并放置到布局区去,布局区被激活后就成为图形窗口。 在命令窗口输入GUIDE命令或点击工具栏中的guide图标都可以打开空白的布局编辑器,在命令窗口输入GUIDE filename 可打开一个已存在的名为filename图形用户界面。(1)将控件对象放置到布局区a.      用鼠标选择并放置控件到布局区内;b.     移动控件到适当的位置;c.     改变控件的大小;d.     选中多个对象的方法;(2)   激活图形窗口     选Tools菜单中的Activate Figure项或点击工具条上的ActivareFigure按钮, 在激活图形窗口的同时将存储M 文件和FIG文件,如所建立的布局还没有进行存储,用户界面开发环境将打开一个Save As对话框,按输入的文件的名字,存储一对同名的M文件和带有.fig扩展名的FIG文件。(3)   运行GUI程序    在命令窗口直接键入文件名或用openfig, open或hgload命令运行GUI程序。(4)   布局编辑器参数设置    选File菜单下的Preferences菜单项打开参数设置窗口,点击树状目录中的GUIDE,既可以设置布局编辑器的参数。(5)   布局编辑器的弹出菜单   在任一控件上按下鼠标右键,会弹出一个菜单,通过该菜单可以完成布局编辑器的大部分操作。2.         几何位置排列工具(Alignment tool)    用于调节各控件对象之间的相对位置。3.         用属性编辑器设置控件属性(Set attributes of controller with Property Inspector)    在属性编辑器中提供了所有可设置的属性列表并显示出当前的属性。(1)属性编辑器(Opening Property Inspector):三种方法:1. 用工具栏上的图标打开;2. 从View菜单中选择Property Inspector菜单项;3. 在按鼠标右键弹出的Property Inspector菜单中选择菜单项。(1)   使用属性编辑器(Using Property Inspector)a.      布置控件b.     定义文本框的属性c.     定义坐标系d.     定义按钮属性e.      定义复选框4.         菜单编辑器(Menu Editor): 包括菜单的设计和编辑,菜单编辑器有八个快捷键,可以利用它们任意添加或删除菜单,可以设置菜单项的属性,包括名称(Label)、标识(Tag)、选择是否显示分隔线(Separator above this item)、是否在菜单前加上选中标记(Item is checked)、调用函数(Callback)。5.          对象浏览器(Object Browsers):用于浏览当前程序所使用的全部对象信息,可以在对象浏览器中选种一个或多个控件来打开该控件的属性编辑器。三、GUI程序设计(GUI Program design)包括图形界面的设计和功能设计两个方面例1: 用于绘图和图形旋转的GUI:1、          布置控件:一个坐标系、一个文本框、一个复选框,一个按钮2、          定义文本框的属性:String---简单设计示例,FontName---隶书,FontSize--223、          定义坐标系: Visible—off,4、          定义按钮属性: String—绘图,FontName, ForegroundColor, ontSize, BackgroundColor,Callback---surf(peaks(30))5、          定义复选框: String—rotate3D,Callback—rotate3d例2:设计一个简单信号分析仪的程序,要求根据输入的两个频率和时间间隔,计算函数x=sin(2πf1t)+sin(2πf2t) 的值,并对函数进行快速傅立叶变换,最后分别绘制时域和频域的曲线。1.     设计图形界面(GUI Design)设计步骤:(1) 在布局编辑器中布置控件,(2) 使用几何位置排列工具对控件的位置进行调整;(3) 设计控件的属性;(4) 设置其他绘图属性。2.     设置控件的标识(Set the Tag of controller)控件的标识(Tag)是对于各控件的识别,每个控件载创建时都会由开发环境自动产生一个标识,在程序设计中,为了编辑、记忆和维护的方便,一般为控件设置一个新的标识。本例设置第一个坐标轴的标识为:frequency_axes, 用于显示频域图形; 第二个坐标轴的标识为:time_axes, 用于显示时域图形。三个文本编辑框的标识为f1_input, f2_input, t_input,分别用于输入两个频率和自变量时间的间隔.3. 编写代码(Edit code)GUI图形界面的功能,还是要通过一定的设计思路和计算方法,由特定的程序来实现。为了实现程序的功能,还需要在运行程序前编写一些代码,完成程序中变量的赋值、输入输出、计算及绘图等工作。一般方法为,内容为:%(1) 设置对象的初始值;%分别设置三个文本编辑框的初始值为:f1_input=20f2_input=50f3_input=0:0.001:0.5%(2) 编写代码:%1) 从GUI获得拥护输入的数据,本例中输入的三个数据%分别为频率1、频率2和时间间隔。f1=str2double(get(handles.f1_input,'String'));f2=str2double(get(handles.f2_input,'String'));t=eval(get(handles.t_input,'String'));%2) 计算数据,计算函数值,按指定点进行快速傅立叶变%换,并计算频域的幅值和频域分辨率。x=sin(2*pi*f1*t)+sin(2*pi*f2*t);y=fft(x,512);m=y.*conj(y)/512;f=)/512;%3) 在第一个坐标轴中绘制频域曲线。axes(handles.frequency_axes)plot(f,m(1:257))set(handles.frequency_axes,'XminorTick','on')grid on%4) 在第二个坐标轴中绘制时域曲线。axes(handles.time_axes) %选择适当的坐标轴plot(t,x)set(handles.time_axes,'XminorTick','on')grid on运行程序(Running program)例3 :制作一个曲面光照效果的演示界面,如图所示,三个弹出式菜单分别用于选择曲面形式、色彩图、光照模式和反射模式,三个滚动条用于确定光源的位置,一个按钮用于退出演示。制作要点:(1)建立一个静态文本,用于显示界面的标题:光照效果演示;(2)建立坐标轴对象,用于显示图形;(3)建立四个下拉菜单,分别用于选择绘图表面的形状、色图、光照模式和反射模式,每个下拉菜单的上方都有一个静态文本用于说明菜单的作用;(4)在一个frame上建立三个滑条用于确定光源的位置,并在frame上方加一说明;(5)建立一个按钮用于退出演示;callback函数的内容为:function varargout = pushbutton1_Callback(h, eventdata, handles, varargin)delete(handles.figure1)
请登录后再发表评论!6263人阅读
搞了一下午,看了些资料,终于弄好了matlab GUI中的回调函数。
效果图见底部~
umtitled3.m:
function varargout = untitled3(varargin)
% UNTITLED3 M-file for untitled3.fig
UNTITLED3, by itself, creates a new UNTITLED3 or raises the existing
singleton*.
H = UNTITLED3 returns the handle to a new UNTITLED3 or the handle to
the existing singleton*.
UNTITLED3('CALLBACK',hObject,eventData,handles,...) calls the local
function named CALLBACK in UNTITLED3.M with the given input arguments.
UNTITLED3('Property','Value',...) creates a new UNTITLED3 or raises the
existing singleton*.
Starting from the left, property value pairs are
applied to the GUI before untitled3_OpeningFunction gets called.
unrecognized property name or invalid value makes property application
All inputs are passed to untitled3_OpeningFcn via varargin.
*See GUI Options on GUIDE's Tools menu.
Choose &GUI allows only one
instance to run (singleton)&.
% See also: GUIDE, GUIDATA, GUIHANDLES
% Copyright
The MathWorks, Inc.
% Edit the above text to modify the response to help untitled3
% Last Modified by GUIDE v2.5 18-Mar-:53
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton',
gui_Singleton, ...
'gui_OpeningFcn', @untitled3_OpeningFcn, ...
'gui_OutputFcn',
@untitled3_OutputFcn, ...
'gui_LayoutFcn',
'gui_Callback',
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
gui_mainfcn(gui_State, varargin{:});
% End initialization code - DO NOT EDIT
% --- Executes just before untitled3 is made visible.
function untitled3_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
handle to figure
% eventdata
reserved - to be defined in a future version of MATLAB
structure with handles and user data (see GUIDATA)
% varargin
command line arguments to untitled3 (see VARARGIN)
% Choose default command line output for untitled3
handles.output = hO
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes untitled3 wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = untitled3_OutputFcn(hObject, eventdata, handles)
% varargout
cell array for returning output args (see VARARGOUT);
handle to figure
% eventdata
reserved - to be defined in a future version of MATLAB
structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.
% --- Executes on button press in openfile.
function openfile_Callback(hObject, eventdata, handles)%打开文件
global filep
filep=OnFileOpen();
handle to openfile (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)%求取sift特征
global filep
global im1
global des1
global loc1
[im1,des1,loc1] = sift(filep);
showkeys(im1,loc1);
handle to pushbutton2 (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)%写入txt文件
global im1
global des1
global loc1
fid=fopen('matrix.txt','w');
fprintf(fid,'%f',des1);%sift特征
fclose(fid);
handle to pushbutton3 (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
structure with handles and user data (see GUIDATA)
图片贴上:
design view:
result view:
property inspector:
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3310463次
积分:34607
积分:34607
排名:第54名
原创:467篇
转载:34篇
评论:3803条
浙江大学CS硕士在读,关注计算机视觉,机器学习,算法研究,人工智能, 移动互联网等学科和产业,希望结识更多同道中人。
新浪微博:
(7)(2)(1)(1)(9)(1)(1)(5)(2)(1)(3)(4)(6)(6)(5)(4)(1)(1)(1)(6)(1)(2)(7)(6)(7)(11)(20)(12)(23)(29)(37)(37)(6)(24)(6)(1)(1)(2)(2)(1)(7)(23)(20)(32)(17)(5)(22)(58)(8)(8)

我要回帖

更多关于 matlab gui调用函数 的文章

 

随机推荐