如何在MATLAB中只检测一个键盘敲击?

时间:2017-04-18 03:50:44

标签: matlab keyboard

我正在尝试编写用于检测键盘敲击的左右箭头的MATLAB代码。以下是我写的代码。

Background = figure(1);
for i = 1:10
    key(i) = double(get(Background,'CurrentCharacter'));
end

但是它向我显示了元素数量不匹配的消息。 如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你以前打过waitforbuttonpress吗?只要没有按下任何键,get(...,'CurrentCharacter')将返回一个空的char数组,该数组将双重转换为[]。这很可能导致"下标分配维度不匹配。"将其分配给key(i)时出错。

为什么实际调用该函数10次?每次都会得到相同的结果,因此分配给key(i)的所有值都相等。如果要记录10次连续击键,则在循环内缺少waitforbuttonpress

顺便说一句,我隐含地假设Background是活动数字的句柄。你还没告诉我们它是什么。