Можно ли использовать waitforbuttonpress с переключателями

#matlab #switch-statement

#matlab #switch-statement

Вопрос:

Я использовал этот фрагмент кода, но он не работает. Можете ли вы помочь мне, где я здесь не прав..

     for i=1:10
        keydown = waitforbuttonpress;
        switch keydown
            case'0'
                disp(5);
            case'1'
                disp(6);
        end
    end
  

Спасибо

Ответ №1:

Вы используете '0' и '1' , когда вы должны использовать 0 и 1 .
‘0’ — тип символа ‘0’ (значение ASCII ‘0’ равно 48. double('0') = 48).

waitforbuttonpress Документация:

k = waitforbuttonpress блокирует поток выполнения вызывающего до тех пор, пока функция не обнаружит, что пользователь щелкнул кнопкой мыши или нажал клавишу, пока окно рисунка активно. Значение, которое является текущим при вызове функции waitforbuttonpress, является единственной областью, в которой пользователи могут нажать клавишу или щелкнуть кнопкой мыши, чтобы возобновить выполнение программы. Возвращаемый аргумент k может иметь следующие значения:

0, если он обнаруживает нажатие кнопки мыши
1, если он обнаруживает нажатие клавиши

Измените свой код следующим образом:

 for i=1:10
    keydown = waitforbuttonpress;
    switch keydown
        case 0
            disp(5);
        case 1
            disp(6);
    end
end