带有“ if”语句的多个条件

时间:2019-02-19 02:39:36

标签: matlab matlab-guide

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

2 个答案:

答案 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) ...