常用函数
- 引入
from sympy import *
- 表达式
>>>x = symbos('x') # 声明变量x,x可以是字符串表示单词
>>>y = sin(x) / x # 表达式
- 求表达式的值
>>>y.subs(x, value) # x是上一步定义的表达式,value是x的值
- 有理数
>>>Rational(a,b) # a是分子,b是分母
表达式
- 表达式展开
比如, x ∗ ( x + 2 y ) x * (x + 2y) x∗(x+2y),展开为 x 2 + 2 ∗ x ∗ y x^2 + 2 * x * y x2+2∗x∗y
>>>x, y = symbols('x y')
>>>expr = x + 2*y
>>>expand(x * expr)
- 提公因式
比如, x 2 + 2 x y x^2 + 2xy x2+2xy,提公因式为 x ( x + 2 y ) x(x + 2y) x(x+2y)
>>>x, y = symbols('x y')
>>>expr = x**2 + 2*x*y
>>>facotr(expr)
- 开平方根sqrt
sympy开根号不显示无理数,只会sqrt方式显示。比如 8 = 2 2 \sqrt8 = 2\sqrt2 8=22
>>>from sympy import *
>>>sqrt(8) # 输出2*sqrt(2)
- 自然对数unicode编码打印
>>>from sympy import *
>>>init_pringing(use_unicode=True)
>>>x = symbols('x')
>>>exp(x)
x
e
此处代码框内无法换行,实际显示的样式是
e
x
e^x
ex
5. 求导 (derivative)
>>> from sympy import *
>>> x = symbols('x')
>>> expr = sin(x) * exp(x)
>>> diff(expr, x)
x x
ℯ ⋅sin(x) + ℯ ⋅cos(x)
- 求不定积分(integrate)
∫ ( e x s i n ( x ) + e x c o s ( x ) ) d x = e x ∗ s i n ( x ) + C \int(e^xsin(x) + e^xcos(x))\mathrm{d}x=e^x*sin(x)+C ∫(exsin(x)+excos(x))dx=ex∗sin(x)+C
>>> form sympy import *
>>> x = symbols('x')
>>> expr = exp(x) * sin(x) + exp(x) * cos(x)
>>> integrate(expr, x)
x
ℯ ⋅sin(x)
- 定积分(integrate)
∫ − ∞ + ∞ e x ∗ s i n x + e x c o s x d x \int^{+\infty}_{-\infty}e^x*sinx+e^xcosx\mathrm{d}x ∫−∞+∞ex∗sinx+excosxdx
>>> from sympy import *
>>> x = symbols('x')
>>> expr = exp(x) * sin(x) + exp(x) * cos(x)
>>> integrate(expr, x, (x,-oo, oo))
<-∞, ∞>
8.求极限(limit)
lim
n
→
0
s
i
n
(
x
)
x
\lim_{n\rightarrow0}\frac{sin(x)}{x}
limn→0xsin(x)
>>> from sympy import *
>>> x = symbols('x')
>>> expr = sin(x) / x
>>> limit(expr, x, 0)
1
9.解方程 x 2 − 2 = 0 x^2 - 2 = 0 x2−2=0(solve)
>>> from sympy import *
>>> x = symbols('x')
>>> solve(x**2 - 2, x)
[-sqrt(2), sqrt(2)]
10.微分方程 y ′ ′ − y = e t y^{\prime\prime} - y = e^t y′′−y=et(Function, desolve)
>>> from sympy import *
>>> y = Function('y')
>>> dsolve(Eq(y(t).diff(t, t) - y(t), exp(t)), y(t))
11.打印latex公式 ∫ 0 π cos 2 ( x )   d x \int_{0}^{\pi} \cos^{2}{\left (x \right )}\,dx ∫0πcos2(x)dx (latex)
>>> from sympy import *
>>> x = symbols('x')
>>> expr = cos(x)**2
>>> latex(Integral(expr, (x, 0, pi)))
'\\int_{0}^{\\pi} \\cos^{2}{\\left (x \\right )}\\, dx'