我有一个函数,它接受一个维度为 [1,2] 的矩阵并返回一个维度为 [1,136] 的矩阵。我还有一个维度矩阵 [N,2]。我想将此函数应用于矩阵的每一行,最终得到一个维度为 [N,136] 的矩阵。
我完全不知道如何在 Matlab 中做到这一点。一个 for 循环解决方案就足够了(此时我什至不能这样做),但据我所知,在 Matlab 中有更好和更可并行化的做事方式。
我目前的尝试如下所示:
phi = arrayfun(@(x,y) gaussianBasis([x y])' , trainIn(:,1), trainIn(:,2), 'UniformOutput', false);
其中gaussianBasis
是返回向量 [136,1] 的函数,trainIn
是矩阵 [N,2]。phi
应该是 [N,136],但这会返回一个由 N 个元胞数组组成的数组,每个元胞数组都包含一个矩阵 [1,136]。
感谢所有的帮助!