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)