(Matlab for loop)可以在loop中添加更大的参数吗?

(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;

我希望当检测到数据的值大于1000时,参数将额外增加72。这样就可以跳过72分

但我观察到的结果是,当数据大于1000时,它似乎没有跳过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