常用模块列表
模块名 | 功能 |
---|---|
scipy.constants | 数学常量 |
scipy.fft | 离散傅里叶变换 |
scipy.integrate | 积分 |
scipy.interpolate | 插值 |
scipy.interpolate | 线性代数 |
scipy.cluster | 聚类分析、向量量化 |
scipy.io | 数据输入输出 |
scipy.misc | 图像处理 |
scipy.ndimage | n维图像 |
scipy.odr | 正交距离回归 |
scipy.optimize | 优化算法 |
scipy.signal | 信号处理 |
scipy.sparse | 稀疏矩阵 |
scipy.spatial | 空间数据结构和算法 |
scipy.special | 特殊函数 |
scipy.stats | 统计 |
常量模块 constants
该模块提供了许多内置的数学常量。例如
π
\pi
π
改模块包括了体积单位、面积单位等各类单位。
积分模块 integrate
数学建模中主要掌握下面几种
给定函数的数值积分
import numpy as np
from scipy import integrate
# 一重积分
# quad(func,a,b,args)
# func:被积函数 a,b:积分区间 agrs:额外传递给func的参数,
# 返回积分值y和误差err
f = lambda x, a,b: a*x**2+b*x
y1,err1=integrate.quad(f,0,1,args=(1,0))
y2,err2=integrate.quad(f,0,1,args=(1,1))
# 二重积分 dblquad
f = lambda y, x, a: a*x*y
ans,err=integrate.dblquad(f, 0, 1, lambda x: x, lambda x: 2-x, args=(1,))
print(ans)
# 三重积分 tplquad
# 多重积分 nquad
给定离散点的数值积分
回顾数学分析中定积分的定义,这些函数的作用就相当于分割区间、取点,计算函数的曲边梯形面积来计算定积分。
import numpy as np
from scipy import integrate
# 计算每一个梯形的和得到定积分
# trapezoid(y,x,dx=1.0)
# y,x:坐标轴 dx:若未给出x,默认取点间距为1
S1=integrate.trapezoid([1, 2, 3], x=[4, 6, 8])
x = np.linspace(0, 1, num=50)
y = x**2
S2=integrate.trapezoid(y, x)
优化库 optimize
多项式和方程求解
Numpy库中linalg模块中的solve函数只能求有唯一解的线性方程组,无法求解非线性方程组。optimize模块的root函数可以求解多项式和非线性方程组的零点。