我是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
答案 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帮助文件。