我想在Mathematica中用圆柱函数卷积2D高斯。然而,Mathematica只会创建一个没有错误消息的空函数(即它表现正常),因此在绘制函数或使用它进行计算时,根本不会发生任何事情。这是2D高斯:
GaussFkt2D[x_, y_, mux_, muy_, sigmax_, sigmay_, A_] :=
A*E^-((x - mux)^2/(2 sigmax^2) + (y - muy)^2/(2 sigmay^2))
这是圆柱函数:
cylFkt2D[x_, y_, w_] :=
Piecewise[{{0, x^2 + y^2 > (w)^2}, {1, x^2 + y^2 <= (w)^2}}]
为了回旋,我使用:
ConvolutionCylinderGauss2D[u_, v_, mux_, muy_, sigmax_, sigmay_, A_,w_] =
Convolve[
GaussFkt2D[x, y, mux, muy, sigmax, sigmay, A],
cylFkt2D[x, y, w], {x, y}, {u, v}
];
是否有可能以这样的方式实现卷积,即Mathematica不会破坏卷积?我想问题可能是Mathematica在进行卷积时只是过载了。