You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查序列是否为近似等比序列?附Python实现方案

一种简洁的近似等比序列判断方法

咱们都清楚,一眼判断一个序列是不是近似常数序列特别容易,比如 [1, 1, 1.01, 1, 1]、[3.32, 3.33, 3.37, 3.35, 3.34] 这类。但要判断近似等差序列就麻烦多了,近似等比序列的判断难度更是上了一个台阶。

最近我碰到这么一个序列需要验证是否为近似等比序列:[0.228983, 0.459001, 0.918014, 1.835991, 3.672006, 7.335999, 14.688007],这里分享我用到的实现方案,比逐个元素相除要简洁不少:

import numpy as np
delt = np.array([0.228983, 0.459001, 0.918014, 1.835991, 3.672006, 7.335999, 14.688007])
np.diff(np.log(delt))
# 输出结果:array([0.69540462, 0.69316025, 0.69312703, 0.69315372, 0.69205549, 0.69423771])

这个方法利用了对数变换把等比关系转化为等差关系——等比序列取对数后会变成等差序列,所以用np.diff计算对数序列的差分,就能得到近似恒定的差值(对应原序列公比的对数)。相比逐个元素相除再检查结果是否近似恒定,这种方法省去了大量重复输入的繁琐操作,效率高很多。

不确定这个案例算不算简单场景,但亲测好用,特意分享出来,欢迎大家一起讨论改进思路~

内容的提问来源于stack exchange,提问作者Catau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:41:35