计算Python中向量字段的卷曲并使用matplotlib进行绘制

计算Python中向量字段的卷曲并使用matplotlib进行绘制,第1张

计算Python中向量字段的卷曲并使用matplotlib进行绘制

您可以

sympy.curl()
用来计算矢量场的卷曲。

范例

假设 F (x,y,z)= y 2 z i -xy j + z 2 k ,则:

  • y
    将会是
    R[1]
    x
    R[0]
    z
    R[2]
  • 的单位向量 Ĵķ 3个轴,将分别是
    R.x
    R.y
    R.z

计算矢量场卷曲 的代码为:

from sympy.physics.vector import Referenceframefrom sympy.physics.vector import curlR = Referenceframe('R')F = R[1]**2 * R[2] * R.x - R[0]*R[1] * R.y + R[2]**2 * R.zG = curl(F, R)

在那种情况下,G将等于

R_y**2*R.y + (-2*R_y*R_z - R_y)*R.z
或换句话说,
G = 0 i + y 2 j +(-2yz-y) k

要绘制它, 您需要将以上结果转换为3个独立的函数;u,v,w

(下面的示例改编自该matplotlib示例):

from mpl_toolkits.mplot3d import axes3dimport matplotlib.pyplot as pltimport numpy as npfig = 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 = 0v = y**2w = -2*y*z - yax.quiver(x, y, z, u, v, w, length=0.1)plt.show()

最终结果是这样的:



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5601909.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存