Я предлагаю альтернативу решению Wolfie, чтобы заранее сгенерировать все индексы, а затем применить один цикл:
Xvect = repmat(X, length(Y), 1);
Yvect = repmat(Y, 1, length(X));
Xvect = Xvect(:);
Yvect = Yvect(:);
Xis5to7 = (Xvect >= 5) & (Xvect <= 7);
Yis12to14 = (Yvect >= 12) & (Yvect <= 14);
XYcomb = ~(Xis5to7 & Yis12to14); % This is the range to exclude, negate it.
allX = Xvect(XYcomb);
allY = Yvect(XYcomb);
(par)for i = 1 : length(allX);
X = allX(i);
Y = allY(i);
Ltemp(i) = ...;
end
L(XYcomb) = Ltemp;
Преимущество состоит в том, что комбинации (allX, allY)
отображаются спереди плюс, благодаря одной петле, очень удобно делать из него parfor
.