如何使用'if'语句设置多个条件
我希望我的'if'语句在计数器变量'i'的特定值处执行,其中'i'的范围为1:100,而'if'语句应在i = 10,20,30,40,处执行。 .100。如何使用'if'语句设置条件?
for i=1:100
if i=10||20||30||40||50||60||70||80||90||100
fprintf('this is multiple of 10') % 1st section
else
fprintf('this is not multiple of 10') % 2nd section
end
我希望只有在“ i”等于10的倍数时才执行“第一部分”,但实际上,“第一部分”总是执行。
答案 0 :(得分:1)
如评论中所建议,对于这样简单的情况,您可以使用mod
函数:
for i = 1:100
if mod(i, 10) == 0
fprintf('%i - this is multiple of 10\n', i) % 1st section
else
fprintf('%i - this is not multiple of 10\n', i) % 2nd section
end
end
答案 1 :(得分:1)
对于您的特定情况(即10的整数),使用answer from machnic(或mod
)功能的rem
是最佳方法:
if mod(i, 10) == 0 ...
% Or
if rem(i, 10) == 0 ...
对于更一般的情况(即是给定集合中的数字),您有几种选择。您可以在any
比较的结果上使用vectorized equality函数:
if any(i == 10:10:100) ...
或者您可以使用ismember
函数:
if ismember(i, 10:10:100) ...