我有一个循环,在其中我不断使用 ginput 将点输入到图中。我希望循环一直运行,直到用户按下一个键,这就是我所拥有的:
function enter_points()
f = figure();
axis([-1 1 -1 1]);
coorX = [];
coorY = [];
while 1
[x, y] = ginput(1);
coorX = [coorX x];
coorY = [coorY y];
waitforbuttonpress;
key = get(f,'CurrentCharacter');
if (key == 'e')
display('End of cycle.')
break;
else
display('Enter next point')
end
end
coor = [transpose(coorX) transpose(coorY)];
display(size(coor));
display(coor);
end
这段代码的问题是,我必须按一个键才能继续输入点。另一个问题是,Matlab 在运行此代码时有时会冻结(我不确定代码是原因还是其他原因)。以及如何检测按“enter”而不是“e”?谢谢你的帮助