我想有一个1:25范围的for循环,但我不希望for循环在该范围内通过数字23
另一种格式;我希望它像这样1:22 24:25 这样可行吗?
请帮助
答案 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]
等...)