Matlab get() 函数无法正确按下按键
Matlab get() function not correctly getting key pressed
我正在根据汽艇设计进行船模拟:
https://github.com/cmontalvo251/MATLAB/tree/5002bcd426ab31fb882442e75eb3ad567b020a22/Boat
但是当我运行这个脚本并按任何方向键时,光标跳到命令window并且没有输入到脚本中。
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
似乎我所要做的就是在命令 window 中按回车键并重新打开图表。模拟运行200秒,这个也可以改
我正在根据汽艇设计进行船模拟: https://github.com/cmontalvo251/MATLAB/tree/5002bcd426ab31fb882442e75eb3ad567b020a22/Boat
但是当我运行这个脚本并按任何方向键时,光标跳到命令window并且没有输入到脚本中。
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
似乎我所要做的就是在命令 window 中按回车键并重新打开图表。模拟运行200秒,这个也可以改