如何在Matlab GUI中调用函数?

时间:2012-11-09 10:47:58

标签: call matlab-guide

我是matlab的新手,我试图在matlab GUI中调用一个函数但是我一直收到错误。你能帮忙吗?

 function PushMe_Callback(hObject, eventdata, handles)
 set(handles.output_line,'String','I Got here');

 Get_Length(Note_Vector,output,Counter,Total_num)
 %------------------------------------------------------------
 function Get_Length(Note_Vector,output,Counter,Total_num)
 output = [ ];
 while (1)
 T = Total_num - Counter;
    for j=1:T
        [xml_input]=Get_Note(Note_Vector(j));
        output = [output xml_input];
    end
 end

1 个答案:

答案 0 :(得分:0)

您必须从gui数据中获取数据。您可以从“guidata”函数中检索这些数据。

实际上发生了什么,是你在“主要功能”中定义了一个变量,但你无法访问这个变量。

你应该做的是在“GUI_OpeningFcn”函数的句柄中添加这个变量:

Note_Vector = [ ];
output = [ ];
Counter = 0
for i=1:Total_num
    Note_Vector = [Note_Vector Note+Shift];
end
handles.Note_Vector = Note_Vector;
handles.GLoutput = output; %handles.output is already the handle of your GUI, don't change it.
handles.counter=counter;
handles.Total_num=Total_num;
(...)
guidata(hObject, handles);

然后您可以通过简单地编写句柄来检索PushMe_Callback中的这些数据.Note_Vector或者您可以通过在Get_Length函数中执行以下操作来检索它们 handles = guidata(句柄)。在这种情况下,您必须输入GUI的句柄

Get_Length(Note_Vector,output,Counter,Total_num,handles.output)

如果您想了解更多信息,我会让您查看有关guidata()的matlab帮助文件。