作业帮 > 综合 > 作业

matlab循环语句问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 14:37:44
matlab循环语句问题


我自己写了一段,但是发现不对.请各位帮我看看改如何改
在1到12内. 假如不是整数提示"需要输入整数" 假如输入非数字提示"?"  .当在12内就运算
i = input('Which multiplication table?');
if i~=fix(i)
  disp ('Please enter an  integar number only.');
elseif i>=1 && i<=12
  for x = 1:i;
    y=i*x;
    disp('%d x %d=%d',x,i,y);
  end
elseif isnan(i)~=0
      disp('?Undefined function or variable');
elseif x>12 or x<1
disp('Please enter a number from 1 to12.');
    end


有几个问题:(1)应该先判断输入的是数字还是字符串(2)逻辑判断中没有“or”,应该用“||”代替(3)disp函数不能那样用,得先用sprintf,再用disp. 改过之后的程序如下:i = input('Which multiplication table?');
if isnumeric(i)
    if i~=fix(i)
        disp ('Please enter an  integar number only.');
    elseif i>12 || i<1
        disp('Please enter a number from 1 to12.');
    elseif i>=1 && i<=12
        for x = 1:i;
          y=i*x;
          out = sprintf('%d x %d=%d',x,i,y);
          disp(out);
        end
    end
elseif ischar(i)
    disp('?Undefined function or variable');
end下面贴出运行的结果: