我知道如果我有均匀分布的点,我可以使用.
但是如果我的网格点间隔不均匀,我假设我可以通过以下方式获得有限差分公式:
, 在哪里和是后向和前向差分公式。如果我定义,那么我想我会得到:
.
但是,我对这个公式有些怀疑。特别是,术语可能是错的。对此的任何反馈将不胜感激:)
我知道如果我有均匀分布的点,我可以使用.
但是如果我的网格点间隔不均匀,我假设我可以通过以下方式获得有限差分公式:
, 在哪里和是后向和前向差分公式。如果我定义,那么我想我会得到:
.
但是,我对这个公式有些怀疑。特别是,术语可能是错的。对此的任何反馈将不胜感激:)
由于梯度的有限差分近似是
Bengt Fornberg 的这篇论文Generation of Finite Difference Formulas on Arbitrarily Spaced Grids 为...提供了伪代码......
如果将其打包成一个循环,则可以在任意点集上创建任意度数的微分矩阵。如果你真的需要它,我有一个 Matlab 实现,它可以创建所述矩阵,我可以根据要求提供。
更新
Alexander刚刚指出fdcoeffF(k,xbar,x)
,Fornberg 算法的一种实现,它计算模板的权重,用于在点的一组数据上的点上的k
th 导数。xbar
x