科学计算
用python做数学题
- random:随机数
- math:高级计算器,对数、阶乘、幂、平方根、三角函数、双曲线以及一些基本数学常量。
- statistics:平均数、中位数等基本统计
- sympy:高数工具,使用前至少会解一元方程、泰勒分解等作业。
- numpy:向量计算,线性代数工具
- scipy:在numpy基础上增加了常用函数库,包括常微分方程数值求解、信号处理、图像处理、稀疏矩阵等
1、用sympy解方程
安装模块
pip install sympy
基础概念
**
sympy是一种符号计算,即处理数学对象的计算。在符号计算中,数学对象是精确表示的,而不是近似的,未计算的数学表达式会以符号形式保留。与符号计算相对应的是数值计算,可以与Python自带的Math库对比。
Math库:
import math
math.pi
print(math.sin(math.pi))
Sympy库:
from sympy import sin, pi
sin(pi)
数学概念
使用sympy等前提是已经了解了线性代数、微积分等数学知识。对应到程序中基本功能映射如下:
- symbols:用于把代数中的变量映射到程序中的变量
- Eq:构造等式
- Matrix:构造矩阵
- simplify:表达式化简
- expand:多项式展开
- factor:因式分解,与expand相反
- collect:合并同类项
- apart:部分分式展开
- diff:求导函数
- integrate:积分函数
- limit:极限
- series:级数展开
- oo:表示无穷大
- solveset:解方程
- dsolve:解微分方程
解方程组
**
# coding=utf-8
"""
sympy解方程
Version: 0.0.1
Author : yichu.cheng
"""
from sympy import *
x, y = symbols('x y')
print(solve([2*x-y-3, 3*x+y-7], [x, y]))