Wie bewerben Sie sich cellfun (oder arrayfun oder structfun) mit konstanter extra input-Argumente?
Möchte ich anwenden einer Funktion auf jedes element eines cell Arrays, also ich habe cellfun
für, die. Jedoch, die Funktion nimmt zwei zusätzliche Argumente (ein string und vector), die ich behalten will (konstant für alle Elemente der cell array; d.h. ich würde gerne so etwas wie:
cellfun(@myfun, cellarray, const1, const2)
Bedeutung:
for i = 1:numel(cellarray),
myfun(cellarray{i}, const1, const2);
end
Gibt es eine Möglichkeit, das zu tun, ohne die Schaffung von intermediate cell-arrays, die numel(cellarray)
Kopien const1
und const2
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie dies tun, indem Sie eine anonyme Funktion, dass Anrufe
myfun
mit der zwei zusätzliche Argumente:const1, const2
(keine gute alternativ)?Ein weiterer trick ist die Verwendung von ARRAYFUN auf die Indizes:
wenn die return-Werte der
myfun
sind keine Skalare, möchten Sie vielleicht, um die'UniformOutput',false
option.