當前位置: 妍妍網 > 碼農

Python最強數學老師——Sympy

2024-06-24碼農

SymPy 是一個用於符號數學計算的 Python 庫,它提供了一個強大的工具集,用於符號數學、代數、微積分、離散數學和量子物理等領域。SymPy 的核心功能包括符號運算式的建立和操作、符號微分、積分、方程式求解、矩陣運算以及數論等。

安裝

pip install sympy

使用

  1. 「基本代數運算」

from sympy import symbols, expand
# 定義符號
x, y, z = symbols('x y z')
# 定義運算式並展開
expr = (x + y + z)**2
expanded_expr = expand(expr)
print("Expanded Expression:", expanded_expr)

  1. 「求解代數方程式」

from sympy import symbols, solve
# 定義符號
x = symbols('x')
# 定義方程式
equation = x**2 - 4
# 求解方程式
solutions = solve(equation, x)
print("Solutions of the equation:", solutions)

  1. 「求導和積分」

from sympy import symbols, diff, integrate
# 定義符號
x = symbols('x')
# 定義函式
f = x**3
# 求導
f_prime = diff(f, x)
# 積分
f_integral = integrate(f, x)
print("Derivative of f:", f_prime)
print("Integral of f:", f_integral)

  1. 「矩陣運算」

from sympy import symbols, Matrix, Eq, solve
# 定義符號
x = symbols('x')
# 建立矩陣
A = Matrix([[12], [34]])
B = Matrix([x, 1])
# 解線性方程式組 Ax = B
solutions_matrix = solve(Eq(A, B), x)
print("Solutions of the linear system:", solutions_matrix)

  1. 「極限計算」

from sympy import symbols, limit
# 定義符號
x = symbols('x')
# 定義函式
f = 1/x
# 計算極限
limit_value = limit(f, x, 0'+')
print("Limit of f as x approaches 0 from the positive side:", limit_value)

  1. 「級數展開」

from sympy import symbols, series
# 定義符號
x = symbols('x')
# 定義函式
f = 1/(1 - x)
# 級數展開
series_expansion = series(f, x, n=10)
print("Series expansion of f:", series_expansion)

  1. 「微分方程式求解」

from sympy import symbols, Function, diff, Eq, solve
# 定義符號
x = symbols('x')
f = Function('f')(x)
# 定義微分方程式
diff_eq = Eq(diff(f, x), x**2)
# 求解微分方程式
solutions_diff_eq = solve(diff_eq, f)
print("Solutions of the differential equation:", solutions_diff_eq)

  1. 「符號積分變換」

from sympy import symbols, fourier_transform, laplace_transform
# 定義符號
x, w = symbols('x w')
# 定義函式
f = x**2
# 傅立葉變換
fourier_transformed = fourier_transform(f, x, w)
# 拉普拉斯變換
laplace_transformed = laplace_transform(f, x, s)
print("Fourier Transform:", fourier_transformed)
print("Laplace Transform:", laplace_transformed)

  1. 「使用特殊函式」

from sympy import symbols, sin, cos, exp, pi
# 定義符號
x = symbols('x')
# 定義函式
expr = sin(x) + cos(x) + exp(-x)
print("Expression with special functions:", expr)

  1. 「符號邏輯運算」

from sympy import symbols, Or, And, Not, simplify_logic
# 定義符號
x, y = symbols('x y')
# 定義邏輯運算式
expr1 = Or(x, y)
expr2 = And(x, Not(y))
# 簡化邏輯運算式
simplified_expr = simplify_logic(expr1 & expr2)
print("Simplified logical expression:", simplified_expr)