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

编写一个程序,使用FOR循环对所有小于N的偶数整数求和(MATLAB),matlab,Matlab,我所做的 N = input ('N='); x = 1:N for x= (1:N) if mod(x,2) == 0 t = x; b = sum(t) end end 这是正确的吗 为什么它总是给我这个错误信息 “???索引超出了矩阵维度 错误==>examPractise1在7处 b=总和(t)” 有几点: 在程序开始时清除b,否则清除上一个 计算将影响电流 Matlab是一个向量系统,当 你做了1:N当你做 for循环实际上是1:(1

我所做的

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

for x= (1:N)
    if mod(x,2) == 0
        t = x;
        b = sum(t)
    end
end
这是正确的吗

为什么它总是给我这个错误信息

“???索引超出了矩阵维度

错误==>examPractise1在7处

b=总和(t)”

有几点:

  • 在程序开始时清除
    b
    ,否则清除上一个 计算将影响电流
  • Matlab是一个向量系统,当 你做了
    1:N
    当你做
    for
    循环实际上是
    1:(1:N)
    ,这充其量是令人困惑的。 应该是
    1:N
  • 不确定为什么需要名为
    t
  • sum
    应替换为标准的
    +
    操作
  • 不要忘记,
    x
    将转到最后一个特定的数字,因此您应该避免实际添加
    N
  • 有几点:

  • 在程序开始时清除
    b
    ,否则清除上一个 计算将影响电流
  • Matlab是一个向量系统,当 你做了
    1:N
    当你做
    for
    循环实际上是
    1:(1:N)
    ,这充其量是令人困惑的。 应该是
    1:N
  • 不确定为什么需要名为
    t
  • sum
    应替换为标准的
    +
    操作
  • 不要忘记,
    x
    将转到最后一个特定的数字,因此您应该避免实际添加
    N
  • B=sum(A)沿数组的不同维度返回和。
    --因此,您的语句
    B=sum(t)
    不正确。
    B=sum(A)沿数组的不同维度返回和。
    --因此,您的语句
    B=sum(t)
    不正确。
    N = input ('N=');
    b=0;
    for x= (1:N-1)
        if (mod(x,2) == 0)
            b=b+x;
        end
    end
    disp(b);