python 常见数学公式函数使用详解

Python 数学公式与函数大全

Python 提供了丰富的数学计算支持,包括内置函数、标准库(mathcmathnumpy)和第三方库(sympyscipy)。以下是常用数学公式和函数的分类整理:


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. 数学函数库(mathcmath

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. 高级数学库(numpyscipy

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

掌握这些工具后,你可以轻松实现从基础算术到复杂科学计算的各类数学任务! 🚀

相关推荐
autobaba2 分钟前
编写bat文件自动打开chrome浏览器,并通过selenium抓取浏览器操作chrome
chrome·python·selenium·rpa
Rvelamen1 小时前
LLM-SECURITY-PROMPTS大模型提示词攻击测评基准
人工智能·python·安全
【本人】1 小时前
Django基础(一)———创建与启动
后端·python·django
SHIPKING3933 小时前
【python】基于pygame实现动态粒子爱心
开发语言·python·pygame
kk_stoper4 小时前
如何通过API查询实时能源期货价格
java·开发语言·javascript·数据结构·python·能源
java1234_小锋4 小时前
【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 架构搭建
python·自然语言处理·flask
音程6 小时前
(已解决) 如何使用密钥连接远程服务器jupyter notebook从而在本地浏览器上打开
运维·服务器·python·jupyter
Norvyn_77 小时前
LeetCode|Day11|557. 反转字符串中的单词 III|Python刷题笔记
笔记·python·leetcode
我爱一条柴ya7 小时前
【AI大模型】BERT微调文本分类任务实战
人工智能·pytorch·python·ai·分类·bert·ai编程
墨尘游子7 小时前
一文读懂循环神经网络(RNN)—语言模型+n元语法(1)
人工智能·python·rnn·深度学习·神经网络·语言模型