как использовать numpy.gradient для работы с левыми и правыми различиями? - PullRequest
2 голосов
/ 09 сентября 2011

как использовать numpy.gradient для работы слева и справа.Он работает по умолчанию для центральной разницы.

Большое спасибо.

1 Ответ

2 голосов
/ 09 сентября 2011

Заменить:

    slice1[axis] = slice(1, -1)
    slice2[axis] = slice(2, None)
    slice3[axis] = slice(None, -2)
    # 1D equivalent -- out[1:-1] = (f[2:] - f[:-2])/2.0

На:

    slice1[axis] = slice(1, -1)
    slice2[axis] = slice(1, -1)
    slice3[axis] = slice(None, -2)
    # 1D equivalent -- out[1:-1] = (f[1:-1] - f[:-2])

для левых различий и на:

    slice1[axis] = slice(1, -1)
    slice2[axis] = slice(2, None)
    slice3[axis] = slice(1, -1)
    # 1D equivalent -- out[1:-1] = (f[2:] - f[1:-1])

для правых в функции numpy.gradient(),И уберите /2.0 в утверждении:

    out[slice1] = (f[slice2] - f[slice3])/2.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...