zoukankan      html  css  js  c++  java
  • numpy.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.

    See also

    arange
    Similar to linspace, but uses a step size (instead of the number of samples).
    arange使用的是步长,而不是样本的数量 
    logspace
    Samples uniformly distributed in log space.
     
    当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

    >>>
    >>> np.linspace(2.0, 3.0, num=5)
        array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ])
    >>> np.linspace(2.0, 3.0, num=5, endpoint=False)
        array([ 2. ,  2.2,  2.4,  2.6,  2.8])
    >>> np.linspace(2.0, 3.0, num=5, retstep=True)
        (array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ]), 0.25)
    

    Graphical illustration:

    >>>
    >>> import matplotlib.pyplot as plt
    >>> N = 8
    >>> y = np.zeros(N)
    >>> x1 = np.linspace(0, 10, N, endpoint=True)
    >>> x2 = np.linspace(0, 10, N, endpoint=False)
    >>> plt.plot(x1, y, 'o')
    [<matplotlib.lines.Line2D object at 0x...>]
    >>> plt.plot(x2, y + 0.5, 'o')
    [<matplotlib.lines.Line2D object at 0x...>]
    >>> plt.ylim([-0.5, 1])
    (-0.5, 1)
    >>> plt.show()
    

    ../../_images/numpy-linspace-1.png

  • 相关阅读:
    Android Media Playback 中的MediaPlayer的用法及注意事项(二)
    Android Media Playback 中的MediaPlayer的用法及注意事项(一)
    34. Search for a Range
    33. Search in Rotated Sorted Array
    32. Longest Valid Parentheses
    31. Next Permutation下一个排列
    30. Substring with Concatenation of All Words找出串联所有词的子串
    29. Divide Two Integers
    28. Implement strStr()子串匹配
    27. Remove Element
  • 原文地址:https://www.cnblogs.com/antflow/p/7220798.html
Copyright © 2011-2022 走看看