使用以下代码,我可以绘制单个二维高斯函数的图:
x=linspace(-3,3,1000);
y=x';
[X,Y]=meshgrid(x,y);
z=exp(-(X.^2+Y.^2)/2);
surf(x,y,z);shading interp
这是产生的情节:
但是,我想绘制一个具有这些 2D-Gaussians 的指定数量 x 的网格。将下图视为我想要制作的图的上方视图(特别是网格由 5x5 2D-Gaussians 组成)。每个高斯都应该用一个系数加权,如果它是负的,那么高斯指向 z 轴的负值(下面网格中的黑点),如果它是正的,它就像上图一样(下面网格中的白点) .
让我提供一些数学细节。网格对应于 2D-Gaussians 的混合,如以下等式所示:
其中每个高斯都有自己的均值和偏差。
请注意,混合物的每个高斯分布都应放置在确定的 (X,Y) 坐标中,以使它们彼此距离相等。例如,在 (0,0) 中考虑中心高斯,那么其他的应该在 (-1,1) (0,1) (1,1) (-1,0) (1,0) (-1, -1) (0,-1) (1,-1) 对于尺寸为 3x3 的网格。
你能提供给我(并向我解释)我该怎么做这样的情节吗?在此先感谢您的帮助。