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