我有一个关于python索引的问题:我试图用中央差分来估计数组''U'的'dU',并且我通过用一个数组''来初始化'dU' (U),然后应用中心差分,使得dU(i)=(U(i + 1) - U(i-1))/ 2到中心元素。输出'dU'数组目前在向量的末尾给了我两个'nan'条目。任何人都可以解释为什么倒数第二个元素没有被更新?Python中央差异索引
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])
隐而不宣'范围的第二个值表示第一个元素*不包含?所以'dU [1:-2]'不仅排除'dU [-1]',而且排除'dU [-2]'。 –