连接向量的有效方法

时间:2013-10-28 23:31:01

标签: matlab matrix

我有一个n x 3矩阵E,很多方法都存储在一个d x 3矩阵M和一个协方差矩阵中,比如说身份。

我想为M中的每个点计算mvnpdf(E[i,:],M(k,:),cov)

基本上,当我运行mvnpdf(E,M(k,:),cov)时,我会得到一个向量

[mvnpdf(E(1,:),M(k,:),cov)
mvnpdf(E(2,:),M(k,:),cov) etc]

我想捕捉这些向量以得到如下矩阵:

[mvnpdf(E,M(1,:),cov), mvnpdf(E,M(2,:),cov), etc]

没有for循环有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

这可以在我的机器上运行,但看看它是不是你的目标:

Cov = eye(3);
C = arrayfun(@(x,y,z) mvnpdf(E,[x y z],Cov), M(1,:), M(2,:), M(3,:),'uni',false);
A = [C{:}]

注意:请考虑不要将cov用作变量,因为它是MATLAB函数。

编辑:我的原始输出M破坏了您的输入M。请再次使用原始数据!

相关问题