Python是一種強大的編程語言,可以用來進行許多計算和數據處理的任務,其中包括繪制電場強度。
# 導入需要使用的庫 import numpy as np import matplotlib.pyplot as plt # 定義電場強度的計算函數 def E(q, r0, x, y): """返回點(x,y)在點(r0[0],r0[1])處由點電荷q產生的電場強度""" den = np.hypot( x - r0[0], y - r0[1] ) ** 3 return q * (x - r0[0]) / den, q * (y - r0[1]) / den # 確定電荷和其位置 charges = [] charges.append((1, (-1, 0))) charges.append((-1, (1, 0))) # 創建網格 nx, ny = 64, 64 x = np.linspace(-2, 2, nx) y = np.linspace(-2, 2, ny) X, Y = np.meshgrid(x, y) # 計算電場強度并將其繪制 Ex, Ey = np.zeros((ny, nx)), np.zeros((ny, nx)) for charge in charges: ex, ey = E(*charge, x=X, y=Y) Ex += ex Ey += ey fig = plt.figure() ax = fig.add_subplot(111) ax.quiver(X, Y, Ex, Ey) ax.set_xlabel('$x$') ax.set_ylabel('$y$') ax.set_xlim([-2, 2]) ax.set_ylim([-2, 2]) plt.show()
以上代碼使用了numpy和matplotlib庫,通過定義函數計算電場強度,并使用quiver函數繪制向量圖。
在上述代碼中,我們定義了兩個電荷并確定了它們在x和y軸上的位置。我們還創建了一個nx和ny大小的網格,并在每個點上計算了電場強度。最后,我們使用quiver函數繪制了電場強度,其中向量的大小表示電場強度的大小和方向。