(注: これはコミュニティ 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 で微分する方法を選択する際には、いくつかの考慮事項があります。
- シンボリック関数または一連の点がありますか?
- グリッドの間隔は均等ですか、それとも不均等ですか?
- ドメインは定期的ですか? 周期境界条件を仮定できますか?
- どのレベルの精度を求めていますか? 与えられた許容範囲内で導関数を計算する必要がありますか?
- 関数が定義されているのと同じ点で導関数が評価されることは重要ですか?
- デリバティブの複数のオーダーを計算する必要がありますか?
続行するための最良の方法は何ですか?