(注意:这是一个社区 Wiki。)
假设我有一组点xi = { x0 , x1 , x2 ,... xn } 和相应的函数值fi = f(xi) = { f0 , f1 , f2 ,..., fn },其中f ( x ) 通常是一个未知函数。(在某些情况下,我们可能会提前知道f ( x ),但我们通常希望这样做,因为我们通常不提前知道f ( x )。)什么是近似f (x ) 在每个点xi ? 也就是说,我如何估计每个点xi的dfi == d/d x fi == d f ( xi )/d x的值?
不幸的是,MATLAB 没有很好的通用数值微分例程。造成这种情况的部分原因可能是因为选择一个好的例程可能很困难!
那么有哪些方法呢?存在哪些套路?我们如何为特定问题选择一个好的例程?
在选择如何在 MATLAB 中进行微分时有几个注意事项:
- 你有一个符号函数还是一组点?
- 你的网格是均匀的还是不均匀的?
- 您的域是周期性的吗?你能假设周期性边界条件吗?
- 您在寻找什么级别的准确度?您是否需要在给定的公差范围内计算导数?
- 在定义函数的相同点上评估导数对您来说是否重要?
- 您是否需要计算多阶导数?
最好的方法是什么?