我想對單元格數組的每個元素應用一個函數 - 所以我有cellfun
。然而,該函數需要兩個額外的參數(一個字符串和一個向量),我希望對單元格數組的所有元素保持不變;即我想這樣做:如何使用常量額外輸入參數應用cellfun(或arrayfun或structfun)?
cellfun(@myfun, cellarray, const1, const2)
含義:
for i = 1:numel(cellarray),
myfun(cellarray{i}, const1, const2);
end
是否有某種方式來做到這一點,而無需創建包含const1
和const2
numel(cellarray)
副本中間單元陣列?
目前我正在使用此解決方案,但還有其他嗎?對於大型數組,它可能會產生大量的開銷。是唯一可以創建'const1,const2'副本的數組(不是一個好的替代)? – embert 2014-09-20 08:11:48
@embert我不知道額外的開銷會來自哪裏,但也許你可以使用分析器來查明。我也會在問題中試用for循環替代方法,因爲for循環不會導致他們在MATLAB中使用過的那種懲罰(有時它們甚至是最快的選擇)。 – gnovice 2014-09-20 19:52:12