1. 程式人生 > >【python】numpy庫linspace相同間隔取樣 詳解

【python】numpy庫linspace相同間隔取樣 詳解

linspace可以用來實現相同間隔的取樣;
numpy.linspace(start,stop,num=50,endpoint=True,retstep=False, dtype=None)
返回num均勻分佈的樣本,在[start, stop]。

  • Parameters(引數):

    start : scalar(標量) The starting value of the sequence(序列的起始點).
    stop : scalar 序列的結束點,除非endpoint被設定為False,在這種情況下, the sequence consists of all but the last of num + 1 evenly spaced samples(該序列包括所有除了最後的num+1上均勻分佈的樣本(感覺這樣翻譯有點坑)), 

    英文美文以致於stop被排除.當endpoint is False的時候注意步長的大小(下面有例子).
    num : int, optional(可選), 生成的樣本數,預設是50。必須是非負。
    endpoint : bool, optional, 如果是真,則一定包括stop,如果為False,一定不會有stop
    retstep : bool, optional If True, return (samples, step), where step is the spacing between
    samples.(看例子)
    dtype : dtype, optional The type of the output array. If dtype is not given, infer the data type from the other input arguments(推斷這個輸入用例從其他的輸入中). New in version 1.9.0.

  • Returns:

    samples : ndarray
    There are num equally spaced samples in the closed
    interval [start, stop] or the half-open
    interval [start, stop) (depending on whether endpoint is True or False).
    step : float(只有當retstep設定為真的時候才會存在)
    Only returned if retstep is True
    Size of spacing between samples.

當endpoint被設定為False的時候

import numpy as np
np.linspace(1, 10, 10)
array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
np.linspace(1, 10, 10, endpoint=False)
array([ 1. , 1.9, 2.8, 3.7, 4.6, 5.5, 6.4, 7.3, 8.2, 9.1])
In [4]: np.linspace(1, 10, 10, endpoint=False, retstep=True)
Out[4]: (array([ 1. , 1.9, 2.8, 3.7, 4.6, 5.5, 6.4, 7.3, 8.2, 9.1]), 0.9)

官網的例子Examples

Graphical illustration:

這裡寫圖片描述