Python-numpy-Schleife index out of bounds error
a1 = np.random.random_sample(10)
a2 = np.random.random_sample(5)
a3 = np.zeros([10])
for i in range(0,9):
a3[i] = ((a2[i]+a2[i+1])/2.) * ((a1[i+1]-a1[i])/2.) * (a1[i]*a2[i])
print(i, a3[i])
Ich habe versucht zu laufen, dieses einfache Skript und ich bekomme die Fehlermeldung "IndexError: index out of bounds"
...
Bitte jede Idee um diesen Fehler zu vermeiden? Ich verstehe, dass der Fehler durch die Anzahl 5
, aber ich kann nicht ändern, dass als a2
array geladen aus einer txt (a2= np.loadtxt('data.txt',unpack=True, usecols=[1])
denen seine Länge ist 5
Bitte keine Ahnung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt nur 5 Elemente in
a2
weil:aber in der for-Schleife ausgeführt wird, für i > 5 bis 8
weil Sie Zugang
a2
alsa2[i+1]
auch. Soi
kann bei den meisten3
versuchen mitrange(0,4)
BEARBEITEN:
Füllen fünf extra-1s zu tun, wie:
a2
Größe mit0
oder1
obwohl ich nicht weiß, was ist dein algoextend()
Lesen aktualisiert Antwort