L = 10
Ex = np.zeros([L,L]) # 2D array to store the Ex and
Ey = np.zeros([L,L])
nq = 2
for i in range(nq):
q = random.randrange(-1,2,1) #indicates charge is poistive or negative
qx = random.randrange(1,N) #indicates the positions of the charge
qy = random.randrange(1,N)
for i in range(N):
for j in range(N):
denom = (((i-qx)**2.0+(j-qy)**2.0)**(1.5))
if denom != 0:
Ex[i,j] += (q*(i-qx))/ denom
Ey[i,j] += (q*(j-qy))/denom
else:
continue
plot(Ex, Ey, color='b') #Could this code also be optimized in streamplot?
show()
В этой программе я пытаюсь создать линии электрического поля 2-х электрических зарядов (тогда, надеюсь, N # зарядов). Мой подход был следующим:
Шаг1:
Определите окно LxL
Шаг2:
Выберите случайные места для зарядов и определения величины. (В данном случае я просто взял величину -1,0,1)
- Должны ли мои случайные позиции быть двумерными?
Шаг 3:
Выберите массив для E
Ex (L, L) и Ey (L, L)
Шаг 4:
Во вложенном цикле над ix и iy
Ex = x / r ** 3, x = (dx - ix) a, где a - расстояние.
В настоящее время кажется, что мой код в настоящее время отображает только 1 заряд.