虽然在开始时循环抛出错误

时间:2016-02-23 05:18:46

标签: matrix while-loop octave

我想将用户输入的正整数输入1 < a < 10^6并在其上运行循环,然后将其存储在矩阵中,并打印到屏幕上。但是,我的代码抛出了语法错误,指向while中的字母“e”。有谁知道为什么会出现这个错误?

A = (while (a!=1)
       If(rem(a,2)=0
          floor(a^(1/2));
       Else
          floor(a^(3/2));
    endwhile)

disp(A);

1 个答案:

答案 0 :(得分:1)

您的代码中存在几个不同的问题:

  • while循环没有返回任何内容,因此您无法将其分配给A
  • 语法区分大小写,因此它是ifelse,而不是IfElse
  • 你在if子句
  • 之后错过了一个右大括号
  • 您错过了endif
  • 您已分配到rem,请使用==进行相等比较