如何使用matlab为for循环分配整数范围并排除该范围内的数字?

时间:2014-02-27 09:24:47

标签: matlab

我想有一个1:25范围的for循环,但我不希望for循环在该范围内通过数字23

另一种格式;我希望它像这样1:22 24:25 这样可行吗?

请帮助

3 个答案:

答案 0 :(得分:6)

是。你可以写:

for num = [1:22 24:25]
    % do something with num
end

答案 1 :(得分:2)

另一种解决方案:

for idx=1:25
    if idx==23, continue, end
    disp(num2str(idx));
end

答案 2 :(得分:2)

只是添加替代方案:

skip = [23];
for idx = 1:25
   if ~any(idx == skip)
       %// Your code here
   end
end

我认为它比使用[1:22 24:25]作为循环变量更具可读性,因为您可以清楚快速地看到哪些数字被跳过(除非[1:22 24:25]是在其他地方生成的变量,在这种情况下我会去使用该方法),它避免了continue这是有争议的,并且很容易添加其他数字来跳过(即skip = [7, 18, 23]等...)