numpy.gradient
で配列を微分するとき,配列の境界部分(始端終端)の値だけ目的の正しい微分値が出ないことがあった.
すぐに解決したのでメモです.
境界部分での微分はedge_order
というオプションで精度を選べる.
numpy.gradient — NumPy v1.16 Manual
何も指定していない場合ではedge_order=1
になっていて,境界部分の微分は1次の前方/後方差分を計算する.
オプションでedge_order=2
を明記すると,境界部分の微分は2次の前方/後方差分を計算する.