用Python画出点电荷周围电势
时间: 2024-05-27 17:06:55 浏览: 115
根据电荷画出静电场的等势线
用Python画出点电荷周围电势的过程可以分为以下几步:
1. 定义点电荷的位置和电荷量
2. 定义计算电势的函数
3. 定义画图函数,生成电势分布图
以下是具体的实现过程:
1. 定义点电荷的位置和电荷量
假设点电荷位于坐标(0, 0),电荷量为q = 1。
2. 定义计算电势的函数
根据库仑定律,点电荷周围的电势可以表示为V = kq / r,其中k为库仑常数,r为距离。
```
import numpy as np
def calc_potential(x, y, q):
k = 8.99e9 # 库仑常数
r = np.sqrt(x ** 2 + y ** 2) # 距离
if r == 0:
return np.inf # 如果距离为0,则返回无穷大
else:
return k * q / r
```
3. 定义画图函数,生成电势分布图
```
import matplotlib.pyplot as plt
def plot_potential(q, xlim=(-10, 10), ylim=(-10, 10)):
# 定义坐标范围和分辨率
x = np.linspace(xlim[0], xlim, 100)
y = np.linspace(ylim, ylim, 100)
X, Y = np.meshgrid(x, y)
# 计算每个点的电势值
V = np.zeros_like(X)
for i in range(X.shape):
for j in range(X.shape):
V[i, j] = calc_potential(X[i, j], Y[i, j], q)
# 画图
plt.contourf(X, Y, V, cmap='coolwarm')
plt.colorbar()
plt.scatter(, , s=100, c='white', marker='o')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Electric potential distribution around a point charge')
plt.show()
```
调用plot_potential函数,生成电势分布图:
```
plot_potential(1)
```
阅读全文