菜鸟笔记-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.        ]]
相关推荐
炼丹师小米9 分钟前
Ubuntu24.04.1系统下VideoMamba环境配置
python·环境配置·videomamba
GFCGUO16 分钟前
ubuntu18.04运行OpenPCDet出现的问题
linux·python·学习·ubuntu·conda·pip
快乐就好ya41 分钟前
Java多线程
java·开发语言
CS_GaoMing1 小时前
Centos7 JDK 多版本管理与 Maven 构建问题和注意!
java·开发语言·maven·centos7·java多版本
985小水博一枚呀2 小时前
【深度学习基础模型】神经图灵机(Neural Turing Machines, NTM)详细理解并附实现代码。
人工智能·python·rnn·深度学习·lstm·ntm
2401_858120532 小时前
Spring Boot框架下的大学生就业招聘平台
java·开发语言
转调2 小时前
每日一练:地下城游戏
开发语言·c++·算法·leetcode
Java探秘者3 小时前
Maven下载、安装与环境配置详解:从零开始搭建高效Java开发环境
java·开发语言·数据库·spring boot·spring cloud·maven·idea
2303_812044463 小时前
Bean,看到P188没看了与maven
java·开发语言
秋夫人3 小时前
idea 同一个项目不同模块如何设置不同的jdk版本
java·开发语言·intellij-idea