高斯基函数

时间:2010-10-28 10:17:35

标签: matlab gaussian

请告诉我如何在二维空间中建模高斯基函数以获得标量输出?

我知道如何使用标量输入来应用它,但我不明白应该如何将它应用于二维矢量输入。我看到很多变化,我很困惑。

2 个答案:

答案 0 :(得分:3)

每个高斯基础将相同维度的中心与输入相关联,我们称之为c。如果x是您的输入,则可以将输出计算为

y = exp( - 0.5 * (x-c)'*(x-c) )

这适用于x和c的任何维度,只要它们相同即可。更一般的形式是

y = sqrt(det(S)) * exp( - 0.5 * (x-c)'* S * (x-c) )

其中S是一些正定矩阵,很好是逆协方差矩阵。一个简单的例子是将S作为对角矩阵,在对角线上有正条目。

答案 1 :(得分:0)

要从多元正态分布中进行采样,请使用统计工具箱中的MVNRND函数。例如:

MU = [2 3];                    %# mean
COV = [1 1.5; 1.5 3];          %# covariance (can be isotropic/diagonal/full)
p = mvnrnd(MU, COV, 1000);     %# sample 1000 2D points
plot(p(:,1), p(:,2), '.')      %# plot them

alt text