SciPy

作者:管理员 发布时间:2021-02-01 15:04

    NumPy是一个以矩阵计算为主的纯数学工具,SciPy是对NumPy的再增强,它依赖NumPy库;提供方法(函数库)直接计算结果,封装了一些高阶抽象和物理模型。比方说做个傅立叶变换,这是纯数学的,用Numpy;做个滤波器,这属于信号处理模型了,在Scipy里找。

    本教程中暂不做详细介绍,仅供大概了解。

Scipy是由针对特定任务的子模块组成:

模块名 应用领域
scipy.cluster 向量计算/Kmeans
scipy.constants 物理和数学常量
scipy.fftpack 傅立叶变换
scipy.integrate 积分程序
scipy.interpolate 插值
scipy.io 数据输入输出
scipy.linalg 线性代数程序
scipy.ndimage n维图像包
scipy.odr 正交距离回归
scipy.optimize 优化
scipy.signal 信号处理
scipy.sparse 稀疏矩阵
scipy.spatial 空间数据结构和算法
scipy.special 一些特殊的数学函数
scipy.stats 统计

scipy.io

载入和保存matlab文件

from scipy import io as spio
from numpy as np
x = np.ones((3,3))
spio.savemat('f.mat',{'a':a})
data = spio.loadmat('f.mat',struct_as_record=True)
data['a']

读取图片

from scipy import misc
misc.imread('picture')


scipy.linalg

scipy.linalg.det():计算方阵的行列式
scipy.linalg.inv():计算方阵的逆
scipy.linalg.svd():奇异值分解


scipy.fftpack

 快速傅立叶变换(FFT),是快速计算序列的离散傅立叶变换(DFT)或其逆变换的方法。FFT会通过把DFT矩阵分解为稀疏因子之积来快速计算此类变换。


scipy.fftpack使用:
scipy.fftpack.fftfreq():生成样本序列
scipy.fftpack.fft():计算快速傅立叶变换


标签:
Copyright © 2020 万物律动 旗下 AI算法狮 京ICP备20010037号-1
本站内容来源于网络开放内容的收集整理,并且仅供学习交流使用;
如有侵权,请联系删除相关内容;