我是 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
您必须从 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);
然后您可以通过简单地编写 handles.Note_Vector 在 PushMe_Callback 中检索这些数据,或者您可以通过在 Get_Length 函数中执行以下操作来检索它们 句柄 = guidata(句柄)。在这种情况下,您必须输入 GUI 的句柄
Get_Length(Note_Vector,output,Counter,Total_num,handles.output)
如果您想了解更多信息,我让您查看有关 guidata() 的 matlab 帮助文件。