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 cmathz = 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, solvex, 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 randomprint(random.random()) # [0, 1) 随机浮点数
print(random.randint(1, 10)) # 1~10 随机整数
5.2 统计计算(statistics
)
from statistics import mean, median, stdevdata = [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 |
掌握这些工具后,你可以轻松实现从基础算术到复杂科学计算的各类数学任务! 🚀