SymPy是符号数学的Python库,旨在用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题。虽然Matlab的类似科学计算能力也很强大,但是Python以其语法简单、易上手、异常丰富的三方库生态,可以更优雅地解决日常遇到的各种计算问题。它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。
1.安装Python3,Jupyter notebook
Python官网:https://www.python.org/
2.在Jupyter notebook中安装SymPy库
3.解一元一次方程:3X-6=0
【推荐】写法一:
from sympy import *
x=Symbol('x')
print('方程的解是:',solve(x * 3 - 6, x))
【了解】写法二:
import sympy
x=sympy.Symbol('x')
print('方程的解是:',sympy.solve(x * 3 - 6, x))
4.解二元一次方程组
from sympy import *
x=Symbol('x')
y=Symbol('y')
print('方程组的解是:',solve([y+x-1,3*x+2*y-5],[x,y]))
注:
- 在计算之前要将变量设为符号;
- 要将变量移到左侧,即y-1+x=0,3x+2y-5=0。
5.求累和∑
from sympy import *
n = Symbol('n')
print('累加和是:',summation(2*n,(n,1,100))) #由初中知识可知结果为5050*2=10100
6.求极限limit()
from sympy import *
x = Symbol('x')
print('极限是:',limit(1/x**2, x, 0))
print('极限是:',limit(x*(sqrt(x**2 + 1) - x), x, oo))
7.计算不定积分
from sympy import *
n = Symbol('n')
s = ((n+3)/(n+2))**n
print('积分结果是:',limit(s, n, oo))
8.求定积分
from sympy import *
t = Symbol('t')
x = Symbol('x')
m = integrate(sin(t)/(pi-t),(t,0,x)) #定义积分函数,integrate()
n = integrate(m,(x,0,pi)) #代入积分下限和上限
print('定积分结果是:', n)
后注1:符号说明
后注2:微积分中有3个重要的极限