'if' 语句的多个条件

Multiple conditions with 'if' statement

如何使用 '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 的倍数时执行,但实际上,“第一部分”始终执行。

如评论中所建议,对于这种简单的条件,您可以使用 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

对于您的特定情况(即是 10 的倍数), using the mod (or rem) 函数是最佳方法:

if mod(i, 10) == 0 ...
% Or
if rem(i, 10) == 0 ...

对于更一般的情况(即给定集合中的数字),您有几种选择。您可以使用 any function on the result of a vectorized equality 比较:

if any(i == 10:10:100) ...

或者您可以使用 ismember 函数:

if ismember(i, 10:10:100) ...