gpt4 book ai didi

python - 如何将矢量场限制在一定半径的圆上?

转载 作者:行者123 更新时间:2023-12-02 02:30:27 25 4
gpt4 key购买 nike

我正在绘制有限导线的矢量磁势。所得矢量场应为圆形且指向上方(z 方向)。我得到的场是向上的,但它不是圆形的。它看起来像一个正方形。有人可以指出我犯的错误吗?

that's the result I'm getting

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np


fig = plt.figure()
ax = fig.gca(projection='3d')

l = 10
x, y, z = np.meshgrid(np.linspace(-1, 1, 20),
np.linspace(-1, 1, 20),
np.linspace(-1, 1, 3))



u = 0
v = 0
w = np.log(2*l/((x**2 + y**2)**0.5))

ax.quiver(x, y, z, u, v, w, length=0.1, color = 'black')

plt.show()

最佳答案

正如所指出的那样,您可以使用口罩 here .

对于您的具体示例,您可以通过计算 xy 平面中的哪些点位于圆内来创建此蒙版:

x, y, z = np.meshgrid(np.linspace(-1, 1, 20),
np.linspace(-1, 1, 20),
np.linspace(-1, 1, 3))

radius = 1
mask = x**2 + y**2 <= radius

现在敷面膜

x, y, z = x[mask], y[mask], z[mask]


u = 0
v = 0
w = np.log(2*l/((x**2 + y**2)**0.5))

ax.quiver(x, y, z, u, v, w, length=0.1, color = 'black')

plt.show()

enter image description here

关于python - 如何将矢量场限制在一定半径的圆上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59335874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com