Python 数学公式与函数大全
Python 提供了丰富的数学计算支持,包括内置函数、标准库(math、cmath、numpy)和第三方库(sympy、scipy)。以下是常用数学公式和函数的分类整理:
1. 基本数学运算
1.1 算术运算
运算符/函数 描述 示例 +, -, *, /加减乘除 3 + 2 → 5//整除 7 // 2 → 3%取模(余数) 7 % 2 → 1**幂运算 2 ** 3 → 8abs(x)绝对值 abs(-5) → 5pow(x, y)幂运算(等价于 x ** y) pow(2, 3) → 8round(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.0math.exp(x)自然指数(exe**x ) math.exp(1) → 2.718...math.log(x, base)对数(默认自然对数) math.log(8, 2) → 3.0math.log10(x)以 10 为底的对数 math.log10(100) → 2.0
2.2 三角函数
函数 描述 示例 math.sin(x)正弦(弧度制) math.sin(math.pi/2) → 1.0math.cos(x)余弦 math.cos(0) → 1.0math.tan(x)正切 math.tan(math.pi/4) → 1.0math.degrees(x)弧度转角度 math.degrees(math.pi) → 180.0math.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.0math.erf(x)误差函数 math.erf(1) → 0.842...scipy.special.besselj(n, x)贝塞尔函数 需安装 scipy
总结
需求 推荐库 示例 基本运算 内置函数 abs(-5)三角函数/对数 mathmath.sin(math.pi)复数运算 cmathcmath.sqrt(-1)矩阵运算 numpynp.linalg.inv(A)符号计算 sympysolve(x**2 - 1, x)科学计算 scipyscipy.integrate.quad
掌握这些工具后,你可以轻松实现从基础算术到复杂科学计算的各类数学任务! 🚀