如何使用'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的倍数时执行,但实际上,’第一节‘总是执行。
发布于 2019-02-20 04:06:06
对于您的特定情况(即10的倍数),使用mod
(或rem
)函数的answer from machnic是最好的方法:
if mod(i, 10) == 0 ...
% Or
if rem(i, 10) == 0 ...
对于更一般的情况(即给定集合中的一个数字),您有几个选择。您可以对vectorized equality比较的结果使用any
函数:
if any(i == 10:10:100) ...
或者您可以使用ismember
函数:
if ismember(i, 10:10:100) ...
发布于 2019-02-19 19:02:47
正如评论中所建议的,对于这样简单的情况,您可以使用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
https://stackoverflow.com/questions/54758102
复制相似问题