两个同种电荷电场线绘制 Python
时间: 2023-11-05 15:20:27 浏览: 69
要绘制同种电荷电场线,可以使用 Python 中的 Matplotlib 库进行绘图。以下是一个简单的示例代码,可以绘制出两个同种电荷的电场线:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义电荷的电荷量和位置
q1 = 1.0
x1, y1 = 0, 0
q2 = 1.0
x2, y2 = 2, 0
# 定义电场强度函数
def E(q, r0, x, y):
"""返回电荷q在点(x,y)处产生的电场强度"""
den = np.hypot(x - r0[0], y - r0[1])**3
return q * (x - r0[0]) / den, q * (y - r0[1]) / den
# 定义网格和坐标轴
nx, ny = 64, 64
x = np.linspace(-3, 3, nx)
y = np.linspace(-3, 3, ny)
X, Y = np.meshgrid(x, y)
# 计算电场强度
Ex, Ey = np.zeros((ny, nx)), np.zeros((ny, nx))
for i in range(nx):
for j in range(ny):
# 计算第一个电荷的电场强度
ex1, ey1 = E(q1, (x1, y1), x[i], y[j])
# 计算第二个电荷的电场强度
ex2, ey2 = E(q2, (x2, y2), x[i], y[j])
# 计算总电场强度
Ex[j, i] = ex1 + ex2
Ey[j, i] = ey1 + ey2
# 绘制电场线
plt.streamplot(x, y, Ex, Ey, color='k', linewidth=1, density=2)
# 添加标题和坐标轴标签
plt.title('Same Charge Electric Field Lines')
plt.xlabel('x')
plt.ylabel('y')
# 显示图形
plt.show()
```
上述代码中,我们首先定义了两个电荷的电荷量和位置,然后定义了一个计算电场强度的函数,接着定义了网格和坐标轴。最后,我们通过计算电场强度并使用 `streamplot()` 函数绘制了电场线。运行上述代码可以得到如下所示的电场线图像:
![Same Charge Electric Field Lines](https://img-blog.csdnimg.cn/20210428151527523.png)