急急!100分求助高手!给定坐标,利用matlab绘图

来源:百度知道 编辑:UC知道 时间:2024/07/02 12:45:53
我先有数据如下(收件箱中):http://www.126.com/,邮箱:shuju_123@126.com,密码:abc123
数据的第一列为横坐标,第二列为纵坐标,根据所给数据,利用matlab编程绘图,要求:能显示任意点的坐标(如当鼠标放在图像任意点时,显示该点坐标),由于这事比较麻烦,所以只要编出满足上述的matlab程序,绝对加分50,先谢谢大家了,先做先得!!!

把下面所有语句保存为showdata.m,然后运行即可

function showdata
[file,path,flag]=uigetfile('*.txt','Please choose the data file:');
if ~flag
return
end
A=dlmread([path file]);
ud.x=A(:,1);ud.y=A(:,2);
plot(ud.x,ud.y,'g',ud.x,ud.y,'.');
ud.xl=get(gca,'xlim'); ud.yl=get(gca,'ylim');
set(gcf,'userdata',ud,'windowbuttonmotionfcn',@wbm);
hold on;
function wbm(src,eventdata)
ud=get(src,'userdata');
x=ud.x;y=ud.y;xl=ud.xl;yl=ud.yl;
cp=get(gca,'currentpoint');
cx=cp(1,1);cy=cp(1,2);
x=(x-xl(1))/(xl(2)-xl(1));
y=(y-yl(1))/(yl(2)-yl(1));
cx=(cx-xl(1))/(xl(2)-xl(1));
cy=(cy-yl(1))/(yl(2)-yl(1));
[val,index]=min((x-cx).^2+(y-cy).^2);
try
delete(ud.t);delete(ud.h);
end
if val<1e-3
ud.h=plot(ud.x(index),ud.y(index),'ro','markersize',10);
ud.t=text(xl(2