ラグランジュ補間による差分法の2次精度微分
関数$ f $の数値微分$f'(x_1)$を行う方法のメモ.
$$ (x_0,f_0),(x_1,f_1),(x_2,f_2)$$
が分かるとする($x_0<x_1<x_2$, $ f_0,f_1,f_2$は定数)
上記3点を通る2次関数は
$$g= f_0\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}+f_1\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}+f_2\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}$$
である.代入すると自明である.
$$\Delta x_0=x_1-x_0, \Delta x_1=x_2-x_1$$
とおく.
$g$を微分して$x=x_1$を代入すると
$$ f'(x_1)\approx g'(x_1)$$であり,
$$g'(x_1)=-f_0\frac{\Delta x_1}{\Delta x_0(\Delta x_0+\Delta x_1)}+f_1\frac{(\Delta x_1-\Delta x_0)}{\Delta x_0\Delta x_1} +f_2\frac{\Delta x_0}{\Delta x_1(\Delta x_0+\Delta x_1)}$$
\begin{equation}=\cfrac{f_2(\Delta x_0)^2-f_0(\Delta x_1)^2+f_1((\Delta x_1)^2-(\Delta x_0)^2)}{\Delta x_0 \Delta x_1(\Delta x_0+\Delta x_1)}\end{equation}
となる これが2次精度の公式である.
次に2次精度であることを確認する.
テイラー展開をして
$$f_2=f_1+\Delta x_1(f'(x_1))+\frac{(\Delta x_1)^2}{2!}f''(x_1)+\mathcal{O}((\Delta x_1)^3)$$
$$f_0=f_1-\Delta x_0(f'(x_1))+\frac{(\Delta x_0)^2}{2!}f''(x_1)+\mathcal{O}((\Delta x_0)^3)$$
これらを(1)に代入する
(1)の分子は
$$ f_1(\Delta x_0)^2+\Delta x_1(\Delta x_0)^2(f'(x_1))+\frac{(\Delta x_1)^2 (\Delta x_0)^2}{2!}f''(x_1)+\mathcal{O}((\Delta x_1)^3(\Delta x_0)^2)-f_1(\Delta x_1)^2+\Delta x_0(\Delta x_1)^2(f'(x_1))-\frac{(\Delta x_0)^2(\Delta x_1)^2}{2!}f''(x_1)-\mathcal{O}((\Delta x_0)^3(\Delta x_1)^2)+f_1((\Delta x_1)^2-(\Delta x_0)^2)
$$
$$=\Delta x_0\Delta x_1(\Delta x_0+\Delta x_1)(f'(x_1))+\mathcal{O}\left((\Delta x_0)^2(\Delta x_1)^2(\Delta x_1+\Delta x_0)\right)$$
よって
$$(1)=f'(x_1)+\mathcal{O}\left(\Delta x_0\Delta x_1\right)$$
なので2次精度を満たす!
登録:
コメントの投稿 (Atom)
AtCoder Beginner Contest 044 C - 高橋君とカード / Tak and Cards
https://beta.atcoder.jp/contests/abc044/tasks/arc060_a すべてのカードからaを引く 平均がa⇔和がa になる mapを使って各カードが何枚ずつ有るか記録する。 カードがn種類あるとすると、 0<=i...
-
乱流を扱うときに使うモデルです. 速度を平均と変動成分に分けます. レイノルズ分解 $$ u_i=\bar{u}_i+u'_i $$ 流れが定常→時間平均 一様な流れ→空間平均 一般→アンサンブル平均 アンサンブル平均 $$\bar{u}=\lim_{N...
-
(一般の)圧縮性流体の運動方程式は、テンソルが出てきて分かりにくいので、レイノルズの輸送定理を用いた具体的な導出をメモします。 レイノルズの輸送定理 $$ \int_{B_t}f({\bm{x}},t) dv $$ 空間座標でtの変化とともに積分領域が変化する時に上の物質...
-
|Ax-b|^2を最小にするxは、偏微分で正規方程式をもとめると、 A^tAx=A^tb の解となる AをQR分解すると A^tAx=R^tQ^tQRx=R^tRx A^tb=R^tQ^tb となる (R^t)^-1を両辺にかけて Rx=Q^tbを求めれば良い ...
0 件のコメント:
コメントを投稿