python画矢量场_如何使用Numpy绘制向量场?

本文旨在解决如何使用Python和Numpy绘制向量场的问题。作者遇到的主要挑战包括调整箭头长度和理解如何在Numpy中实现这一过程。他们已经定义了向量场的分量,并创建了一个网格,但需要帮助标准化箭头长度并正确地在代码中引入Numpy。目前的代码尝试使用`quiver`函数绘制箭头,但遇到了`TypeError`,并且对`quiverkey`函数的用法感到困惑。
摘要由CSDN通过智能技术生成

其思想是绘制以下向量场:

3a299a3995c1e0a610790b01c58c5061.png

我有两个主要问题:

1)我不知道如何确保箭头不太长(我知道我必须使用length,但如何使用?)。

2)我被告知要用Numpy来画向量场,但还是怎么画的?

这就是我所尝试的:# The components of the vector field

F_x = y*e**x

F_y = x**2 + e**x

F_z = z**2*e**z

# The grid

xf = np.linspace(-0.15, 2.25, 8)

yf = np.linspace(-0.15, 2.25, 8)

zf = np.linspace(-0.75, 2.50, 8)

X_grid, Y_grid, Z_grid = np.meshgrid(xf, yf, zf)

# The arrows; how to deal with them?

dx = 1

#dy = ...

#dz = ...

# Standardize the arrows; In this way all arrows have the same length.

length = np.sqrt(dx**2 + dy**2 + dz**2)

dx_N = dx/length

dy_N = dy/length

dz_N = dz/length

#how to involve numpy in the process??

# Drawing the figure

fig, ax = plt.subplots(1, 1)

ax.quiver(X_grid, Y_grid, Z_grid, dx_N, dy_N, dz_N, dy, dz, cmap=plt.get_cmap('gnuplot2'))

plt.show()

谢谢

编辑

根据我提供的链接:

^{pr2}$

TypeError:Shape应该只包含整数。

问题是我不明白这部分代码:qk = plt.quiverkey(Q, 0.9, 0.9, 2, r'$2 \frac{m}{s}$', labelpos='E',

coordinates='figure')

我还不明白如何绘制这个向量场

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值