使用 numpy 可以方便地生成等差数列,等比数列

1、等差数列

(1)numpy.arange([start, ]stop, [step, ]dtype=None, *, like=None)

返回给定区间内均匀分布的值,默认从0开始,步长为1,在区间[start, stop)中生成;若为整数,则对应python中的range;若为小数步长,使用 numpy.linspace 更有保障;

start:起始值,序列包含起始值;

stop:终止值,不包含此值;

step:步长,即两值之间的差值;

dtype:默认None,输出结果的数据类型,若未指定则从参数中推断;

like:默认None,以允许创建非numpy数组的序列(此参数用于开发测试,实际可忽略)

(2)numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

返回指定区间内的等距数值,即在[start,stop]区间内计算的等距采样数,可以选择排除区间的端点值

start:序列起始值;

stop:序列结束值;假设 endpoint 为 true,则生成的序列包含结束值,再进行等分;若 endpoint 为 false,则不包含结束值,直接等分;

num:默认50,生成数字的个数,必须为非负值;

endpoint:默认True,此时 stop 为结束值;

retstep:默认False,为 True 时返回元组 (samples, step),其中 step 为样本间的间隔;

dtype:默认None,输出序列的类型,若未指定,则从 start 和 stop 中推断,自动推断为 float,而绝不会是 int;

axis:默认0,指定存储结果的轴;

2、等比数列

(1)numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)

返回在对数刻度上均匀分布的数字;在线性空间中,序列从base**start开始(base to the power of start),到base**stop结束;

start:base**start是序列起始值;

stop:当 endpoint为True时,base**stop为结束值;否则不包含base**stop;

num:默认50,生成数字个数;

endpoint:默认True,此时base**stop为结束值;

base:默认10.0,底数;

dtype:默认None,输出序列的类型,若未指定,则从 start 和 stop 中推断,自动推断为 float,而绝不会是 int;

axis:默认0,指定存储结果的轴;

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐