在Matlab中按时间间隔获取用户输入

伯克汉

我正在尝试编写一个脚本,该脚本在指定的时间间隔内获取用户输入。我写了一个简单的脚本,如下所示:

timeEllapsed=0;
Count=0;
while 1
  tic
  input('press enter');
  timeEllapsed=timeEllapsed+toc;
  Count=Count+1;
  if(timeEllapsed>5)
    break;
  end
end
disp ('result is:') 
disp(Count)

当第一次输入和最后一次输入之间的时间少于5秒时,此脚本将获得用户输入。但是,如果用户未按预期输入任何输入,则此脚本将无限期等待。有什么办法可以在给定的时间间隔内获得用户输入吗?提前致谢!

轻风

这是一个自包含的解决方案...

function output = timeinput(t,default_string)
% TIMEINPUT
% Input arguments:  
% t - time delay
% default_string - string which is returned if nothing is entered
%
% Examples:
% If a string is expected
%   x = timeinput(20,'no input')
% If a number is expected
%   x = str2num(timeinput(20,'1'))
%    

if nargin == 1
   default_string = '';
end
% Creating a figure
h = figure('CloseRequestFcn','','Position',[500 500 200 50],'MenuBar','none',...
    'NumberTitle','off','Name','Please insert...');
% Creating an Edit field
hedit = uicontrol('style','edit','Units','pixels','Position',[10 15 180 20],'callback','uiresume','string',default_string);
% Defining a Timer object
T = timer('Name','mm', ...
   'TimerFcn','uiresume', ...
   'StartDelay',t, ...
   'ExecutionMode','singleShot');
% Starting the timer
start(T)
uiwait(h)
% Defining the return value
output = get(hedit,'String');
% Deleting the figure
delete(h)
% Stopping and Deleting the timer
stop(T)
delete(T)

要运行5秒钟的超时输入,只需编写:

x = timeinput(5,'no input')

https://www.mathworks.com/matlabcentral/answers/95301-how-can-i-implement-a-timer-dependent-input-request-in-matlab

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MATLAB中按时间间隔计数条目

来自分类Dev

在JavaScript中获取用户输入

来自分类Dev

在JavaScript中获取用户输入

来自分类Dev

在WxPython中获取用户输入

来自分类Dev

在bash脚本中获取用户输入

来自分类Dev

在JavaScript中获取用户输入

来自分类Dev

从嵌套函数中获取用户输入

来自分类Dev

从JTextArea获取用户输入

来自分类Dev

从JtextArea获取用户输入

来自分类Dev

获取用户输入的字符

来自分类Dev

按时间间隔分组

来自分类Dev

按时间间隔分组

来自分类Dev

在Atom中运行python脚本时获取用户输入

来自分类Dev

在Java中获取用户输入的字符串数组

来自分类Dev

获取用户输入作为脚本中的参数

来自分类Dev

尝试获取用户输入以在P元素中打印

来自分类Dev

在Zig中获取用户输入的当前方法

来自分类Dev

如何获取用户输入并将其存储在向量中?

来自分类Dev

在NodeJS“ readline”模块中获取用户输入

来自分类Dev

从mvc文本框中获取用户输入数据

来自分类Dev

如何在fopen中获取用户输入

来自分类Dev

在C ++中获取用户输入未执行/跳过的代码

来自分类Dev

在Java中获取用户输入的字符串数组

来自分类Dev

如何从for循环索引的标准输出中获取用户输入

来自分类Dev

从多个editText获取用户输入,然后存储在ArrayList中

来自分类Dev

如何在 Hadoop 2.7.5 中获取用户输入?

来自分类Dev

从二维数组中获取用户输入

来自分类Dev

通过在python中获取用户输入来编辑文件?

来自分类Dev

如何在applescript中获取用户语音输入