Я хочу создать небольшой скрипт, в котором я могу систематически анализировать множество графиков matlab. С помощью сценария я должен щелкнуть по некоторым точкам на графике, а затем скрипт сохранит эти значения. У меня есть теперь, что функция обратного вызова имеет координаты, но я хочу, чтобы эти значения в основном файле сохранялись. Но функция set не может получать значения из функции. Как я могу создать еще одну конструкцию, чтобы избежать этого? [x, y] = set (f, 'ButtonDownFcn', {@ Click_CallBack a}); не работает unfortunalty ..Matlab как сделать возвращаемые значения обратного вызова?
function process_plot()
dataset_dia = input('diameter?')
dataset_length = input('length?')
h = gcf;
a = gca;
f =get(gca,'Children');
set(h, 'Pointer', 'fullcrosshair');
set(f,'ButtonDownFcn',{@Click_CallBack a});
save(strcat(dataset_dia, '.mat'), x, y);
end
Функция, которая извлекает координаты из участка:
function [x, y]= Click_CallBack(h,e,a)
point = get(a,'CurrentPoint'); x = point(1);
y = point(4);
fprintf(1,'X,Y = %.2f,%.2f\n',x,y);
end
Вы должны прочитать часть соответствующей части документации Matlab по вопросу передачи данных в графическом интерфейсе, я думаю, что они могут быть полезны в вашем случае: [Способы управления данными в программном графическом интерфейсе] (http: // www.mathworks.fr/help/techdoc/creating_guis/f13-998352.html) и [Обмен данными между обратными вызовами GUI] (http://www.mathworks.fr/help/techdoc/creating_guis/f13-998449.html# f13-1000011) – Aabaz