有没有内置函数可以计算给定点的多元正态概率密度函数的梯度值?发现了这个问题:如何在matlab中评估函数的导数?但那不是我要找的。目前我使用的是http://www.mathworks.co.uk/help/stats/mvnpdf.html第三种情况,正在寻找关于X的导数值。
我建议您查看Peterson和Pedersen的《Matrix Cookbook》(可免费在线获取 - 只需谷歌搜索)。您问题的解析解在第39页,325式(2008版)。这个问题甚至不需要Matlab!编辑:正如YBE所暗示的那样,也许我应该在我的答案中包含解决方案。那么,让p(x)表示由均值向量m和协方差矩阵S表征的多元高斯概率密度函数,则:dp(x)/ dx = -p(x)* S^(-1) *(x-m)和d^2p / dx dx' = p(x) * (S^(-1) (x - m)(x - m)' S^(-1) - S^(-1))如果您想要一个Matlab函数,则为:function Gradient = MultNormD1(x, Mu, Sigma) Gradient = -1 * mvnpdf(x, Mu, Sigma) * (Sigma \ (x - Mu));