2

sympy で未知の関数の導関数を離散化する方法はありますか? 私は次のことを達成しようとしています:

from sympy import *

>>> f = Function('f')
>>> x = Symbol('x')

>>> dfdx = Derivative(f(x),x).somemethod()
>>> print dfdx
    (f(x+1) - f(x-1)) / 2
>>> eq = lambdify((f,x),dfdx)
>>> w = np.array([1,5,7,9])
>>> print eq(w,1)
    -3
4

1 に答える 1

6

この質問を読んだ後、私はこの機能を Sympy に実装しました。現在、次の場所で利用できます。

私のブランチ: https://github.com/bjodah/sympy/tree/finite_difference

sympy マスター ( https://github.com/sympy/sympy )、および 0.7.6 で利用可能になります

次に例を示します。

>>> from sympy import symbols, Function, as_finite_diff
>>> x, h = symbols('x h')
>>> f = Function('f')
>>> print(as_finite_diff(f(x).diff(x), h))
-f(-h/2 + x)/h + f(h/2 + x)/h
于 2014-04-07T15:31:43.983 に答える