Моя программа загружает данные из файла и создает график, пользователь нажимает на интересующую область, затем выполняется анализ и создается новый график. Программа продолжает просить пользователя щелкнуть изображение, пока пользователь не нажмет e
, чтобы выйти из программы.
Я хочу, чтобы созданный график представлял собой графический интерфейс, который берет данные из моей программы, но у меня, похоже, возникают проблемы с передачей этих данных в функцию графического интерфейса. Вот краткий пример того, как выглядит моя программа:
load(data)
plot(x,y)
while 1%so that it continues asking for user interaction
figure(1)
'click on the point you want or press e to exit'
[x1,y1,key]=ginput(1)
f=score(x1,y1)
%the above is a different function that gives us the data that I want to graph,
%that are called xf,yf
%GUI plot
figure(1)
test_gui(xf,yf)
if (key == 'e')
display('End')
break;
else
display('next point')
end
end
Мой test_gui.m
выглядит так:
function varargout = test_gui(varargin)
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @test_gui_OpeningFcn, ...
'gui_OutputFcn', @test_gui_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before fft_guide is made visible.
function test_gui_OpeningFcn(hObject, eventdata, handles, varargin)
% Choose default command line output for test_gui
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes test_gui wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = test_gui_OutputFcn(hObject, eventdata, handles)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
plot (xf,yf)
Проблема в том, что когда я нажимаю кнопку «Нажать», она ничего не отображает, поэтому должно быть что-то не так в том, как я передаю переменные xf
, yf
. Мне было интересно, есть ли у кого-нибудь идеи о том, что я делаю неправильно, я раньше не использовал GUIDE, и кажется, что я потерялся.
handles
. Я не могу помочь вам с более подробной информацией, но вы можете посмотреть здесь, чтобы увидеть пример реализации графического интерфейса, который я именно это и объясняю. - person Werner   schedule 11.09.2013