在MATLAB(或者更一般地说)中,如果我只想要发生某些事情,例如,每做一次for loop
的50次迭代,我怎么能比下面做得更好?那就是不写出每个可能的值+50。谢谢。有for循环脚本只有每第N次迭代才会执行某些操作
for i = 1:1060;
if i = 50 || 100 || 150 || ... || 1050
randi(i); % for example, just do something
end;
end;
在MATLAB(或者更一般地说)中,如果我只想要发生某些事情,例如,每做一次for loop
的50次迭代,我怎么能比下面做得更好?那就是不写出每个可能的值+50。谢谢。有for循环脚本只有每第N次迭代才会执行某些操作
for i = 1:1060;
if i = 50 || 100 || 150 || ... || 1050
randi(i); % for example, just do something
end;
end;
你想要的是
if mod(i, 50) == 0
do something
我改变你的答案(+1)为Matlab语法(因为它是一个Matlab问题),希望没关系。干杯。 –
你想要的是
for i = 0:50:1050
do_stuff(i);
end
,除非它是从你的问题不清楚,如果以前的答案是你真正想要的,你在看起来像这样的情况下可能需要
for i = 1:1060
if mod(i, 50) == 0
do_something(i)
end
do_something_else(i)
end
干杯, -
我不知道MATLAB的语法,但你正在寻找模数(除法后的余数)函数:E.g. '如果我mod 50 = 0' .. – Blorgbeard