用python在对数坐标系下,取0.1到10之间平均间隔的点,需要找到离散数据中和上述点最近的点,并输出索引值
时间: 2024-03-14 17:46:33 浏览: 72
在 Python 股票交易策略画图中标记买卖点A.doc
可以使用numpy库中的logspace函数生成等比数列,然后使用numpy中的argmin函数找到最近的点的索引值。具体代码如下:
```python
import numpy as np
# 在对数坐标系下生成等比数列
x = np.logspace(-1, 1, num=100)
# 随机生成离散数据
data = np.random.rand(100)
# 找到最近的点的索引值
nearest_idx = np.abs(x[:, None] - data).argmin(axis=1)
print(nearest_idx)
```
这里的logspace函数会生成从10的负1次方到10的1次方之间100个平均间隔的点。np.abs(x[:, None] - data)会计算每个点与离散数据的差值的绝对值,然后argmin函数会返回每个点与离散数据最近的点的索引值。
阅读全文