python知识:numpy.geomspace()
1)np.geomspace()函數(shù)
????????與linspaces函數(shù)類同,linspaces是產(chǎn)生一個序列,該序列等差;np.geomspace是產(chǎn)生一個序列,對該序列取對數(shù)后,構(gòu)成等差數(shù)列。
numpy.geomspace(start, stop, num=50, endpoint=True, dtype=None, axis=0)[source]
返回?cái)?shù)字以對數(shù)刻度(幾何級數(shù))均勻分布。
2)參數(shù)解釋
| 參數(shù) : | start?:array_like 序列的起始值。 stop?:array_like 序列的最終值,除非端點(diǎn)為False。 在這種情況下, num + 1值在對數(shù)空間的間隔內(nèi)間隔開, 返回除最后一個(長度為num的序列)外的所有值。 num?:integer, 可選 要生成的樣本數(shù)。 默認(rèn)值為50。 endpoint?:boolean, 可選 如果為true,則停止是最后一個樣本。 ?否則,不包括在內(nèi)。 默認(rèn)值為True。 dtype?:dtype 輸出數(shù)組的類型。 如果未給出dtype, 則從其他輸入?yún)?shù)推斷數(shù)據(jù)類型。 axis?:int, 可選 結(jié)果中的軸用于存儲樣本。 ?僅當(dāng)start或stop類似于數(shù)組時才相關(guān)。 ?默認(rèn)情況下為(0),樣本將沿著在開始處插入的新軸。 ?使用-1來獲得軸的末端。 1.16.0版中的新功能。 |
| 返回值 : | samples?:ndarray num個samples,以對數(shù)刻度等距分布。 |
3 例子
>>> np.geomspace(1, 1000, num=4) array([ 1., 10., 100., 1000.]) >>> np.geomspace(1, 1000, num=3, endpoint=False) array([ 1., 10., 100.]) >>> np.geomspace(1, 1000, num=4, endpoint=False) array([ 1. , 5.62341325, 31.6227766 , 177.827941 ]) >>> np.geomspace(1, 256, num=9) array([ 1., 2., 4., 8., 16., 32., 64., 128., 256.])請注意,以上可能不會產(chǎn)生確切的整數(shù):
>>> np.geomspace(1, 256, num=9, dtype=int) array([ 1, 2, 4, 7, 16, 32, 63, 127, 256]) >>> np.around(np.geomspace(1, 256, num=9)).astype(int) array([ 1, 2, 4, 8, 16, 32, 64, 128, 256])僅作參考:遞減和復(fù)雜的輸入:
>>> np.geomspace(1000, 1, num=4) array([1000., 100., 10., 1.]) >>> np.geomspace(-1000, -1, num=4) array([-1000., -100., -10., -1.]) >>> np.geomspace(1j, 1000j, num=4) # Straight line array([0. +1.j, 0. +10.j, 0. +100.j, 0.+1000.j]) >>> np.geomspace(-1+0j, 1+0j, num=5) # Circle array([-1.00000000e+00+1.22464680e-16j, -7.07106781e-01+7.07106781e-01j,6.12323400e-17+1.00000000e+00j, 7.07106781e-01+7.07106781e-01j,1.00000000e+00+0.00000000e+00j])4 圖形化顯示
注意函數(shù)
- np.semilogx()的意義
- plt.axis([0.5, 2000, 0, 3])
- plt.grid(True, color='0.7', linestyle='-', which='both', axis='both')
參考代碼
import matplotlib.pyplot as plt import numpy as np N = 10 y = np.zeros(N) plt.semilogx(np.geomspace(1, 1000, N, endpoint=True), y + 1, 'o') plt.semilogx(np.geomspace(1, 1000, N, endpoint=False), y + 2, 'o')plt.axis([0.5, 2000, 0, 3])plt.grid(True, color='0.7', linestyle='-', which='both', axis='both') plt.show() 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的python知识:numpy.geomspace()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基础理论:集合的Hausdorff距离
- 下一篇: python知识:稀疏矩阵转换成密度矩阵