diff_order プログラム仕様
- cms.diff_order.dfdx(x)[ソース]
func(x) の解析的な導関数を定義します。
この関数は、exp(x) の導関数である exp(x) を返します。
- パラメータ:
x -- float - 導関数の評価点。
- 戻り値:
float - exp(x) の導関数の計算結果。
- cms.diff_order.diff2backward(func, x, h)[ソース]
2点後方差分法を用いて関数の数値を微分します。
この方法は、f'(x) = (f(x) - f(x-h)) / h という公式に基づいています。
- パラメータ:
func -- callable - 微分対象の関数。
x -- float - 微分を評価する点。
h -- float - 微小なステップサイズ。
- 戻り値:
float - x における関数の数値微分値。
- cms.diff_order.diff2forward(func, x, h)[ソース]
2点前方差分法を用いて関数の数値を微分します。
この方法は、f'(x) = (f(x+h) - f(x)) / h という公式に基づいています。
- パラメータ:
func -- callable - 微分対象の関数。
x -- float - 微分を評価する点。
h -- float - 微小なステップサイズ。
- 戻り値:
float - x における関数の数値微分値。
- cms.diff_order.diff3(func, x, h)[ソース]
3点中心差分法を用いて関数の数値を微分します。
この方法は、f'(x) = (f(x+h) - f(x-h)) / (2h) という公式に基づいています。 2点差分法よりも高精度な近似を提供します。
- パラメータ:
func -- callable - 微分対象の関数。
x -- float - 微分を評価する点。
h -- float - 微小なステップサイズ。
- 戻り値:
float - x における関数の数値微分値。
- cms.diff_order.diff5(func, x, h)[ソース]
5点中心差分法を用いて関数の数値を微分します。
この方法は、より広範囲の点を使用することで、3点中心差分法よりもさらに高精度な近似を提供します。
- パラメータ:
func -- callable - 微分対象の関数。
x -- float - 微分を評価する点。
h -- float - 微小なステップサイズ。
- 戻り値:
float - x における関数の数値微分値。
- cms.diff_order.diff7(func, x, h)[ソース]
7点中心差分法を用いて関数の数値を微分します。
この方法は、さらに多くの点を使用することで、非常に高精度な近似を提供します。
- パラメータ:
func -- callable - 微分対象の関数。
x -- float - 微分を評価する点。
h -- float - 微小なステップサイズ。
- 戻り値:
float - x における関数の数値微分値。
- cms.diff_order.func(x)[ソース]
微分対象となる関数を定義します。
この関数は、指数関数 exp(x) を返します。
- パラメータ:
x -- float - 関数の評価点。
- 戻り値:
float - exp(x) の計算結果。
- cms.diff_order.main(x0, h, nh)[ソース]
異なる数値微分近似の誤差を計算し、結果をCSVに書き出し、グラフをプロットします。
指定された関数 func の x0 における導関数を、様々なステップサイズ h と異なる差分近似法で計算し、 解析解との誤差を比較します。結果はコンソール、CSVファイル、およびMatplotlibグラフに出力されます。
- パラメータ:
x0 -- float - 微分を評価する中心点。
h -- float - 初期ステップサイズ。この値から kh で減少させながら計算を繰り返します。
nh -- int - ステップサイズを変化させる回数。
- 戻り値:
None