创建偶数数组时出错

时间:2014-10-12 11:30:22

标签: matlab if-statement while-loop

我不知道在这段代码中我在哪里做错了  我想创建一个偶数nos的数组。所以我在matlab中编写了以下代码:

A=[];
n=2;
while n!=5
     if n%2==0
       A=[A n];
       n++;
     else
       n++;
     end
end
 disp(A)

以下内容显示为输出:

2   3   4   

我无法理解为什么所有的人。正在显示1到5之间 任何人都可以解释我错在哪里.......

2 个答案:

答案 0 :(得分:3)

我觉得你很早就出错了。试试这个

A = 2:2:8

然后转到Matlab文档并阅读colon运算符。然后忘记C和C ++(所有那些n++和外语的其他语法元素是什么?)。然后忘掉循环并了解矢量化,你可以从Matlab中获得更多,而且工作量更少。

答案 1 :(得分:1)

  

我不知道在这段代码中我做错了什么。

  1. 在MATLAB中,not-equal-to运算符为~=; !=是无效的MATLAB语法。
  2. 如果要增加变量n,则需要编写n = n + 1; n++是无效的MATLAB语法。
  3. %字符开始一行注释; 不是模数运算符。相反,您希望使用rem函数或mod函数(对于非负输入等效)。
  4. 此外,您不需要循环来创建这样一个简单的行向量,其中元素遵循算术序列。只需使用MATLAB' colon operator

    <start> : <step> : <bound>
    

    或者更简单地说

    <start> : <bound>
    

    其中该步骤为1

    这里,

    2:2:8
    

    2 * (1 : 4)
    

    会做到这一点。