栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

计算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()

最终结果是这样的:



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596573.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号