您的位置:首页 > 编程语言 > Python开发

基于Python-SymPy库的高等数学及线性代数问题的解决方案

2018-03-13 19:56 489 查看

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

SymPy库简介

基础用法

高等数学上的应用

线性代数上的应用(待完成)

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+时的极限
∞


高等数学上的应用



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


线性代数上的应用(待完成)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息