编写一个使用FOR循环对所有偶数小于N的整数求和的程序(MATLAB)

时间:2013-05-13 00:03:32

标签: matlab

我做了什么

N = input ('N=');
x = 1:N

for x= (1:N)
    if mod(x,2) == 0
        t = x;
        b = sum(t)
    end
end

这是对的吗?

为什么它一直给我这个错误信息?

“???指数超过矩阵维度。

==>中的错误examPractise1 at 7

b = sum(t)“

1 个答案:

答案 0 :(得分:3)

N = input ('N=');
b=0;
for x= (1:N-1)
    if (mod(x,2) == 0)
        b=b+x;
    end
end
disp(b);

几点:

  1. 在程序开头或之前清除b 计算会影响当前的
  2. Matlab是一个矢量系统,何时 你做了1:N它做了一个像[1 2 3 4]这样的向量 你真正for循环1:(1:N)充其量是令人困惑的。 应该是1:N
  3. 不确定为什么需要名为t
  4. 的变量
  5. sum应替换为标准+操作。
  6. 不要忘记x会转到最后一个特定的数字,因此您应该避免实际添加N