我是靠谱客的博主 正直黑夜,最近开发中收集的这篇文章主要介绍matlab 判断鼠标按下_Matlab获取鼠标坐标值的ginput()函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

获取鼠标坐标值的第一种途径:利用Matlab7.0 中figure的WindowButtonDownFcn属性。当你在图上按下鼠标的时候,可通过该属性定义一个回调程序。回调程序可以是一个有效的Matlab表达式或者一个M文件。

那么为显示当前鼠标按下时的坐标值,我们可以将其定义为一个坐标获取和显示程序。

例如:

% 主函数

function test_mouse_track()

figure;

axis([-10,10,0,5]);

set(gcf,'WindowButtonDownFcn',@ButttonDownFcn);

% 回调函数

function ButttonDownFcn(src,event)

pt = get(gca,'CurrentPoint');

x = pt(1,1);

y = pt(1,2);

fprintf('x=%f,y=%fn',x,y);

Matlab的ginput()函数

获取鼠标坐标值的第二种途径:

ginput提供了一个十字光标使我们能更精确的选择我们所需要的位置,并返回坐标值。函数调用形式为:

[x,y] = ginput(n)

[x,y] = ginput

[x,y,button] = ginput(...)

对于[x,y] = ginput(n),能使你从当前的坐标系中读取n个点,并返回这n个点的x,y坐标,均为nX1的向量。可以按回车提前结束读数。

[x,y] = ginput 可以无限的读取坐标直到按下回车键。

[x,y,button] = ginput(...) 返回x和y的坐标,以及button值(1=左键,2=中,3=右)或者按键的ASXII码值。

spline函数:

yi=spline(x,y,xi);

这个是根据己知的x,y数据,用样条函数插值出xi处的值。即由x,y的值计算出xi对应的函数值。

而pp=spline(x,y);

是由根据己知的x,y数据,求出它的样条函数表达式。

一个小程序:

axis([0 10 0 10]);

hold on

x=[];

y=[];

n=0;

disp('单击鼠标左键点取需要的点');

disp('单击鼠标右键点取最后一个点');

but=1;

while but==1

[xi,yi,but]=ginput(1);

plot(xi,yi,'bo')

n=n+1;

disp('单击鼠标左键点取下一个点');

x(n,1)=xi;

y(n,1)=yi;

end

t=1:n;

ts=1:0.1:n;

xs=spline(t,x,ts);

ys=spline(t,y,ts);

plot(xs,ys,'r-');

hold off

最后

以上就是正直黑夜为你收集整理的matlab 判断鼠标按下_Matlab获取鼠标坐标值的ginput()函数的全部内容,希望文章能够帮你解决matlab 判断鼠标按下_Matlab获取鼠标坐标值的ginput()函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部