Question

Pouvez-vous s'il vous plaît me dire comment puis-je modéliser une gaussienne fonction de base dans un espace de dimension 2 pour obtenir une sortie scalaire?

Je sais comment appliquer cela avec une entrée scalaire, mais je ne comprends pas comment dois-je appliquer à une entrée 2 vectoriel de dimension. Je l'ai vu de nombreuses variantes de ce que je suis confus.

Était-ce utile?

La solution

Pour l'échantillon d'une distribution normale à plusieurs variables, utilisez le MVNRND fonction de la boîte à outils statistiques. Exemple:

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

text alt

Autres conseils

Avec chaque associé de base gaussienne un centre de la même dimension que l'entrée, permet par exemple c. Si x est votre entrée, vous pouvez calculer la sortie comme

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

Cela fonctionne avec une dimension de x et c, à condition que ce sont les mêmes. Une forme plus générale est

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

où S est une certaine matrice définie positive, et la matrice inverse covariance. Un cas simple est de prendre S être une matrice diagonale avec des entrées positives sur les diagonales.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top