如何使用常量额外输入参数应用cellfun(或arrayfun或structfun)?

ant*_*ony 9 matlab arguments function cell-array

我想将一个函数应用于单元格数组的每个元素 - 所以我有cellfun这个.但是,该函数需要两个额外的参数(一个字符串和一个向量),我想为单元格数组的所有元素保持不变; 即我想做的事情:

cellfun(@myfun, cellarray, const1, const2)
Run Code Online (Sandbox Code Playgroud)

含义:

for i = 1:numel(cellarray),
  myfun(cellarray{i}, const1, const2);
end
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,而不创建包含和的numel(cellarray)副本的中间单元格数组?const1const2

gno*_*ice 16

你可以用做匿名函数调用myfun与两个额外的参数:

cellfun(@(x) myfun(x,const1,const2), cellarray)
Run Code Online (Sandbox Code Playgroud)