Matlab 矩阵对角线上的高斯包络

Matlab 矩阵对角线上的高斯包络,matlab,gaussian,Matlab,Gaussian,我想创建一个矩阵,它是:(1)正态分布的复矩阵(2)在对角线上有一个高斯包络(一个具有一定宽度的高斯sigma在对角线上达到峰值,在非对角线上衰减)。 第一部分使用randn命令非常简单: N=1000; S = randn(N)+1i*randn(N); 然而,我对如何应用高斯包络相当迷茫。非常感谢您的帮助 编辑:我基本上想给对角线一个高斯形状(它是实值)。假设高斯函数的峰值为1,那么我希望对角线上为1,非对角线上为高斯函数的下降值。一种可能的实现方法是重塑矩阵,使对角项位于矩阵/数组的中心

我想创建一个矩阵,它是:(1)正态分布的复矩阵(2)在对角线上有一个高斯包络(一个具有一定宽度的高斯
sigma
在对角线上达到峰值,在非对角线上衰减)。 第一部分使用
randn
命令非常简单:

N=1000;
S = randn(N)+1i*randn(N);
然而,我对如何应用高斯包络相当迷茫。非常感谢您的帮助


编辑:我基本上想给对角线一个高斯形状(它是实值)。假设高斯函数的峰值为1,那么我希望对角线上为1,非对角线上为高斯函数的下降值。

一种可能的实现方法是重塑矩阵,使对角项位于矩阵/数组的中心列,然后应用高斯函数。然后反转整形。我不太熟悉在这种情况下处理复数。@MichaelTr7你好,谢谢你的回答。我想要的对角线元素上的高斯函数是实值的。为了澄清,我们假设高斯包络的峰值是1,所以我希望所有对角线元素上都是1,而非对角线元素上的高斯值都是1。基本上,我只想给矩阵的对角线一个高斯形状。在我看来,这两个要求(1:每个条目应该是正态分布的,2:对角线应该是高斯形状)是incompatible@LuisMendo为什么会这样?我试图在矩阵中添加这样的内容:@FlyGuy这正是我所想象的。这是一个棘手的问题,因为计算对角线的偏移/距离可能很困难。