【python数据建模】Scipy库

常用模块列表

模块名 功能
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函数可以求解多项式和非线性方程组的零点。

最小化函数

你可能感兴趣的:(python数据建模,笔记)