Как мне предотвратить получение больших значений при вычислении знаменателя при использовании linspace?

#numpy #python-fractions

#numpy #python-фракции

Вопрос:

 x = np.linspace(-1,1,10)
for k in x:
    print (Fraction(k).denominator)
 

Я пытаюсь получить знаменатель для этих значений в этом диапазоне, но вместо этого я получаю это

 1
9007199254740992
4503599627370496
9007199254740992
2251799813685248
2251799813685248
4503599627370496
562949953421312
1125899906842624
1
 

Комментарии:

1. На самом деле это фактические знаменатели фактических чисел в вашем массиве, потому что числа с плавающей запятой могут представлять только рациональные числа со степенью двойки. знаменатели. Если вы делаете что-то, где понятие знаменателя имеет смысл, вам, вероятно, не следует использовать математику с плавающей запятой в первую очередь — вы должны использовать целочисленную или рациональную математику полностью.

2. включая конечные точки, вам, вероятно, нужно 11 элементов.. Loonk сам по x себе.

3. Откуда вы импортируете Fraction ?