手机版
你好,游客 登录 注册
背景:
阅读新闻

应用Python的SymPy库解决高等数学及线性代数

[日期:2019-06-02] 来源:Linux社区  作者:kyoRan [字体: ]

SymPy库简介

SymPy是符号数学的Python库。 它旨在成为一个全功能的计算机代数系统(CAS),同时保持代码尽可能简单,以便易于理解和扩展。 SymPy完全是用Python编写的。

  [SymPy官网](“http://www.sympy.org/en/index.html“)
  [ API手册 ](“http://www.sympy.org/en/index.html“)
 

基础用法

Symbols-符号

>>> from sympy import *
>>> # 两种方法创建符号
>>> x, y, z = symbols('x y z')  # 创建符号x、y、z
>>> t = Symbol('t')            # 创建符号t

Derivatives-导数

>>> diff(cos(x), x)    # cos(x)对x求导
-sin(x)
>>> diff(exp(x**2), x) # e的x方对x求导
2*x*exp(x**2)
>>> diff(x**4, x, x, x)# x的4次方分别对x求三次导
24⋅x
>>> diff(x**4, x, 3)  # x的4次方对x求三次导
24⋅x

Integrals-积分

# definite integrals 定积分
>>> integrate(exp(-x), (x, 0, oo))  # e的-x方 下限:0 上限:无穷(两个字母o表示)对x求定积分
1
>>> integrate(exp(-x**2 - y**2), (x, -oo, oo), (y, -oo, oo)) # 求二重积分
π

# indefinite integrals 不定积分
>>> integrate(cos(x), x) # cos(x)对x求不定积分
>sin(x)

Limits-极限

>>> limit(sin(x)/x, x, 0) # sin(x)/x 在x趋向于0时的极限
1
>>> limit(1/x, x, 0, '+') # 1/x 在x趋向于0+时的极限

高等数学上的应用

应用Python的SymPy库解决高等数学及线性代数

from sympy import *
x = Symbol('x'); t = Symbol('t')    # 定义两个变量
lmt = limit(
    (integrate(t*cos(t),(t,0,x))-1+cos(x)) / (sqrt(x*tan(x)+1)-sqrt(x*sin(x)+1)),
    x,
    0)
print(lmt)  # -1/3

应用Python的SymPy库解决高等数学及线性代数

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-06/158933.htm

linux
相关资讯       Python的SymPy库  SymPy库 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款