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