Python 数学公式与函数大全
Python 提供了丰富的数学计算支持,包括内置函数、标准库(math
、cmath
、numpy
)和第三方库(sympy
、scipy
)。以下是常用数学公式和函数的分类整理:
1. 基本数学运算
1.1 算术运算
运算符/函数 |
描述 |
示例 |
+ , - , * , / |
加减乘除 |
3 + 2 → 5 |
// |
整除 |
7 // 2 → 3 |
% |
取模(余数) |
7 % 2 → 1 |
** |
幂运算 |
2 ** 3 → 8 |
abs(x) |
绝对值 |
abs(-5) → 5 |
pow(x, y) |
幂运算(等价于 x ** y ) |
pow(2, 3) → 8 |
round(x, n) |
四舍五入(n 位小数) |
round(3.14159, 2) → 3.14 |
1.2 分数与小数
复制代码
from fractions import Fraction
from decimal import Decimal
# 分数运算
a = Fraction(1, 3) # 1/3
b = Fraction(1, 2) # 1/2
print(a + b) # 输出: 5/6
# 高精度小数
c = Decimal('0.1') + Decimal('0.2')
print(c) # 输出: 0.3(避免浮点误差)
2. 数学函数库(math
和 cmath
)
2.1 基本函数
函数 |
描述 |
示例 |
math.sqrt(x) |
平方根 |
math.sqrt(4) → 2.0 |
math.exp(x) |
自然指数(exe**x) |
math.exp(1) → 2.718... |
math.log(x, base) |
对数(默认自然对数) |
math.log(8, 2) → 3.0 |
math.log10(x) |
以 10 为底的对数 |
math.log10(100) → 2.0 |
2.2 三角函数
函数 |
描述 |
示例 |
math.sin(x) |
正弦(弧度制) |
math.sin(math.pi/2) → 1.0 |
math.cos(x) |
余弦 |
math.cos(0) → 1.0 |
math.tan(x) |
正切 |
math.tan(math.pi/4) → 1.0 |
math.degrees(x) |
弧度转角度 |
math.degrees(math.pi) → 180.0 |
math.radians(x) |
角度转弧度 |
math.radians(180) → 3.14159... |
2.3 复数运算(cmath
)
复制代码
import cmath
z = 1 + 2j
print(cmath.sqrt(z)) # 输出: (1.272...+0.786...j)
print(cmath.phase(z)) # 辐角(弧度)
3. 高级数学库(numpy
和 scipy
)
3.1 线性代数(numpy
)
复制代码
import numpy as np
# 矩阵运算
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A @ B) # 矩阵乘法
# 特征值与特征向量
eigenvalues, eigenvectors = np.linalg.eig(A)
3.2 科学计算(scipy
)
复制代码
from scipy.integrate import quad
from scipy.optimize import minimize
# 数值积分
result, error = quad(lambda x: x**2, 0, 1) # ∫x² dx (0→1)
print(result) # 输出: 0.333...
# 优化问题
res = minimize(lambda x: (x[0]-1)**2 + (x[1]-2)**2, x0=[0, 0])
print(res.x) # 最优解: [1.0, 2.0]
4. 符号计算(sympy
)
用于解析数学公式(如求导、积分、解方程):
复制代码
from sympy import symbols, diff, integrate, solve
x, y = symbols('x y')
expr = x**2 + 2*x + 1
# 求导
print(diff(expr, x)) # 输出: 2*x + 2
# 积分
print(integrate(expr, x)) # 输出: x**3/3 + x**2 + x
# 解方程
solution = solve(x**2 - 4, x)
print(solution) # 输出: [-2, 2]
5. 统计与概率
5.1 随机数(random
)
复制代码
import random
print(random.random()) # [0, 1) 随机浮点数
print(random.randint(1, 10)) # 1~10 随机整数
5.2 统计计算(statistics
)
复制代码
from statistics import mean, median, stdev
data = [1, 2, 3, 4, 5]
print(mean(data)) # 平均值: 3.0
print(stdev(data)) # 标准差: 1.581...
6. 特殊函数
函数 |
描述 |
示例 |
math.gamma(x) |
Gamma 函数 |
math.gamma(5) → 24.0 |
math.erf(x) |
误差函数 |
math.erf(1) → 0.842... |
scipy.special.besselj(n, x) |
贝塞尔函数 |
需安装 scipy |
总结
需求 |
推荐库 |
示例 |
基本运算 |
内置函数 |
abs(-5) |
三角函数/对数 |
math |
math.sin(math.pi) |
复数运算 |
cmath |
cmath.sqrt(-1) |
矩阵运算 |
numpy |
np.linalg.inv(A) |
符号计算 |
sympy |
solve(x**2 - 1, x) |
科学计算 |
scipy |
scipy.integrate.quad |
掌握这些工具后,你可以轻松实现从基础算术到复杂科学计算的各类数学任务! 🚀