Python numpy.geomspace()
numpy.geomspace()是用来返回在对数尺度上均匀间隔的数字(一个几何级数)。
这类似于numpy.logspace(),但直接指定端点。每个输出样本都是前一个样本的恒定倍数。
语法 : numpy.geomspace(start, stop, num=50, endpoint=True, dtype=None)
参数 :
start :[标量] 序列的起始值。
stop :[标量] 序列的最终值,除非endpoint是False。在这种情况下,num + 1的值在对数空间的间隔内,其中除了最后一个(长度为num的序列),其他的都被返回。
num :[整数,可选] 要生成的样本数。默认为50。
endpoint :[boolean, optional] 如果为真,停止是最后一个样本。否则,它不包括在内。默认为真。
dtype :[dtype] 输出数组的类型。如果没有给出dtype,则从其他输入参数中推断出数据类型。
返回 :
samples:[ndarray] num samples,在一个对数尺度上相等间隔。
**代码 #1 : **
# Python3 Program demonstrate
# numpy.geomspace() function
import numpy as geek
print("B\n", geek.geomspace(2.0, 3.0, num = 5), "\n")
# To evaluate sin() in long range
point = geek.geomspace(1, 2, 10)
print("A\n", geek.sin(point))
输出 :
B
[ 2. 2.21336384 2.44948974 2.71080601 3. ]
A
[ 0.84147098 0.88198596 0.91939085 0.95206619 0.9780296 0.9948976
0.99986214 0.98969411 0.96079161 0.90929743]
代码#2:numpy.geomspace()的图形表示法
# Graphical Representation of numpy.geomspace()
import numpy as geek
import pylab as p
% matplotlib inline
# Start = 1
# End = 3
# Samples to generate = 10
x1 = geek.geomspace(1, 3, 10, endpoint = False)
y1 = geek.ones(10)
p.plot(x1, y1, '+')
输出 :