2017-04-18 58 views
0

我正在嘗試編寫檢測鍵盤筆畫左右箭頭的MATLAB代碼。以下是我寫的代碼。如何在MATLAB中只檢測一個鍵盤筆劃?

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

但它顯示了一條消息,說明元素數不匹配。 如何解決這個問題?

+2

需要更多信息。 'Background'提供的句柄的確切類型是什麼?我們無法重現您的錯誤。 – rayryeng

+0

對不起。我添加一行關於「背景」的信息 –

回答

0

你以前打過waitforbuttonpress嗎?只要沒有鍵被按下,get(...,'CurrentCharacter')將返回一個空的字符數組,它將雙倍轉換爲[]。這很可能會導致「下標的分配維度不匹配」。分配給key(i)時出錯。

爲什麼你實際調用函數10次?您每次都會得到相同的結果,因此分配給key(i)的所有值都相等。如果您想要連續記錄10個按鍵,則循環內部缺少waitforbuttonpress

順便說一句,我隱含假設Background是活動人物的句柄。你沒有告訴我們它是什麼。

+0

感謝您的回答。我只是想區分左右箭頭之間的按鍵。 'waitforbuttonpress'只返回是否有按鈕點擊,所以這就是我沒有使用該功能的原因。 –

+0

你需要兩個,'waitforbuttonpress'將等待事件發生,*以後*使用get(...,'CurrentCharacter')'知道它是左還是右... – Florian

+0

好吧,我現在明白了。謝謝! –