mem*_*ecs 2 python sympy pde differentiation differential-equations
是否有办法在同情中将未知函数的导数离散化?我想要实现以下目标:
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
Run Code Online (Sandbox Code Playgroud)
阅读完这个问题后,我在Sympy中实现了这一功能,目前可用于:
我的分支:https://github.com/bjodah/sympy/tree/finite_difference
sympy master(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
Run Code Online (Sandbox Code Playgroud)