Mam następujący kod:błąd Numpy: nieprawidłowa wartość napotkał u władzy
import numpy
def numpysum(n):
a = numpy.arange(n) ** 2
b = numpy.arange(n) ** 3
c = a + b
return c
size = 3000
c = numpysum(size)
Po uruchomieniu pojawia się błąd:
D:\Work\programming\python\test_1\src\test1_numpy.py:6: RuntimeWarning: invalid value encountered in power b = numpy.arange(n) ** 3
pamiętać, że poniższe funkcje numpyless działa prawidłowo:
def pythonsum(n):
a = list(range(n))
b = list(range(n))
c = []
for i in range(len(a)):
a[i] = i ** 2
b[i] = i ** 3
c.append(a[i] + b[i])
return c
Sądzę, że tak się dzieje, ponieważ próbuję podnieść dużą liczbę, by zasilić trzy. Co mogę zrobić, oprócz pracy z liczbami zmiennoprzecinkowymi?
Pracuję z Pythonem 3.2.
: Kod uruchamia fine.Maybe zrobiłeś czegoś innego, co powoduje błąd? – George
Czy będzie działać z 'size = 1000' w twoim systemie? Następnie jest to problem typu danych - rozważ ustawienie parametru 'dtype' w' arange() '. – krlmlr