如果用户没有';输入任何内容并在matlab中编辑输入的内容?
比如我有如果用户没有';输入任何内容并在matlab中编辑输入的内容?,matlab,Matlab,比如我有 x = input('value = ?') 如果用户在没有任何输入的情况下只按enter键,我想知道是否还有其他方法可以编辑我的输入,就像键入后只按“backspace”键一样,我如何重复此命令 就像我现在有两个输入变量' x = input('??'); y = input('???'); x=输入(“??”); y=输入(“?”); 如果在提示输入函数y时插入了x的第一个输入数据,是否可以编辑第一个输入 衷心感谢所有愿意提供帮助的人 对于第一种情况: 我想要一个类似这样
x = input('value = ?')
如果用户在没有任何输入的情况下只按enter键,我想知道是否还有其他方法可以编辑我的输入,就像键入后只按“backspace”键一样,我如何重复此命令
就像我现在有两个输入变量'
x = input('??');
y = input('???');
x=输入(“??”);
y=输入(“?”);
如果在提示输入函数y时插入了x的第一个输入数据,是否可以编辑第一个输入
衷心感谢所有愿意提供帮助的人
对于第一种情况:
我想要一个类似这样的代码
x=输入('值=?');
而x==%%无输入%%
x=输入('value=?');%再次提示输入命令
结束
及
当x==error%%时,我只需要数字输入中的x
x=输入('value=?');%再次提示输入命令
结束
对于第一种情况:
x = input('??'); % if the user just hits 'enter' x is an empty variable
while isempty( x )
x = input('??');
end
寻找一种更稳健的方法
x = str2double( input('Your input here:', 's') );
while ~isnan( x )
x = str2double( input('Your input here:', 's') );
end
命令input('??','s')
返回输入“原样”,不尝试将其转换为数字。转换通过命令str2double
完成。现在,如果输入不是一个数字(双精度),那么str2double
返回NaN
。这可以由isnan
捕获
希望这对你有用。要重复空白
x=''
while isempty(x)
x=input('value=');
end
对于非数字,可以使用
x=''
while isempty(x)
try
x=input('value=')
catch me
fprintf('enter a number\n')
end
end
你的问题不清楚。你能提供一个小的代码片段吗?你看到了吗?我想它涵盖了你想要的。我已经编辑了我的问题,很抱歉没有具体说明@johnish@Shai那么到底有没有…嗯…看看我对另一个问题的回答:
x=''
while isempty(x)
x=input('value=');
end
x=''
while isempty(x)
try
x=input('value=')
catch me
fprintf('enter a number\n')
end
end