菜鸟笔记-Python函数-logspace

numpy.logspace 是 Python 的 NumPy 库中的一个函数,用于生成等比数列(即每个数与前一个数的比值都相等,其中每个元素都是前一个元素的固定倍数。)。在大多数情况下,等比数列用于表示在对数尺度上均匀分布的数据,这在处理一些科学或工程问题时非常有用。

函数的基本语法如下:

numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)

【=base**linspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)】

参数解释:

  • start:序列的起始值(以 base 为底的对数)。
  • stop:序列的结束值(以 base 为底的对数)。
  • num:要生成的样本数,默认为 50。
  • endpoint:如果为 True,stop 是最后一个样本。否则,不包括 stop。默认为 True。
  • base:对数的底数,默认为 10。
  • dtype:输出数组的类型。如果未给出,则从其他输入参数推断数据类型。
  • axis:在返回的数组中,样本沿着哪个轴放置。0 表示第一个轴(行),1 表示第二个轴(列)。默认为 0。

下面是一个简单的例子:

import numpy as np  
  
# 生成从 10^0 到 10^2(即 1 到 100)的等比数列,共有 10 个数  
arr = np.logspace(0, 2, 10)  
print(arr)

结果输出:

[ 1. 1.66810054 2.7825594 4.64158883 7.74263683

12.91549665 21.5443469 35.93813664 59.94842503 100. ]

例1:

np.logspace(0,100,10) 

结果输出:

复制代码
array([1.00000000e+000, 1.29154967e+011, 1.66810054e+022, 2.15443469e+033,
       2.78255940e+044, 3.59381366e+055, 4.64158883e+066, 5.99484250e+077,
       7.74263683e+088, 1.00000000e+100])

np.logspace(0,100,10)=10**np.linspace(0,100,10)

例2:

np.logspace(1,6,5,base=2)

结果输出:

复制代码
array([ 2.        ,  4.75682846, 11.3137085 , 26.90868529, 64.        ])

解:

np.logspace(1,6,5,base=2)=base(2)**linspace(1,6,5)=2**[1,2.25,3.5,4.75,6]=[ 2. , 4.75682846, 11.3137085 , 26.90868529, 64. ]

例3:

np.logspace(1,6,5,base=np.e)

结果输出:

复制代码
array([  2.71828183,   9.48773584,  33.11545196, 115.58428453,
       403.42879349])

解:

np.logspace(1,6,5,base=np.e)=base(e)**linspace(1,6,5)=e**[1,2.25,3.5,4.75,6]=[ 2.71828183, 9.48773584, 33.11545196, 115.58428453, 403.42879349]

例4:

np.logspace([0,1,2,3],[3,2,1,0],num=5)
复制代码
结果输出:
array([[   1.        ,   10.        ,  100.        , 1000.        ],
       [   5.62341325,   17.7827941 ,   56.23413252,  177.827941  ],
       [  31.6227766 ,   31.6227766 ,   31.6227766 ,   31.6227766 ],
       [ 177.827941  ,   56.23413252,   17.7827941 ,    5.62341325],
       [1000.        ,  100.        ,   10.        ,    1.        ]])

解:

该题base为默认值10,即np.logspace([0,1,2,3],[3,2,1,0],num=5)=10**np.linspace([0,1,2,3],[3,2,1,0],num=5)=10**([0,1,2,3],[0.75,1.25,1.75,2.25],[1.5,1.5,1.5,1.5],[2.25,1.75,1.25,0.75],[3,2,1,0])=

复制代码
[[   1.        ,   10.        ,  100.        , 1000.        ],
       [   5.62341325,   17.7827941 ,   56.23413252,  177.827941  ],
       [  31.6227766 ,   31.6227766 ,   31.6227766 ,   31.6227766 ],
       [ 177.827941  ,   56.23413252,   17.7827941 ,    5.62341325],
       [1000.        ,  100.        ,   10.        ,    1.        ]]
相关推荐
7yewh2 分钟前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux
Dontla4 分钟前
vscode怎么设置anaconda python解释器(anaconda解释器、vscode解释器)
ide·vscode·python
waicsdn_haha13 分钟前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
_WndProc15 分钟前
C++ 日志输出
开发语言·c++·算法
qq_4335545424 分钟前
C++ 面向对象编程:+号运算符重载,左移运算符重载
开发语言·c++
车轮滚滚__29 分钟前
uniapp对接unipush 1.0 ios/android
笔记
qq_5290252943 分钟前
Torch.gather
python·深度学习·机器学习
数据小爬虫@43 分钟前
如何高效利用Python爬虫按关键字搜索苏宁商品
开发语言·爬虫·python
ZJ_.1 小时前
WPSJS:让 WPS 办公与 JavaScript 完美联动
开发语言·前端·javascript·vscode·ecmascript·wps
Narutolxy1 小时前
深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223
开发语言·golang·gin