科学计算

用python做数学题

  • random:随机数
  • math:高级计算器,对数、阶乘、幂、平方根、三角函数、双曲线以及一些基本数学常量。
  • statistics:平均数、中位数等基本统计
  • sympy:高数工具,使用前至少会解一元方程、泰勒分解等作业。
  • numpy:向量计算,线性代数工具
  • scipy:在numpy基础上增加了常用函数库,包括常微分方程数值求解、信号处理、图像处理、稀疏矩阵等

1、用sympy解方程

安装模块

  1. pip install sympy

源代码地址

基础概念
**
sympy是一种符号计算,即处理数学对象的计算。在符号计算中,数学对象是精确表示的,而不是近似的,未计算的数学表达式会以符号形式保留。与符号计算相对应的是数值计算,可以与Python自带的Math库对比。

Math库:

  1. import math
  2. math.pi
  3. print(math.sin(math.pi))

Sympy库:

  1. from sympy import sin, pi
  2. sin(pi)

数学概念

使用sympy等前提是已经了解了线性代数、微积分等数学知识。对应到程序中基本功能映射如下:

  • symbols:用于把代数中的变量映射到程序中的变量
  • Eq:构造等式
  • Matrix:构造矩阵
  • simplify:表达式化简
  • expand:多项式展开
  • factor:因式分解,与expand相反
  • collect:合并同类项
  • apart:部分分式展开
  • diff:求导函数
  • integrate:积分函数
  • limit:极限
  • series:级数展开
  • oo:表示无穷大
  • solveset:解方程
  • dsolve:解微分方程

解方程组
**
Python数学应用 - 图1

  1. # coding=utf-8
  2. """
  3. sympy解方程
  4. Version: 0.0.1
  5. Author : yichu.cheng
  6. """
  7. from sympy import *
  8. x, y = symbols('x y')
  9. print(solve([2*x-y-3, 3*x+y-7], [x, y]))

用Python重新学统计学

描述性统计分析
离散型概率分布