Numerical Differentiation

Performs single dimensional differentiation numerically.
ダウンロード: 3.2K
更新 2009/2/3

ライセンスの表示

This is a GUI which performs numerical differentiation of a function over a number of equaly spaced points. Also with it is a code that grants the coefficients used for numerical differentiation.

The pictures and example should be more than enough for understanding how to use the file.

Example:

npoints=3;
Order=1;
d=datnum(npoints,Order)
d=
-1.5 2 -0.5 % Forward
-0.5 -0 0.5 % Central
0.5 -2 1.5 % Backward

% The result is a matrix consisting of coefficients that can be
% used to numerically differentiate, like this:

x=1;
f=inline('cos(x)')
h=.1;

s = ( d(1,1)*f(x) + d(1,2)*f(x+h) + d(1,3)*f(x+2*h) )/h^Order
s =
-0.8444

s = ( d(2,1)*f(x-h) + d(2,2)*f(x) + d(2,3)*f(x+h) )/h^Order
s =
-0.84007

s = ( d(3,1)*f(x-2*h) + d(3,2)*f(x-h) + d(3,3)*f(x) )/h^Order
s =
-0.84413

% The true answer is s = -0.84147

The code uses the Symbolic Math Toolbox to obtain the true value (in order to calculate the error). If you don't have the Symbolic Math Toolbox then you won't enjoy this benefit (program still works though).

引用

Husam Aldahiyat (2024). Numerical Differentiation (https://www.mathworks.com/matlabcentral/fileexchange/22807-numerical-differentiation), MATLAB Central File Exchange. 取得済み .

MATLAB リリースの互換性
作成: R2007a
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersCalculus についてさらに検索
謝辞

ヒントを得たファイル: Adaptive Robust Numerical Differentiation

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
バージョン 公開済み リリース ノート
1.2.0.0

Edited description

1.1.0.0

Symbolic Math Toolbox is now an optional feature

1.0.0.0