(Matlab for loop)可以在loop中添加更大的参数吗?
我希望当检测到数据的值大于1000时,参数将额外增加72。这样就可以跳过72分 但我观察到的结果是,当数据大于1000时,它似乎没有跳过72点(Matlab for loop)可以在loop中添加更大的参数吗?,matlab,Matlab,我希望当检测到数据的值大于1000时,参数将额外增加72。这样就可以跳过72分 但我观察到的结果是,当数据大于1000时,它似乎没有跳过72点 我可以用这种方式编码吗?此代码将无法按您希望的方式工作。一种可能的解决方案是使用while循环,变量i将在每个循环步骤中增加一个(如for循环中所示),必要时增加72: for i = 1:72000 if data(i) > 1000 beatpoint(i) = 1; i = i + 72;
我可以用这种方式编码吗?此代码将无法按您希望的方式工作。一种可能的解决方案是使用while循环,变量
i
将在每个循环步骤中增加一个(如for循环中所示),必要时增加72:
for i = 1:72000
if data(i) > 1000
beatpoint(i) = 1;
i = i + 72;
end
end
i=1;
而i1000
点(i)=1;
i=i+72;
结束
i=i+1;
结束
尽量避免在循环内更改for循环迭代器
编辑:应该是
你赢了我几秒钟,哈哈。不过有两件小事:1)你的状态不应该是@Benoit_11:当用零初始化i时,这似乎很好。我同意1),我的错误(已修复)。我不同意这一点。您需要使用i=1开始循环。这就是我在代码中写的。现在你得到一个超出界限的索引,在上一次迭代开始时,我是72000,然后递增1
i=1;
while i<=72000
if data(i)>1000
beatpoint(i)=1;
i=i+72;
end
i=i+1;
end