我需要以 1000 个批次运行一个 for 循环。但是如果在第一次运行期间“cc”没有达到 100,我需要重新运行更多批次的 1000 个,直到 cc 达到 100。
我知道这可以使用while循环来完成,但是我需要使用并行工具箱parfor
(很可能也是GPU),而且据我所知它不支持while循环。
本质上,我需要更改(重置)if 循环内的 for 循环索引。但是,显然 MATLAB 的 for 循环的设计使您无法在循环内更改其索引,在本例中为“i”。有没有解决的办法?必须有一种更聪明的方法来做到这一点,而无需使用 while 循环。有什么建议么?
for i=1:1000
if (abs(i) <= gamma)
% etc..
cc = cc + 1;
end
if cc < 100
i = 1;
end
end