Matlab繪制三維曲面(以二維高斯函數為例)


原文地址為:Matlab繪制三維曲面(以二維高斯函數為例)

  寒假學習了一下Python下的NumPy和pymatlab,感覺不是很容易上手。來學校之后,決定繼續看完數字圖像處理一書。還是想按照上學期的模式,邊看邊實現書中的算法。上學期看的時候,是用C語言實現的,發現寫程序太耗時間了,所以決定還是學習下Matlab吧(寒假莫有學會Python中的那些庫應用。。。)
  經過兩天的學習,終於看完了一本關於Matlab的基礎書。對於Matlab有了一個基本的了解,感覺Matlab最大的優勢在於能夠快速的將你數據可視化出來,不管對於科學計算還是圖像處理,這都很重要,因為它能讓你有一個直觀的認識。

  下面就貼一下我繪制的第一個三維曲面圖(二維高斯函數

  代碼: 

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

% 方差
d02= 25;
% 均值(25, 25)
Z = zeros(51, 51);
for row = 1 : 1 : 51
for col = 1 : 1 : 51
Z(row, col) = (X(row) - 25) .* (X(row)-25) + (Y(col) - 25) .* (Y(col) - 25);
end
end

Z = -Z/(2*d02);

Z = exp(Z) / (sqrt(2*pi) * sqrt(d02));
% 顯示高斯曲面
surf(X, Y, Z);

  顯示效果圖:

Matlab二維高斯圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM