Matlab繪製三維曲面(以二維高斯函數爲例)

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

html

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

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

  代碼: 函數

% 繪製二維高斯曲面
% 公式: 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二維高斯圖

相關文章
相關標籤/搜索