0
我有一段代碼,它應該使用數組和pylab中的imshow()函數在雙變量數據上繪製高斯分佈。我的代碼如下所示:python中的圖形沒有被正確地繪製
from pylab import *
x = zeros((101,101))
mean_i = 50
mean_j = 50
sigma = 10
max_ = 100
for i in range(101):
for j in range(101):
x[i,j] = max_*exp(((-(i-mean_i)**2)-(j-mean_j)**2)/(2*(sigma**2)))
for i in range(101):
plot(i,x[i,50], 'rx')
show()
imshow(x)
show()
,其中我對x[i,j]
方程是高斯爲i
和j
產品。
如果您運行代碼,您會看到生成了兩個圖;一個是i/j
陣列的色彩映射圖,它應該在中心有一個亮點,並以高斯形式衰減,另一個是j = 50的值的圖,所以應該是規則的高斯曲線。
這不是發生了什麼事。當我運行代碼時,有一些步驟,比如我覺得應該是數據不連續。爲什麼是這樣?這是我的等式還是我的繪圖技術的問題?
將sigma從10更改爲10.0已解決了我的問題。這樣一個簡單的解決方案...謝謝! –