菜鸟笔记-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.        ]]
相关推荐
用户27784491049936 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
JavaEdge在掘金8 小时前
ssl.SSLCertVerificationError报错解决方案
python
我不会编程5559 小时前
Python Cookbook-5.1 对字典排序
开发语言·数据结构·python
李少兄9 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
老歌老听老掉牙9 小时前
平面旋转与交线投影夹角计算
python·线性代数·平面·sympy
满怀10159 小时前
Python入门(7):模块
python
无名之逆9 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
你觉得2059 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
似水এ᭄往昔9 小时前
【C语言】文件操作
c语言·开发语言
啊喜拔牙10 小时前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala