(非)線形微分方程式の数値解法 その2 | バディ〜のブログ

バディ〜のブログ

 バディ〜のブログ

 

 

今回も前回に続いて、

厳密解のわかっている

1階の線形微分方程式と非線形微分方程式を解いて、

真値残差と推定残差(比率)を比べてみます。

 

 

 

ひとつめは

微分方程式    dy/dx = 1/x

で表されるものです。

 

これも簡単に解くことができて、

初期値をY(0.1)= log(e)[x] とすると

        y = log(e)[x] 

となりますね。

xの範囲を例えば0.1から10として、

グラフ化すると図1になります。

 

 

                図1

 

図1で丸印のついた部分を拡大したものが図2です。

 

 

 

                 図2

 

 

この図には、の刻み幅を0.1で数値積分したものを

重ねてみましたが、グラフ上では完全に重なってしまい

区別がつきません。(当然それなりに違いはあります。)

 

では、

刻み幅と真値残差(比率)の関係を図3に示してみます。

 

ただし、今回はx=1のとき真値y=0になって、

真値残差(比率)の分母がゼロになるので、

真値残差(比率)は無限大になります、

したがって、この1点は除外します。

 

図3の横軸が刻み幅で右方向が小さくなります。

また、

縦軸は対数スケールで示した真値残差(比率)で

下方向が小さくなります。

 

 

 

図3

 

 

この図3も前回と同様な傾向を示していますね

つまり、刻み幅が小さくなれば真値残差も小さくなっていきますが、

ある閾値を超えると、(図3の赤と緑色の矢印の部分)

逆に増加方向に転じます

図3では最小値がひとつ抜けていますが

これは結果がゼロになって

対数表示では表せないので抜かしています。

 

さらに、図4のように

推定真値(比率)についても同様な結果になります。

なお、分母がゼロになるy=0の1点は除外します。

 

 

 

 

                図4

 

 

図3のような抜けは見られませんが、ほぼ同じなのがわかります。

このとき、矢印に相当した刻み幅のときの

変数xと推定残差との関係をグラフにしたものが図5です。

規則性がありますが、

この理由は・・・深く追求しないことにします。  (^_^;)

数値積分のルンゲクッタ法のアルゴリズムと

関係があるかもしれないのですが、

よくわかりませんでした。

 

 

 

 

                図5

 

 

では、真値残差と推定残差の差を比較するために

グラフを重ねたものが図6です。

これも前回と同様にほぼ重なってしまいました。

ただし、縦軸は対数表示なので小さな差異は不明瞭です。

 

 

 

 

             図6

 

この例の場合も、

評価式の推定残差(比率)をそのまま使ってよさそうですね。

 

さらに真値残差と推定残差の最大値、最小値が変数xに対して

とのようになっているかを調べたものが図7です。

図6の刻み幅は図6の赤い矢印に対応しています。

図7で赤い丸印が各々の最大値を、

緑色の丸印が各々の最小値を示しています。

ます、ふたつの残差カーブは明らかに違っていて、

推定残差はxの値の最大値で最大になっています。

それに対し、真値残差はxがややY小さいときに

最大値になっています。ふたつの赤い丸印=

最小となる位置xも違っています。

が、

今考えているのは、

積分範囲の推定残差(絶対値)のおおよその値が

わかればいいので

図7の黄色い線より下に真値残差があれば

それはそれで充分ということですね。

 

 

 

 

 

                  図7

 

図7ではそのようになっています。

ここで、図7の縦軸を対数表示に変えたものが図8です。

 

 

 

                図8

 

これも表現を変えただけです。

 

では残差(比率)の分母がゼロになるy=0の周辺、

つまりx=1の周辺をみてみます。これが図9です。

 

 

 

 

 

図9

 

当然といえば当然ですが、

x=1周辺では残差が増加しています。

 

図10は、ふたつの残差の相関です。

表現を変えただけですね。.

 

 

               図10

 

 

 

ということで、ふたつめの例でも

推定残差の評価式(の最大値)は

おおよそ一致して、良さそうな結果になりました。

 

 

 

 

 

次は、いよいよ(?)1階の非線形微分方程式です。

とは言っても厳密解がわかっている珍しい(?)例です。

 

微分方程式は

     dy/dx + y^2 + 2y  - 3 = 0

です。

初期値は x=0のときy=5 とすると 

解は  y = 1 + 4/ { 2*exp(4*x) - 1}

になります。

図11がこのグラフです。

変数xは0から5としています。

 

 

 

 

                 図11

 

横軸xを対数表示にしたものが図12です。

ただしx=0は表現できないのでx=0.1からにしています。

この図では厳密解と数値積分した値を表示してみましたが、

完全に重なって区別がつきません。

 

 

 

               図12

 

 

では、相対刻み幅と真値残差(比率)の関係です。(図13)

これも前例と似たような傾向ですね。

 

 

               図13

 

図14は変数xに対する真値残差(比率)の関係です。

xの増加に伴って残差が一見小さくみえるカーブですが・・・

 

 

 

               図14

 

 

図15は、図14の縦軸を部分拡大したものです。

一旦残差が小さくなった後、また増加に転じています。

特に丸印をつけた黄色の刻み幅が小さいカーブが顕著です。

 

 

           図15

 

 

 

図16のようにさらに拡大すると、

ごちゃごちゃしてわけがわからなくなります。

 

 

 

              図16

 

 

 

ということで、図15の丸印に着目したものが図17です。

刻み幅が小さくなると

積分の積算による残差の影響だと思うのですが

詳細は不明です。

 

 

 

               図17

 

 

 

 

 

 

では、ここから推定残差(比率)になります。

まず、相対刻み幅と推定残差(比率)の関係が図18です

赤い矢印が極小になった部分です。

 

 

                 図18

 

 

 

変数xに対する推定残差(比率)が図19です。

 

 

               図19

 

 

 

図20が図19の縦軸を部分拡大したものです。

 

 

                図20

 

 

 

では真値残差と推定残差の比較です。

ふたつの残差(比率)を重ねたのが図21です。

対数表示ですが、ほぼ重なっています。

 

 

               図21

 

 

図22は変数xに対するふたつの残差(比率)も関係です。

パッと見て規則性はなさそうですが、

赤い丸印の位置の最大値は両者はほぼ一致しています。

緑色の丸印の最小値はバラバラですね。

しかし少なくとも、

推定残差の最大値を示す黄色い横線よりも

真値残差はぼぼ同じかそれ以下なのがわかります。

 

 

 

図22

 

 

 

図23はふたつの残差の相関の対数表示です。

黄色の直線はy=xで完全な正の相関ならば、

このカーブ上に乗りますが・・・バラバラですね。

 

 

 

                図23

 

 

図24は、縦軸、横軸のスケールを変えたものです。

 

 

 

 

               図24

 

 

今回のふたつの例でも

推定残差(比率)の最大値は真値残差(比率)の最大値

とザックリ言って同じになることがわかりました。

 

ということで、この例でも

推定残差の評価式(の最大値)は

おおよそ一致して、良さそうな結果がでました。