Python numpy linspace为正间隔返回负数

Python numpy linspace为正间隔返回负数,python,numpy,Python,Numpy,叫喊 我不明白在一个正的时间间隔内是否存在负数 有人能告诉我我错过了什么吗?(最终,我如何在像这样的长整数序列上获得线性间隔的数字。) 谢谢 如评论中所述,原因是 更具体地说,您要求输入介于1E3到1E6之间的数字,但int16支持范围[-32768,32767]中的值。当我们试图用int16来表示一个像40000这样的数字时,这个值被包装起来,我们得到的是40000-2**16=-25536。大的数字会一直“包装”,直到它们足够小,可以被表示出来 它是溢出的,因为您只使用16位整数。您需要增加

叫喊

我不明白在一个正的时间间隔内是否存在负数

有人能告诉我我错过了什么吗?(最终,我如何在像这样的长整数序列上获得线性间隔的数字。)


谢谢

如评论中所述,原因是


更具体地说,您要求输入介于1E3到1E6之间的数字,但
int16
支持范围
[-32768,32767]
中的值。当我们试图用
int16
来表示一个像
40000
这样的数字时,这个值被包装起来,我们得到的是
40000-2**16=-25536
。大的数字会一直“包装”,直到它们足够小,可以被表示出来

它是溢出的,因为您只使用16位整数。您需要增加到
np.int32
np.int64
多么愚蠢的错误。。。。谢谢
np.linspace(10**3, 10**6, num=5, dtype=np.int16)
array([  1000, -11394, -23788,  29354,  16960], dtype=int16)