Matlab笔记——waitforbuttonpress的使用
(版本:MATLAB2015b)
一、waitforbuttonpress
使用waitforbuttonpress ,该函数会根据用户的下一步操作返回一个值,具体如下:
return 0 if it detects a mouse button click %鼠标点击;
return 1 if it detects a key press %键盘键入;
用这个功能结合CurrentPoint可以实现在matlab中作图时循环持续返回点击的位置的信息
以及通过键盘键入任意键来退出程序,十分方便。
例1:本例中实现在绘制的图像中任意点击某点,返回该点对应的二维坐标值,可以持续点击并且可以通过随时从键盘键入任意字符来终止程序;
t = 0:pi/36:2*pi;
x = cos(t)*10;
y = sin(t)*6;
figure(1);
ell = plot(x,y); %以绘制一个椭圆为例;
grid on;
set(ell,'LineWidth',3);
k = waitforbuttonpress; %获取第一个操作
while(k == 0)
pt = get(gca,'CurrentPoint'); %获取最近一次鼠标点击的位置信息,返回一个2*3的struct;
x = pt(1,1);
y = pt(1,2);%这里没有用到z坐标的值;
fprintf('The position is ( %.3f , %.3f )\n',x,y); %我们保留三位小数;
k = waitforbuttonpress; %再次获取鼠标或键盘的键入指令;
if(k == 1)