MATLAB:对向量中的每n个项应用一个函数

MATLAB:对向量中的每n个项应用一个函数,matlab,Matlab,这个相关的问题似乎表明一种方法是使用num2cell,我有点想远离它 这是我想做的。我有一个三角形网格的索引列表,索引索引顶点列表 我想在前三个索引上运行func(a,b,c),然后在接下来的三个索引上运行func,依此类推 所以我可以重塑(idxs,3,[])所以现在我把数据作为列向量分成了三组。但是,arrayfun没有做我想让它做的事情 正在查找类似列映射运算符的内容。首先,如有必要,将函数正确矢量化,以便参数可以是等长的列表: vec_func = @(a,b,c)(arrayfun(@

这个相关的问题似乎表明一种方法是使用num2cell,我有点想远离它

这是我想做的。我有一个三角形网格的索引列表,索引索引顶点列表

我想在前三个索引上运行func(a,b,c),然后在接下来的三个索引上运行func,依此类推

所以我可以
重塑(idxs,3,[])
所以现在我把数据作为列向量分成了三组。但是,
arrayfun
没有做我想让它做的事情


正在查找类似列映射运算符的内容。

首先,如有必要,将
函数正确矢量化,以便参数可以是等长的列表:

vec_func = @(a,b,c)(arrayfun(@func,a,b,c))
然后,您可以直接访问
idxs
的每三个元素:

vec_func( idxs(1:3:end), idxs(2:3:end), idxs(3:3:end) )