菜鸟笔记-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.        ]]
相关推荐
Johny_Zhao6 分钟前
OpenStack 全套搭建部署指南(基于 Kolla-Ansible)
linux·python·信息安全·云计算·openstack·shell·yum源·系统运维
276695829210 分钟前
海关 瑞数 后缀分析 rs
java·python·rs·瑞数·海关·瑞数后缀·后缀生成
小臭希22 分钟前
Java——琐碎知识点一
java·开发语言
学c真好玩33 分钟前
Django创建的应用目录详细解释以及如何操作数据库自动创建表
后端·python·django
沐暖沐1 小时前
Django(快速上手版)
python·django
槑槑紫1 小时前
pytorch(gpu版本安装)
人工智能·pytorch·python
知识中的海王1 小时前
猿人学web端爬虫攻防大赛赛题第15题——备周则意怠-常见则不疑
爬虫·python
淋一遍下雨天1 小时前
Spark Streaming核心编程总结(四)
java·开发语言·数据库
小白学大数据1 小时前
如何避免爬虫因Cookie过期导致登录失效
开发语言·爬虫·python·scrapy
测试老哥2 小时前
接口测试和功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·测试用例·接口测试