教程
准备工作
- Python 3
- Numpy & Matplotlib(使用 PIP 安装,代理可通过
HTTPS_PROXY
环境变量设置)
绘制简单二维向量场
下面的代码绘制了 $\bold{F}(x,y) = xi+2j$ 的向量场
import numpy as np
import matplotlib.pyplot as plt
x,y = np.meshgrid(np.linspace(-5,5,10),np.linspace(-5,5,10))
u = x
v = 2
plt.quiver(x,y,u,v)
plt.show()
效果
代码中的 $u,v$ 分别定义了分量。
绘制三维向量场
下面的代码绘制了 $\bold{F} = \sin x \bold{i} - \cos y \bold{j} + \sin z \bold{k}$ 的向量场:
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.gca(projection='3d')
x, y, z = np.meshgrid(np.arange(-0.8, 1, 0.2),
np.arange(-0.8, 1, 0.2),
np.arange(-0.8, 1, 0.8))
u = np.sin(x)
v = -np.cos(y)
w = np.sin(z)
ax.quiver(x, y, z, u, v, w, length=0.2, color = 'blue')
plt.show()
效果
绘制四维向量场
你在想 peach(逃)
大佬