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に書き出し、グラフをプロットします。

指定された関数 funcx0 における導関数を、様々なステップサイズ h と異なる差分近似法で計算し、 解析解との誤差を比較します。結果はコンソール、CSVファイル、およびMatplotlibグラフに出力されます。

パラメータ:
  • x0 -- float - 微分を評価する中心点。

  • h -- float - 初期ステップサイズ。この値から kh で減少させながら計算を繰り返します。

  • nh -- int - ステップサイズを変化させる回数。

戻り値:

None