0
使用以下代碼:奇怪復相位顯示
from numpy import *
from matplotlib.pyplot import *
Radius=10
N=1024
dx=2*Radius/N
dy=dx
x=r_[-Radius:Radius:dx]
y=r_[-Radius:Radius:dy]
X, Y = meshgrid(x,y)
R = sqrt(X**2+Y**2)
PHI = arctan2(Y,X)
ringthing = R < Radius
ring = zeros((2,N,N),dtype=complex)
ring[0] = ringthing
ring[1] = ringthing*exp(1j*PHI)
f=fig()
p1=f.add_subplot(121)
p1.imshow(angle(ring[0]))
p2=f.add_subplot(122)
p2.imshow(angle(ring[1]))
f.show()
第二圖像的左下方被標記爲紅色(相等於PI)沒有明顯的理由。爲什麼是這樣?
整潔!我試圖在這裏使用unwrap(),但是看起來像zero()+/-問題。 – Arcturus 2013-02-28 14:05:37
我認爲在給定零輸入時使'angle()'返回'nan'可能是有用的,但這基本上是一個定義。 – 2013-02-28 14:07:51
感謝您的詳細解釋。我正在考慮爲此提交一個錯誤報告。首先,Matlab可以很好地處理這個問題,並且根據這個例子pi相移是任意的(在你的答案中有一些潛在的實現原因)。 – rubenvb 2013-02-28 14:12:39