Python Sympy计算梯度、散度和旋度的实例


Posted in Python onDecember 06, 2019

sympy有个vector 模块,里面提供了求解标量场、向量场的梯度、散度、旋度等计算,官方参考连接:

http://docs.sympy.org/latest/modules/vector/index.html

sympy中计算梯度、散度和旋度主要有两种方式:

一个是使用∇∇算子,sympy提供了类Del(),该类的方法有:cross、dot和gradient,cross就是叉乘,计算旋度的,dot是点乘,用于计算散度,gradient自然就是计算梯度的。

另一种方法就是直接调用相关的API:curl、divergence和gradient,这些函数都在模块sympy.vector 下面。

使用sympy计算梯度、散度和旋度之前,首先要确定坐标系,sympy.vector模块里提供了构建坐标系的类,常见的是笛卡尔坐标系, CoordSys3D,根据下面的例子可以了解到相应应用。

(1)计算梯度

## 1 gradient

C = CoordSys3D('C')
delop = Del() # nabla算子

# 标量场 f = x**2*y-xy
f = C.x**2*C.y - C.x*C.y

res = delop.gradient(f, doit=True) # 使用nabla算子
# res = delop(f).doit()
res = gradient(f) # 直接使用gradient

print(res) # (2*C.x*C.y - C.y)*C.i + (C.x**2 - C.x)*C.j

(2)计算散度

## divergence

C = CoordSys3D('C')
delop = Del() # nabla算子

# 向量场 f = x**2*y*i-xy*j
f = C.x**2*C.y*C.i - C.x*C.y*C.j

res = delop.dot(f, doit=True)

# res = divergence(f)

print(res) # 2*C.x*C.y - C.x,即2xy-x,向量场的散度是标量

(3)计算旋度

## curl

C = CoordSys3D('C')
delop = Del() # nabla算子

# 向量场 f = x**2*y*i-xy*j
f = C.x**2*C.y*C.i - C.x*C.y*C.j

res = delop.cross(f, doit=True)

# res = curl(f)

print(res) # (-C.x**2 - C.y)*C.k,即(-x**2-y)*k,向量场的旋度是向量

以上这篇Python Sympy计算梯度、散度和旋度的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 计算两个日期相差多少个月实例代码
May 24 Python
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
浅谈python日志的配置文件路径问题
Apr 28 Python
python微元法计算函数曲线长度的方法
Nov 08 Python
python实现多层感知器
Jan 18 Python
详解使用Python下载文件的几种方法
Oct 13 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
Jan 16 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
django 读取图片到页面实例
Mar 27 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 Python
python解压zip包中文乱码解决方法
Nov 27 Python
详解Selenium 元素定位和WebDriver常用方法
Dec 04 Python
python实现输入的数据在地图上生成热力图效果
Dec 06 #Python
python 画3维轨迹图并进行比较的实例
Dec 06 #Python
解决pyshp UnicodeDecodeError的问题
Dec 06 #Python
python创建ArcGIS shape文件的实现
Dec 06 #Python
使用pyshp包进行shapefile文件修改的例子
Dec 06 #Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 #Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 #Python
You might like
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
PHP判断图片格式的七种方法小结
2013/06/03 PHP
解析php中如何调用用户自定义函数
2013/08/06 PHP
header导出Excel应用示例
2014/01/24 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
2016/03/17 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
Python之re操作方法(详解)
2017/06/14 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
Python 多维List创建的问题小结
2019/01/18 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
如何使用PyCharm引入需要使用的包的方法
2020/09/22 Python
如何在pycharm中安装第三方包
2020/10/27 Python
python BeautifulSoup库的安装与使用
2020/12/17 Python
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
什么是.net的Remoting技术
2016/07/08 面试题
运动会开幕式邀请函
2014/02/03 职场文书
公证委托书模板
2014/04/03 职场文书
公司请假条范文
2014/04/11 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
改造DE1103三步曲
2022/04/07 无线电