Matlab 跳过for循环中的迭代
有没有一种有效的方法可以跳过for循环中的迭代 我有一个由标准普尔500指数期权价格组成的大数据集。数据集范围从1992年到2009年。现在,我总共有3481个引用日期,这些日期存储在我称之为Matlab 跳过for循环中的迭代,matlab,loops,for-loop,iteration,Matlab,Loops,For Loop,Iteration,有没有一种有效的方法可以跳过for循环中的迭代 我有一个由标准普尔500指数期权价格组成的大数据集。数据集范围从1992年到2009年。现在,我总共有3481个引用日期,这些日期存储在我称之为QDvector的某个向量中。我只对2008年到2009年的报价日期感兴趣。对于每个报价日期,我都运行一个特定的程序。报价日期为3290至3481。但是,在某些特殊情况下(很少),由于缺乏库存数据,该程序无法运行。如何在for循环中跳过这些迭代 例如,假设我有 for index = 3290:3481
QDvector
的某个向量中。我只对2008年到2009年的报价日期感兴趣。对于每个报价日期,我都运行一个特定的程序。报价日期为3290至3481。但是,在某些特殊情况下(很少),由于缺乏库存数据,该程序无法运行。如何在for循环中跳过这些迭代
例如,假设我有
for index = 3290:3481
[...]
end
假设我不想考虑索引==3389
。如何跳过此迭代
- 我可以使用while循环,但我真的不想考虑这个索引,因为我还必须绘制某些参数,我想跳过与
对应的参数李>index==3389
- 我可以从
中删除报价日期。我不喜欢这种方法,因为我还必须更改太多其他变量李>QDvector
for index = 3290:3481
[...]
continue; % wherever applicable
end
检查索引并在找不到时执行代码
for index = 3290:3481
if index != 3389
[...]
end
end
如果没有else语句,当该语句为false时将不会发生任何事情,从而有效地跳过索引
或者:
for index = 3290:3481
if index == 3389
continue
else
[...]
end
end
效率稍低,因为将运行检查,并且在大多数情况下,将进展到else。但是,仅通过191次,可能不会引起注意。您不需要“其他”,继续将跳过循环正文的其余部分,以进行性能比较