![](https://img-blog.csdnimg.cn/22edbff499e34c39a293a41aeef4bb47.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
scipy
文章平均质量分 91
以实战为线索,逐步深入scipy的各个方法,打造完整scipy工作流,提升工程化编码和思维能力。
微小冷
这个作者很懒,什么都没留下…
展开
-
scipy一维卷积函数convolve1d
scipy的ndimage模块提供了convolve1d函数,顾名思义用于1维卷积计算,不同模式的计算结果如图所示。原创 2024-03-10 08:30:00 · 1165 阅读 · 0 评论 -
Python模拟艾里光束:光可以不沿直线传播
得图如下,水平方向为传播方向,即方向。这个图很有意思,Airy光束能量峰值的位置,并不是一条直线,换言之,Airy光束竟然不沿直线传播,太离奇了。原创 2024-01-29 08:15:00 · 1331 阅读 · 0 评论 -
python离散余弦变换(DCT)
离散余弦变换(DCT)相当于是傅里叶变换的实部,在scipy.fft中提供了dct函数及其逆变换idct。以dct为例,其函数定义如下,其中type表示余弦变换的类别,norm表示归一化模式。原创 2024-01-28 08:00:00 · 1517 阅读 · 0 评论 -
scipy专栏目录
Scipy 是基于 Numpy 的科学计算库,用于数学、科学、工程学等领域,具体包含最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解等模块,非常强大,堪称理工科必备。原创 2024-01-24 08:30:00 · 1278 阅读 · 0 评论 -
scipy通过快速傅里叶变换实现滤波
scipy官网宣称,fftpack模块将不再更新,或许不久之后将被废弃,也就是说fft将是唯一的傅里叶变换模块。原创 2024-01-22 08:15:00 · 1081 阅读 · 0 评论 -
scipy聚类图dendrogram详解
dendrogram是`scipy`提供的聚类树形图绘制函数,其使用方法大致如下。dendrogram中的参数实在是太多了,没法一一演示,下面演示一下参数$p$对聚类图像的调控原创 2024-01-21 08:45:00 · 1788 阅读 · 1 评论 -
scipy层次聚类
linkage是scipy中的一个层次聚类函数,可将距离最近的数聚在一起,形成聚类簇;多个聚类簇再次聚类,得到更高层级的聚类簇。重复这个过程,直到所有的聚类簇都聚成一个最终的类。原创 2024-01-20 09:00:00 · 2451 阅读 · 1 评论 -
scipy测试数据
在第一次加载图像时,会出现Downloading file的提示,即这些数据是从网上实时下载的。scipy的datasets中提供了几组在图像和信号处理中可能会用到的数据,但是,如果想顺利使用,还需要安装一个scipy的依赖模块pooch。一般来说,下载之后的数据会存放在下面的路径中,通过clear_cache函数,可以清空缓存文件夹。face是RGB图,包括三个通道,数组维度是。绘图结果如下,由于数据较多,难以看清细节,所以下图只截取了心电图的一部分。原创 2024-01-19 08:15:00 · 698 阅读 · 0 评论 -
Python创建对角矩阵和对角块矩阵
numpy和scipy均可生成对角矩阵。对角块矩阵,则相当于把一组矩阵放在某一个对角线上。原创 2024-01-18 08:30:00 · 1338 阅读 · 0 评论 -
Python多重数值定积分
nquad貌似不支持回调函数,其参数ranges是元组的列表,每个元组代表对应未知量的取值范围。若将其映射为三重积分函数,则ranges可表示为。与二重积分相比,三重积分tplquad只是多了一组qfun和rfun,相当于z处于qfun(x,y)和rfun(x,y)之间。之外,还提供了二重、三重以及N重积分的API,即。下面仍以函数func为例,用nquad得出结果。以二重积分为例,其对应的问题可表述为下式。,gfun, hfun对应上式的。,a,b对那个上式的。Python代码如下。原创 2024-01-05 08:15:00 · 1276 阅读 · 0 评论 -
Python非线性全局优化
optimize模块非常强大,封装了诸多成熟且高效的算法,久经考验。对于参加数学竞赛的同学来说,辛辛苦苦撸出来的遗传算法、模拟退火算法,在scipy所实现的双退火或是差分进化算法面前,就显得十分稚嫩。原创 2023-08-11 08:00:00 · 1488 阅读 · 0 评论 -
scipy求解约束无导数优化问题:SHGO算法
SHGO,即simplicial homology global optimize,来自2018年的文章,是一种基于组合拓扑学的优化方法,是一个非常新的算法。原创 2023-08-09 08:00:00 · 1042 阅读 · 0 评论 -
python求定积分:quad函数
`quad`是`scipy.integrate`中最常用的积分函数。原创 2023-07-06 13:50:09 · 5821 阅读 · 0 评论 -
【分布族谱】学生t分布,及其与正态分布、卡方分布的关系
1908年,戈塞特在酿酒厂工作,由于酒厂禁止员工发表酿酒相关的研究成果,所以他以`Student`为笔名发表了有关t分布的研究,故而这个著名的分布被命名为学生分布。原创 2023-06-06 11:08:30 · 2458 阅读 · 1 评论 -
【分布族谱】高斯分布和逆高斯分布的关系
在布朗运动中,高斯分布描述的是某一固定时刻距离的分布;而逆高斯分布则是达到固定距离所需时间的分布。原创 2023-06-03 08:30:00 · 3698 阅读 · 2 评论 -
【分布族谱】卡方分布和F分布之间的关系
两个服从卡方分布的独立随机变量在归一化后相除,就得到了$F$分布。原创 2023-05-30 08:00:00 · 2155 阅读 · 1 评论 -
【分布族谱】均匀分布和三角形分布的关系
两个均匀分布的随机变量X_1, X_2,其中样本相加或者相减后可得到三角形分布,记X1的下限与上限为a_1,b_1,X2的下限与上限分别为a_2,b_2,从这个三角形分布的特点可以看出,三角形分布的下限和上限分别是$a_1+a_2, b_1+b_2$,其众数为$\frac{a_1+b_1+a_2+b_2}{2}$。原创 2023-05-27 08:00:00 · 2237 阅读 · 0 评论 -
【分布族谱】正态分布和卡方分布的关系
若k个互相独立的随机变量均服从标准正态分布,则这k个随机变量的平方和构成一个新变量,新变量服从卡方分布。原创 2023-05-20 08:00:00 · 5255 阅读 · 5 评论 -
【分布族谱】泊松分布和二项分布、正态分布的关系
泊松分布,表示某个随机事件在连续时间内发生的概率,其中λ为其期望。原创 2023-05-18 08:00:00 · 1176 阅读 · 0 评论 -
【分布族谱】正态分布如何变成二项分布
根据中心极限定理,无穷多次伯努利试验结果服从高斯分布原创 2023-05-16 08:00:00 · 3064 阅读 · 5 评论 -
【分布族谱】正态分布和对数正态分布的关系
假设$Z$满足标准正态分布,则随机变量$X=a^Z$符合对数正态分布。根据定义,可以很方便地推导出对数正态分布的概率密度函数,原创 2023-05-15 08:00:00 · 2765 阅读 · 1 评论 -
python中最全面的统计分布工具
`scipy`为诸多统计分布函数设计了类,这些类封装了几乎相同的方法,下面先以正态分布为示例,预览一下强大的统计功能。原创 2023-05-13 08:00:00 · 1766 阅读 · 0 评论 -
【分布族谱】Zipf分布及其Python可视化
美国学者Zipf在研究词频的时候发现,如果将一篇较长文章中的词频按照高低依次排列,将频次最高者的词记为1、次高者记为2,依次类推,最后使用频率最低的词为N。若用f表示频次,r表示等级序号,则fr是常数,此即Zipf定律。原创 2023-05-08 07:45:00 · 2370 阅读 · 0 评论 -
python图像处理之形态学梯度、礼帽、黑帽
礼帽又叫顶帽,等于原图减去开运算;黑帽又叫底帽,为原图减去闭运算。形态学梯度为膨胀图减去腐蚀图,会提取出图像的边缘原创 2023-04-28 07:30:00 · 1296 阅读 · 0 评论 -
python解方程
`scipy.optimize`提供了统一的一元函数求根方法,即root_scalar。同时,针对部分求根算法,还提供了单独的函数,包括- `toms748(f, a, b, k=1)`- `bisect(f, a, b)`- `brentq(f, a, b)`- `brenth(f, a, b)`- `ridder(f, a, b)`- `newton(func, x0, fprime=None, fprime2=None, x1=None)`原创 2023-05-11 08:00:00 · 2428 阅读 · 1 评论 -
Python调用二分法和牛顿法求方程的根
二分法是最简单的求根算法。对于方程$f(x)=0$,如果$f(a)\cdot f(b)原创 2023-05-03 07:45:00 · 1672 阅读 · 1 评论 -
Python边缘检测之prewitt, sobel, laplace算子
ndimage中提供了卷积算法,并且建立在卷积之上,提供了三种边缘检测的滤波方案:prewitt, sobel以及laplace。原创 2023-04-21 07:30:00 · 1271 阅读 · 0 评论 -
Python卷积详解
卷积操作经常被作用在图像滤波以及边缘提取上,例如,通过类似下面这样的矩阵,可以将图像的纵向的边缘提取出来。原创 2023-04-20 08:00:00 · 4530 阅读 · 1 评论 -
Python德劳内三角剖分
如果想一次性绘制封闭图形,则可通过`tri_surface`,其绘图逻辑便是将图形拆分成一个个三角面,然后在对这些三角面进行绘制。所以,将一个曲面拆分成三角面,便构成了一个非常现实的问题,德劳内三角剖分便是建立在这个问题背景之下的。原创 2023-04-28 10:44:34 · 2312 阅读 · 0 评论 -
Python凸包
ConvexHull是spatial中的一个类,主要功能是找到一组点的边缘,并做一个凸包。其必要的初始化参数为一个点集,点集格式为n×m维度的数组,n为点集中点的个数,m为点的维度。原创 2023-05-02 08:00:00 · 3208 阅读 · 0 评论 -
Python超矩形
`Rectangle`是`scipy.spatial`中封装的类,其构造函数只需输入最小值和最大值的数组即可,并且可通过内置的`volume`方法计算广义的体积。原创 2023-04-30 07:30:00 · 2030 阅读 · 0 评论 -
Python之curve_fit多元函数拟合
尽管`curve_fit`的参数列表中,只给出了`xdata, ydata`作为拟合参数,而`xdata`只有一组,但`curve_fit`是具备多元拟合潜力的。原创 2023-04-18 08:00:00 · 12367 阅读 · 3 评论 -
Python欧几里得距离变换
scipy中提供了一些距离变换函数原创 2023-05-26 08:15:00 · 1763 阅读 · 0 评论 -
Python距离函数
`scipy.spatial`中有一个距离模块,封装了一些常见的距离函数。原创 2023-04-27 08:00:00 · 1135 阅读 · 1 评论 -
python统计图像连通域
`ndimage`提供一系列函数,可以计算标注后的数组的相关特征,比如最值、均值、均方根等。原创 2023-04-24 08:00:00 · 1454 阅读 · 0 评论 -
Python标记数组的连通域
通过`label`函数,可以对数组中的连通区域进行标注,达到提取连通域的目的。原创 2023-04-17 08:00:00 · 1187 阅读 · 1 评论 -
python形态学滤波:腐蚀、膨胀、开、闭运算
最基础的形态学操作有四个,分别是腐蚀、膨胀、开计算和闭计算,`scipy.ndimage分别实现了二值数组和灰度数组的这四种运算。原创 2023-04-09 08:00:00 · 2263 阅读 · 1 评论 -
Python矩阵LU分解
`scipy.linalg`中提供了一系列矩阵分解函数,其中最基础的肯定是LU分解。在`scipy.linalg`中,提供了`lu, lu_factor, lu_solve`等函数,分别用于LU分解,以及通过LU分解求解`Ax=b`类似的问题。原创 2023-04-10 08:00:00 · 1910 阅读 · 0 评论 -
Python生成对角矩阵和对角块矩阵
numpy和scipy均可生成对角矩阵。对角块矩阵,则相当于把一组矩阵放在某一个对角线上。原创 2023-04-13 08:00:00 · 6324 阅读 · 1 评论 -
Python对高维数组旋转、平移和缩放
`scipy.ndimage`中提供了对数组进行平移、缩放以及旋转操作的函数,分别是`shift, zoom, rotate`。原创 2023-04-07 08:00:00 · 1444 阅读 · 1 评论