Matlab get() 函数没有正确按下按键

问题描述

我正在根据以下位置的航空船设计进行船模拟: https://github.com/cmontalvo251/MATLAB/tree/5002bcd426ab31fb882442e75eb3ad567b020a22/Boat

但是当我运行这个脚本并按下任意一个方向键时,光标会跳转到命令窗口并且没有输入到脚本中。

function keypress(varargin)
global uk

%%%uk = [dt,dr];

key = get(gcbf,'CurrentKey');

switch key
    %%%Increase Thrust
 case 'uparrow'
  uk(1) = uk(1) + 1;
  if uk(1) > 100
      uk(1) = 100;
  end
  %%%%Decrease Thrust
 case 'downarrow'
  uk(1) = uk(1) - 1;
  if uk(1) < 0
      uk(1) = 0;
  end
  %%%%Turn Left? 
 case 'leftarrow'
  uk(2) = uk(2) + 0.1;
  if uk(2) > 30*pi/180
      uk(2) = 30*pi/180;
  end
  %%%%Turn Right?
 case 'rightarrow'
  uk(2) = uk(2) - 0.1;
  if uk(2) < -30*pi/180;
      uk(2) = -30*pi/180;
  end
end

这是 MatLab 的问题吗?我观看了这个关于脚本如何工作的视频,但我的模拟运行不一样。

https://www.youtube.com/watch?v=NT9vEOMm6vM&ab_channel=MonteCarlos

解决方法

似乎我所要做的就是在命令窗口中按 Enter 并重新打开图形。模拟运行 200 秒,这也可以更改。