这可以通过执行以下操作来实现:
^{4}$
输出[ 2. 2.99069756 4.47213595 6.68740305 10. ]
[ 2. 2.99069756 4.47213595 6.68740305 10. ]
[ 2. 2.99069756 4.47213595 6.68740305 10. ]
[ 2. 2.99069756 4.47213595 6.68740305 10. ]
编辑:
注:给出的方程是一般指数方程,任何形式的y = ab^(kx + c)都可以改写为y = (ab^c)(b^k)^x = AB^x。在
注意,这不包括非指数方程y = C + Ab^x(见注释)。如果你想用一个变量基来使用这个版本,那么这个函数就可以做到了def varlogspace(start, stop, num, base, **kwargs):
n = num - 1
c = (start - stop) / (1 - base**n)
a = start - c
def f(x):
return a + (c * base**x)
return np.fromfunction(f, (num,), **kwargs)
for b in range(2, 6):
print(varlogspace(2, 5, 5, base=b))
输出(请参见增加base会增加曲线的曲率)[2. 2.2 2.6 3.4 5. ]
[2. 2.075 2.3 2.975 5. ]
[2. 2.03529412 2.17647059 2.74117647 5. ]
[2. 2.01923077 2.11538462 2.59615385 5. ]