1

我有 anx 3 matrix E,很多手段存放在 adx 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循环有没有办法做到这一点?

4

1 回答 1

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。请使用原始数据重试!

于 2013-10-28T23:50:28.640 回答