Ich habe eine Frage zur Python-Indizierung: Ich versuche, die zentrale Differenzierung zu verwenden, um 'dU' von einem Array 'U' zu schätzen und tue dies, indem ich 'dU' mit einem Array von 'initialisiere. nan 'der Länge (U) und dann eine zentrale Differenzierung anwenden, so dass dU (i) = (U (i + 1) - U (i-1))/2 zu den zentralen Elementen. Das ausgegebene 'dU'-Array gibt mir derzeit zwei' nan'-Einträge am Ende des Vektors. Kann jemand erklären, warum das vorletzte Element nicht aktualisiert wird?Python-Indizierung für zentrale Differenzierung
import numpy as np
U= np.array([1,2,3,4,5,6])
dU = np.zeros(len(U))
dU[:] = np.NAN
dU[1:-2] = (U[2:-1]-U[0:-3])/2
>>> dU
array([ nan, 1., 1., 1., nan, nan])
Doesn verwenden Gibt der zweite Wert eines Bereichs an, dass das erste Element * nicht * enthalten ist? So schließt 'dU [1: -2] nicht nur' dU [-1] 'sondern auch' dU [-2] 'aus. –