学习Python解决高等数学问题(sympy用python的库)
Python解決高等數學問題,媽媽再也不用擔心我的學習
使用Python解決高等數學中極限、導數、偏導數、定積分、不定積分、雙重積分等問題
Sympy官網
文章目錄
- Python解決高等數學問題,媽媽再也不用擔心我的學習
- 1. 實用技巧
-
- 1.1 符號函數
- 1.2 展開表達式expand
- 1.3 泰勒展開公式series
- 1.4 符號展開
- 2. 求極限limit
- 3. 求導diff
-
- 3.1 一元函數
- 3.2 多元函數
- 4. 積分integrate
-
- 4.1 定積分
- 4.2 不定積分
- 4.3 雙重積分
- 5. 求解方程組solve
- 6. 計算求和式summation
(免費學習推薦:python視頻教程)
from sympy import *import sympy
登錄后復制
輸入“x= symbols(“x”)”命令定義一個符號
x = Symbol("x")y = Symbol("y")
登錄后復制
1. 實用技巧
1.1 符號函數
sympy提供了很多數學符號,總結如下
- 虛數單位
sympy.I
登錄后復制
- 自然對數
sympy.E
登錄后復制
- 無窮大
sympy.oo
登錄后復制
- 圓周率
sympy.pi
登錄后復制
- 求n次方根
sympy.root(8,3)
登錄后復制
- 取對數
sympy.log(1024,2)
登錄后復制
- 求階乘
sympy.factorial(4)
登錄后復制
- 三角函數
sympy.sin(sympy.pi)sympy.tan(sympy.pi/4)sympy.cos(sympy.pi/2)
登錄后復制
1.2 展開表達式expand
f = (1+x)**3expand(f)
登錄后復制
x
3
+
3
x
2
+
3
x
+
1
\displaystyle x^{3} + 3 x^{2} + 3 x + 1
x3+3x2+3x+1
1.3 泰勒展開公式series
ln(1+x).series(x,0,4)
登錄后復制
x
?
x
2
2
+
x
3
3
+
O
(
x
4
)
\displaystyle x - \frac{x^{2}}{2} + \frac{x^{3}}{3} + O\left(x^{4}\right)
x?2x2+3x3+O(x4)
sin(x).series(x,0,8)
登錄后復制
x
?
x
3
6
+
x
5
120
?
x
7
5040
+
O
(
x
8
)
\displaystyle x - \frac{x^{3}}{6} + \frac{x^{5}}{120} - \frac{x^{7}}{5040} + O\left(x^{8}\right)
x?6x3+120x5?5040x7+O(x8)
cos(x).series(x,0,9)
登錄后復制
1
?
x
2
2
+
x
4
24
?
x
6
720
+
x
8
40320
+
O
(
x
9
)
\displaystyle 1 - \frac{x^{2}}{2} + \frac{x^{4}}{24} - \frac{x^{6}}{720} + \frac{x^{8}}{40320} + O\left(x^{9}\right)
1?2x2+24x4?720x6+40320x8+O(x9)
(1/(1+x)).series(x,0,5)
登錄后復制
1
?
x
+
x
2
?
x
3
+
x
4
+
O
(
x
5
)
\displaystyle 1 - x + x^{2} - x^{3} + x^{4} + O\left(x^{5}\right)
1?x+x2?x3+x4+O(x5)
tan(x).series(x,0,4)
登錄后復制
x
+
x
3
3
+
O
(
x
4
)
\displaystyle x + \frac{x^{3}}{3} + O\left(x^{4}\right)
x+3x3+O(x4)
(1/(1-x)).series(x,0,4)
登錄后復制
1
+
x
+
x
2
+
x
3
+
O
(
x
4
)
\displaystyle 1 + x + x^{2} + x^{3} + O\left(x^{4}\right)
1+x+x2+x3+O(x4)
(1/(1+x)).series(x,0,4)
登錄后復制
1
?
x
+
x
2
?
x
3
+
O
(
x
4
)
\displaystyle 1 - x + x^{2} - x^{3} + O\left(x^{4}\right)
1?x+x2?x3+O(x4)
1.4 符號展開
a = Symbol("a")b = Symbol("b")#simplify( )普通的化簡simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1))#trigsimp( )三角化簡trigsimp(sin(x)/cos(x))#powsimp( )指數化簡powsimp(x**a*x**b)
登錄后復制
x
a
+
b
\displaystyle x^{a + b}
xa+b
2. 求極限limit
limit(sin(x)/x,x,0)
登錄后復制
1
\displaystyle 1
1
f2=(1+x)**(1/x)
登錄后復制
f2
登錄后復制
(
x
+
1
)
1
x
\displaystyle \left(x + 1\right)^{\frac{1}{x}}
(x+1)x1
重要極限
f1=sin(x)/x f2=(1+x)**(1/x)f3=(1+1/x)**x lim1=limit(f1,x,0)lim2=limit(f2,x,0)lim3=limit(f3,x,oo)print(lim1,lim2,lim3)
登錄后復制
1 E E
登錄后復制
dir可以表示極限的趨近方向
f4 = (1+exp(1/x))f4
登錄后復制
e
1
x
+
1
\displaystyle e^{\frac{1}{x}} + 1
ex1+1
lim4 = limit(f4,x,0,dir="-")lim4
登錄后復制
1
\displaystyle 1
1
lim5 = limit(f4,x,0,dir="+")lim5
登錄后復制
∞
\displaystyle \infty
∞
3. 求導diff
diff(函數,自變量,求導次數)
3.1 一元函數
求導問題
diff(sin(2*x),x)
登錄后復制
2
cos
?
(
2
x
)
\displaystyle 2 \cos{\left(2 x \right)}
2cos(2x)
diff(ln(x),x)
登錄后復制
1
x
\displaystyle \frac{1}{x}
x1
3.2 多元函數
求偏導問題
diff(sin(x*y),x,y)
登錄后復制
?
x
y
sin
?
(
x
y
)
+
cos
?
(
x
y
)
\displaystyle - x y \sin{\left(x y \right)} + \cos{\left(x y \right)}
?xysin(xy)+cos(xy)
4. 積分integrate
4.1 定積分
- 函數的定積分: integrate(函數,(變量,下限,上限))
- 函數的不定積分: integrate(函數,變量)
f = x**2 + 1integrate(f,(x,-1.1))
登錄后復制
?
1.54366666666667
\displaystyle -1.54366666666667
?1.54366666666667
integrate(exp(x),(x,-oo,0))
登錄后復制
1
\displaystyle 1
1
4.2 不定積分
f = 1/(1+x*x)integrate(f,x)
登錄后復制
atan
?
(
x
)
\displaystyle \operatorname{atan}{\left(x \right)}
atan(x)
4.3 雙重積分
f = (4/3)*x + 2*y integrate(f,(x,0,1),(y,-3,4))
登錄后復制
11.6666666666667
\displaystyle 11.6666666666667
11.6666666666667
5. 求解方程組solve
#解方程組#定義變量f1=x+y-3f2=x-y+5solve([f1,f2],[x,y])
登錄后復制
{x: -1, y: 4}
6. 計算求和式summation
**
sympy.summation(2 * n,(n,1,100))
登錄后復制
10100
以上就是學習Python解決高等數學問題的詳細內容,更多請關注風君子博客其它相關文章!
總結
以上是生活随笔為你收集整理的学习Python解决高等数学问题(sympy用python的库)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wrapper包装java_java
- 下一篇: Graphics在java的哪个包_如何