我是靠谱客的博主 现代芹菜,最近开发中收集的这篇文章主要介绍numpy.linspace 等差数列numpy.linspace,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

linspace的功能最初是从MATLAB中学来的,用来创建等差数列。

 

numpy.linspace

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)[source]

Return evenly spaced numbers over a specified interval.

Returns num evenly spaced samples, calculated over the interval [startstop].

The endpoint of the interval can optionally be excluded.

Parameters:

start : scalar

The starting value of the sequence.

stop : scalar

The end value of the sequence, unless endpoint is set to False. In that case, the sequence consists of all but the last of num + 1 evenly spaced samples, so that stopis excluded. Note that the step size changes when endpoint is False.

num : int, optional

Number of samples to generate. Default is 50. Must be non-negative.

endpoint : bool, optional

If True, stop is the last sample. Otherwise, it is not included. Default is True.

retstep : bool, optional

If True, return (samplesstep), 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, optional

Only returned if retstep is True

Size of spacing between samples.

例:
1,print(np.linspace(1,100,20, dtype=int))

 

输出:

[
1
6
11
16
21
27
32
37
42
47
53
58
63
68
73
79
84
89
94 100]
 
可以发现,上面的差有的是5,有的是6,和别的不一样
原因在于1-100分成20个的话,无法等分。 
要想正好等分的话, 应该满足这样:
stop-start/num -1 为整数
上面的例子如果这样改,print(np.linspace(0,100,21, dtype=int, endpoint=True))
输出变成
[ 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100]

或者print(np.linspace(1,101,21, dtype=int, endpoint=True))

输出变成
[ 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101]
 
2,print(np.linspace(1,100,20, dtype=int, endpoint=False))
 
[ 1 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95]
 
endpoint=False,表示不包括stop的100,就是1-100之间的数,成分20份,但是最后一个数又要小于100

 

 

 

最后

以上就是现代芹菜为你收集整理的numpy.linspace 等差数列numpy.linspace的全部内容,希望文章能够帮你解决numpy.linspace 等差数列numpy.linspace所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部