如何在matlab中需要数字输入时避免输入任何i和j值

时间:2012-12-25 16:25:46

标签: matlab

考虑一下

  

a = input(value =);   如何防止用户输入i和j作为输入值。我想要一些像tat这样的代码   如果a ==任何值涉及i和j   然后打破或终止   并再次提示函数a = input(value =)。

之间我累了这样的东西,但它不起作用(错误仍然出现,它无法提示第二个定义的输入a =输入('再次输入')),任何人都可以向我解释在哪里我做错了。

if ~isnan(x) || ~isnumeric
    a = input('enter again');
else
    continue
end

我将非常感谢所有的帮助。

2 个答案:

答案 0 :(得分:2)

请尝试以下操作以继续按用户输入符合条件的值。根据我的评论,该帖子很好地说明了如何实现这一目标。它没有使用OR,而是使用AND进行确定的条件验证。

   while ~(~isempty(a) ...
                && isnumeric(a) ...
                && isreal(a) ...
                && isfinite(a) ...
                && (a == fix(a)) ...
                && (a > 0))
        a = input('Enter the number of dice to roll: ');
    end

答案 1 :(得分:1)

试试这个

a = NaN;
while isnan(a) || ~isreal(a)
   a = input('value=','s');
   a = str2double(a);
end