バックナンバーはこちら
https://www.simulationroom999.com/blog/model-based-of-minimum-backnumber/
はじめに
前回はテイラー展開第2項までを使用した総和法と差分法の証明をした。
今回はさらに精度を上げるために第3項までを使用したパターンを検討する。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
総和法に対して1項増やして積分精度を上げる
さてと、
テイラー展開第3項まで使用するとどのような式が完成するかって話かな。
うん。
まず、第3項までの式はこうなる。
$$f(t)=f(t_0+Δt)=f(t_0 )+f(t_0 ) \frac{d}{dt}Δ+\frac{1}{2} f(t_0)\frac{d^2}{dt^2 } Δt^2$$
前々回に出てきたね。
今回も定性積分の定義である、\(\int f(t)dt-\int f(t_0)dt\)に対して解きたいので、
両辺を積分する。
$$\int f(t)=f(t_0+Δt)=\int( f(t_0 )+f(t_0 ) \frac{d}{dt}Δ+\frac{1}{2} f(t_0)\frac{d^2}{dt^2 } Δt^2 )$$
$$=f(t_0+Δt)=\int( f(t_0 )+f(t_0 ) \frac{d}{dt}Δ+\frac{1}{2} f(t_0)\frac{d^2}{dt^2 } Δt^2 )$$
$$=\int f(t_o)dt+f(t_0)Δt+\frac{1}{2}f(t_0)\frac{d}{dt}Δt^2$$
あとは移項して、右辺を定積分の形にする。
$$f(t_0)Δt+\frac{1}{2}f(t_0)\frac{d}{dt}Δt^2=\int f(t)dt-\int f(t_0)dt$$
右辺は定積分になったけど、
左辺が何をしているのちょっとわからないかな。
ここで前回の差分法の式を取り出す。
$$f(t_0)\frac{d}{dt}=\frac{f(t_0+Δt)-f(t_0)}{Δt}$$
もしや、これを代入?!
その通り。
代入するとこうなる
$$f(t_0)+\frac{1}{2}(f(t_0+Δt)-f(t_0)Δt)=\int f(t)dt-\int f(t_0)dt$$
・・・。
これでも左辺が良く分からないんだけど。
だろうと思って絵を描いた。
あ、意味わからないと言ってた、
\(\displaystyle\frac{1}{2}(f(t_0+Δt)-f(t_0)Δt)\)
の部分は青三角形の部分になるのか?
そういうこと。
ちなみに、これは台形法という名前が付いている。
んー、でも良く解けるもんだねぇ。
あと、この式の形が答えになるとかどう判断してるの?
まぁ実は式の形については、あんまり考えてなくて、
自分で絵を描けるかどうかという観点でしか解いていない。
絵を描く?
そういえば、フクさんは結構、絵で描くことを重要視しているよね?
それも関係している?
絶対的な話ではないけど、以下のイメージでいるよ。
「絵で描ける」→「一定の理屈は通っているはず」→「他者に説明し易い」
例えば、数学的には存在しない式が導出されても、
「絵で描ける」が実現できれば、それはそれで自分自身の公式と言えると思ってる。
おー、なるほど!
(今日のフクさんは一段と輝いて見える!)
というわけで次は微分の方だね。
オッケー。
差分法に対して1項増やして積分精度を上げる
次は微分に対してテイラー展開第3項までを適用する。
うん。
まず、一個前提を追加する。
前提?
これまでの前提は以下。
$$f(t)=f(t_0+Δt)$$
前々回やってたね。
ここにもう一個追加する。
$$f(t)=f(t_0-Δt)$$
あー、
現在から見た未来と過去から見た現在は同じってことだね?
そうそう。
そして、この二つの前提をテイラー展開に組み込むと以下がでる。
$$f(t)=f(t_0+Δt)=f(t_0 )+f(t_0 ) \frac{d}{dt}Δ+\frac{1}{2} f(t_0)\frac{d^2}{dt^2 } Δt^2$$
$$f(t)=f(t_0-Δt)=f(t_0 )-f(t_0 ) \frac{d}{dt}Δ+\frac{1}{2} f(t_0)\frac{d^2}{dt^2 } Δt^2$$
両方とも似てるけど、第2項の符号が違うのかな?
あ、もしやこれで相殺して項を減らす?!
大正解。
$$f(t_0+Δt)-f(t_0-Δt)$$
をすると第2項だけが残る。
$$f(t_0+Δt)-f(t_0-Δt)=2f(t_0)\frac{d}{dt}Δt$$
そして、\(f(t_0)\displaystyle\frac{d}{dt}\)に対して解く。
$$f(t_0)\frac{d}{dt}=\frac{f(t_0+Δt)-f(t_0-Δt)}{2Δt}$$
これも絵に描けるのか・・・。
絵にするとこう。
こういうのを中心差分法と呼ぶ。
ちなみに、
前回やった\(f(t_0+Δt)\)で解いたパターンだと前進差分法、
やってないけど\(f(t_0-Δt)\)で解いたパターンだと後進差分法、
って呼ぶよ。
名前がついているといことは割と使う手法ってことだね。
そうだね。
ここまでだと比較的説明し易いし、
それほど演算負荷も上がらないから割と使われていることは多いね。
うん。すごく勉強になった。
んで、これでPID制御の離散化ができるってことで良いのかな?
そうだね。そこは次回やってみよう。
今回のまとめ
まとめだよ。
- テイラー展開第3項までを使用した積分近似手法は台形法と呼ばれる。
- テイラー展開第3項までを使用した微分近似手法は中心差分法と呼ばれる。
- \(f(t_0+Δt)\)で解いたパターンだと前進差分法。
- \(f(t_0-Δt)\)で解いたパターンだと後進差分法。
- 数式を解く場合は、「絵を描けるか」という観点で解くと迷わなくて良い場合がある。
- 納得もできるし、説明もし易い。
離散化3話分まとめ
フクさん:
離散化の話で3回に渡ったんで、それのまとめ。
- ぶっちゃけ総和法と差分法だけ知ってればOK。(初歩)
- しかし、それらの向こう側も知っておく必要がある。(原理)
- そして、知った上で不要と判断して意図的に捨てる。(基礎)
という感じのアプローチを意識できていれば、
変に初歩で止まって応用が利かないということは起こりにくくなる。
バックナンバーはこちら
コメント