Matlab创建一个包含for循环元素的数组

时间:2014-06-16 18:34:52

标签: matlab

这是我的代码:

N = 1:999;

for i = N
    if rem(i,3) == 0 || rem(i,5) == 0
        v(i,1) = i
    end      
end

问题是我得到一个带有零的数组,但我只想要一个符合条件的数组的数组。

我该如何解决?

谢谢!

2 个答案:

答案 0 :(得分:2)

我认为OP正在寻找一个结果:

v= N( (rem(N,3)==0) | (rem(N,5)==0) );

虽然没有循环......: - )

答案 1 :(得分:0)

我假设您出于某种原因使用循环,而不是从我的解决方案中删除它。但是,应尽可能避免循环。

如果我理解了您的问题,那么您只是尝试存储i对应于真实条件评估的值。您遇到的问题是您在赋值语句中使用i作为索引值。使用end索引关键字。像这样:

N = 1:999;
v = [];

for i = N
    if rem(i,3) == 0 || rem(i,5) == 0
        v(end+1) = i
    end      
end