1
我想制作一个小脚本,我可以系统地分析大量的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文档中关于GUI中数据通信主题的一些相关部分,我认为它们可以对您的情况有所帮助:[在编程GUI中管理数据的方式](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 2012-01-02 16:03:53