天天看點

Matlab筆記(二):Matlab實作高斯函數的三維顯示1.前言2.代碼3.結果展示

Matlab實作高斯函數的三維顯示

  • 1.前言
  • 2.代碼
  • 3.結果展示

1.前言

最近學習中用到了高斯函數(二維高斯分布),特記錄下實作代碼及一些注意事項。

2.代碼

%設定漸變色:figure => 編輯 => 圖形屬性
%去掉網格,并使之光滑:surf(X, Y, Z); shading interp;
%設定坐标軸寬度:調整linewidth屬性對應值


% 繪制二維高斯曲面
% 公式: p(z) = exp(-(z-u)^2/(2*d^2)/(sqrt(2*pi)*d)
% x y 變量
X = 0 : 1 : 100;
Y = 0 : 1 : 100;

% 方差
d02= 1000;
cc = 50;

% 均值(25, 25)
Z = zeros(101, 101);
for row = 1 : 1 : 101
    for col = 1 : 1 : 101
        Z(row, col) = (X(row) - cc) .* (X(row)-cc) + (Y(col) - cc) .* (Y(col) - cc);
    end
end

Z = -Z/(2*d02);

Z = exp(Z) / (sqrt(2*pi) * sqrt(d02));
% 顯示高斯曲面
surf(X, Y, Z);
% 去掉圖像上的網格,即使之光滑
shading interp 
           

3.結果展示

Matlab筆記(二):Matlab實作高斯函數的三維顯示1.前言2.代碼3.結果展示