用Python sympy库解决高等数学的一些小问题

展示形式

init_printing(use_unicode=True)

python控制台输出,加入上述代码,可以使求出的结果用unicode字符输出更漂亮。

一、求导数

s i n ( x ) e x sin(x)e^x

from sympy import *
x = symbols('x')
result = diff(sin(x)*exp(x),x)
print(result)

输出结果:

e x p ( x ) s i n ( x ) + e x p ( x ) c o s ( x ) exp(x)*sin(x) + exp(x)*cos(x)

求导结果为:
c o s ( x ) e x + s i n ( x ) e x cos(x)e^x+sin(x)e^x

二、求积分

2.1 求不定积分

( e x sin ( x ) + e x cos ( x ) ) d x \int\left(e^{x} \sin (x)+e^{x} \cos (x)\right) d x

from sympy import *
init_printing(use_unicode=True)
x = symbols('x')
result = integrate(exp(x)*sin(x)+exp(x)*cos(x),x)
print(result)

e x p ( x ) s i n ( x ) exp(x)*sin(x)

结果为: s i n ( x ) e x sin(x)e^x
这里没有添加常数C

2.2 求定积分

sin ( x 2 ) d x \int_{-\infty}^{\infty} \sin \left(x^{2}\right) d x

from sympy import *
init_printing(use_unicode=True)
x = symbols('x')
result = integrate(sin(x**2),(x,-float('inf'),float('inf')))
print(result)

s q r t ( 2 ) s q r t ( p i ) / 2 sqrt(2)*sqrt(pi)/2

结果为:

扫描二维码关注公众号,回复: 11586330 查看本文章

2 π 2 \frac{\sqrt{2} \cdot \sqrt{\pi}}{2}
正负无穷用代码的表现形式为:

float('inf') #正无穷
-float('inf') #负无穷

三、求极限

lim x 0 sin ( x ) x \lim _{x \rightarrow 0} \frac{\sin (x)}{x}

from sympy import *
init_printing(use_unicode=True)
x = symbols('x')
result = limit(sin(x)/x,x,0)
print(result)

1 1

结果为:
1 1

四、求方程的跟

x 2 2 = 0 x^2-2=0

from sympy import *
init_printing(use_unicode=True)
x = symbols('x')
result = solve(x**2-2,x)
print(result)

[ s q r t ( 2 ) , s q r t ( 2 ) ] [-sqrt(2), sqrt(2)]

结果为:
2 , 2 \sqrt{2},-\sqrt{2}

五、解微分方程

y y = e t y''-y=e^t

from sympy import *
init_printing(use_unicode=True)
t = symbols('t')
y = Function('y')
result = dsolve(Eq(y(t).diff(t, t) - y(t), exp(t)), y(t))
print(result)

E q ( y ( t ) , C 2 e x p ( t ) + ( C 1 + t / 2 ) e x p ( t ) ) Eq(y(t), C2*exp(-t) + (C1 + t/2)*exp(t))

结果为:
y ( t ) = C 2 e t + ( C 1 + t 2 ) e t y(t)=C_2e^t+(C1+ \frac{t}{2})e^t

六、求矩阵特征值

[ 1 2 2 2 ] \left[\begin{array}{ll} 1 & 2 \\ 2 & 2 \end{array}\right]

from sympy import *
init_printing(use_unicode=True)
result = Matrix([[1,2],[2,2]]).eigenvals()
print(result)

3 / 2 s q r t ( 17 ) / 2 : 1 , 3 / 2 + s q r t ( 17 ) / 2 : 1 {3/2 - sqrt(17)/2: 1, 3/2 + sqrt(17)/2: 1}

结果为:

λ = 3 2 17 2 3 2 + 17 2 \lambda=\frac{3}{2}-\frac{\sqrt{17}}{2} \quad \frac{3}{2}+\frac{\sqrt{17}}{2}

七、数学公式转为LATEX公式

0 π cos 2 ( x ) d x \int_{0}^{\pi} \cos^{2}{\left (x \right )}\, dx

from sympy import *
init_printing(use_unicode=True)
x = symbols('x')
result=(latex(Integral(cos(x)**2,(x,0,pi))))
print(result)

\int\limits_{0}^{\pi} \cos^{2}{\left(x \right)}, dx

猜你喜欢

转载自blog.csdn.net/qq_44864262/article/details/107548422
今日推荐