Bir hücre dizisinin her öğesine bir işlev uygulamak istiyorum - bu yüzden bunun için cellfun
var. Ancak, işlev hücre dizisinin tüm öğeleri için sabit tutmak istediğiniz iki ek argüman (bir dize ve bir vektör) alır; anlamHücre ekosunu (veya arrayfun veya structfun) sabit ek giriş argümanları ile nasıl uygulanır?
cellfun(@myfun, cellarray, const1, const2)
: yani ben böyle bir şey yapmak istiyorum
for i = 1:numel(cellarray),
myfun(cellarray{i}, const1, const2);
end
const1
ve const2
ait numel(cellarray)
kopyalarını içeren bir ara hücre dizileri yaratmadan bunu yapmak için bazı yolu var mı?
Şu anda bu çözümü kullanıyorum, fakat başka var mı? Büyük diziler için önemli miktarda ek yük üretebilir. Const1, const2'nin (iyi bir alternativ değil) kopya dizisini oluşturmak için tek alternatif mi? – embert
@embert Fazladan ek yükün nereden geleceğinden emin değilim, ama belki de öğrenmek için profiler kullanabilirsiniz. Aynı zamanda, döngü için alternatifleri denemek isterim, çünkü döngüler MATLAB'da kullandıkları ceza türüne girmezler (bazen en hızlı alternatiflerdir). – gnovice