2017-01-13 4 views
-3

数値微分方程式が何であり、関数があるときにそれをどのように計算できるかを知りたい。数値差別化で "h"とは何ですか?

私はこの式について話しています:

f'(x0) = (f(x0 + h) - f(x0))/h 
f'(x0) = (f(x0) - f(x0 - h))/h 
f'(x0) = (f(x0 + h) - f(x0 - h))/2*h 

私は本当に助けの任意の種類をいただければ幸いです!

+6

私はプログラミングに特有の問題ではなく、数学的な質問をしているので、この質問を議論の対象外としています。 –

+0

質問のプログラミング部分はどこですか? –

+1

okこれはクリアされます。 –

答えて

3

このような式において、は、通常、「非常に小さい数」であり、微積分のイプシロンに類似している。

例えば、afの誘導体を次のように定義される。hは、例えば、プログラムするとき0


に近づくように定義される方法

enter image description here

doing numerical gradient computationでは、通常、hを非常に小さいものに設定します。多くのプログラミング環境では、「ε」の数があります。それがないと、非常に小さな浮動小数点数を使用できます。通常8つのバイトの浮動小数点数を使用し

+0

hは常に同じ番号ですか? – zer0kai

+0

@ zer0kai:1つの与えられた方程式で、yes。しかし、方程式を渡って、それは "0に非常に近い"という抽象的な量です。 –

+0

例えば、私は関数cos(x)を持ち、x = 1で微分を計算したいと思います。式f '(x0)=(f(x0 + h)-f(x0))/ – zer0kai

1

hための賢明な値は、第一および第二の式と第3の中心差分商のため1e-5ため1e-8あります。これは、中位の値がxの場合に有効です。大きい場合は、xとなり、何らかの形でxの位取りを含まなければなりません。一般に

は、エラー順序pk番目階差分商のために、浮動小数点ノイズ及び数値誤差のバランスがhpow(2e-16, 1.0/(p+k))ために達成されます。

関連する問題