저는 오랫동안 Mathematica 사용자였으며 다양한 노트북을 Python (버전 3)으로 변환하는 과정에있었습니다. 플로팅에 대해서는 matplotlib를 사용했습니다. 나는 걸림돌에 빠졌고 무엇이 잘못 될지 잘 모르겠습니다. Matplotlib을 사용하여 Dipole의 Vector Field Plot을 만들려고 시도합니다.
나는 다음과 같은 티카 코드를 변환하려고 해요 : 는(* simple electric dipole *)
Ex[x_, y_] := (x + 1)/((x + 1)^2 + y^2) - (x - 1)/((x - 1)^2 + y^2)
Ey[x_, y_] := y/((x + 1)^2 + y^2) - y/((x - 1)^2 + y^2)
StreamPlot[{Ex[x, y], Ey[x, y]}, {x, -3.5, 3.5}, {y, -3.5, 3.5}]
이 다음 그림을 생성합니다
내가이 사용하는 파이썬 코드를 재현하고 싶다.
from pylab import *
X,Y = meshgrid(arange(-4,4,.2),arange(-4,4,.2))
Ex = (X + 1)/((X+1)**2 + Y**2) - (X - 1)/((X-1)**2 + Y**2)
Ey = Y/((X+1)**2 + Y**2) - Y/((X-1)**2 + Y**2)
figure()
Q = quiver(Ex, Ey)
l,r,b,t = axis()
dx, dy = r-l, t-b
axis([l-0.05*dx, r+0.05*dx, b-0.05*dy, t+0.05*dy])
show()
는 다음 그림 생성합니다 :
난 여전히 파이썬에서 플롯하는 방법을 배우고, 그리고 I는 벡터 필드 플롯을 만드는 방법 좀 확실 해요. 모든 통찰력은 인정 될 것이다.