![](/img/trans.png)
[英]How to plot 2D bar graph in 3D maps using lat long in python or matlab?
[英]How to graph/plot 2D Laplacian of Gaussian (LoG) function in MATLAB or python?
你好。
我正在嘗試制作類似於以下圖的3-D圖,該圖說明了高斯(LoG)函數的2-D拉普拉斯算子。 如何通過MATLAB或python完成此操作? 代碼片段將不勝感激。
我發現可以使用這種方法繪制高斯曲線,但是我正在尋找如何繪制高斯拉普拉斯曲線。
使用應用於高斯的del2
逼真的拉普拉斯函數的近似值(它使用對導數的離散逼近)。 這不是必需的,我們可以輕松地計算高斯二階導數的表達式,並使用該表達式。
首先,我們定義一維高斯:
x = linspace(-4,4,41);
G = exp(-x.^2/2)/sqrt(2*pi);
接下來,我們計算一維高斯的二階導數:
Gxx = G .* (x.^2-1);
高斯函數具有很好的屬性,您可以將兩個1D函數相乘得到2D函數。 從而,
data = G .* Gxx.';
是2D高斯沿y軸的二階導數。 data
的轉置是沿x軸的二階導數。
拉普拉斯定義為沿每個軸的偏導數之和:
data = data + data.';
進行繪制會導致(我也嘗試過復制原始圖形的觀點):
這是完整的代碼:
x = linspace(-4,4,41);
G = exp(-x.^2/2)/sqrt(2*pi);
Gxx = G .* (x.^2-1);
data = G .* Gxx.';
data = data + data.';
surf(x,x,data,'facecolor','white')
view(45,13)
set(gca,'dataaspectratio',[1,1,0.08])
grid off
xlabel('X')
ylabel('Y')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.