お前らに問題 9月19日 (不定積分編) [高校の微分積分]
お前らに問題(不定積分編)
お前らに簡単な(?)不定積分の問題!!
問題 次の不定積分を求めよ。
この問題の(1)の不定積分で
というものを見て、ネムネコが頭の中で求めたものと違っていたので、「はぁ〜っ?」と、一瞬、思考が停止してしまったんだケロよ。
それで、お前らにもやってもらおうと思ってさっ。お前らにも悩んでもらおうじゃないか。
ただし、①と②は同じものだから、これで悩んではいけないケロよ。
ノーヒントでは辛いかもしれないので、とおくと、
というヒントを出しておこう。
工夫すると、(1)の不定積分は次のように求めることもできるが・・・。
お前ら
の一般解を求めてみるといいにゃ。
そして、できた奴は、このコメント欄に答を書いて、ネムネコのところに送信するにゃ。
「非線形だって解ける」のスプレッドシートを公開!! [ひとこと言わねば]
だから、いつになくお得なスプレッドシートになっていると思うケロ。
この計算法を舐めてもらっては困るにゃ。
ネムネコの表計算ソフトの計算結果↓
今日のアニソン、「対魔忍アサギ」から『無限連歌』 [今日のアニソン]
実写版まで作られているそうだから。
非線形の微分方程式だって解けるケロ(差分の基礎編) [数値解析]
非線形の微分方程式だって解けるケロ
差分法を用いた、次の非線形微分方程式の初期値問題について考える。
前進差分を用いて(1)を差分方程式に近似すると次のようになる。
これから、
という漸化式を得ることができ、x₀=0におけるyの値y₀を計算の出発点にし、前進的にの値を次々に求めることができる。
これに対して、後退差分を用いると、(1)の微分方程式に関する差分方程式は
となり、次の2次方程式を得ることができる。
この2次方程式を解くと、
という漸化式が得られ、(3)式を用いて前進的にの値を次々に求めることができる。
(1)の場合、後退差分は2次方程式を解く必要があるんだケロよ。2次方程式を解くというひと手間が加わるだけではなく、(2)と(3)を比較すればわかるように、漸化式が複雑になる。
だったら、3次方程式を解かないといけない。3次方程式ならば解の公式があるので代数的に解けないことはないけれど、n≧5のとき
この式から得られる
というのn(≧5)次方程式を代数的に解くことは一般にできないので、ニュートン法などを用いてを解く必要がある。
ということで、後退差分(陰解法?)は前進差分(陽解法?)とは違って難しいんだケロよ。だから、常微分方程式の初期値問題で後退差分を用いた解法(陰解法?)は一般に使われない。
陰解法が威力を発揮するのは、
といった偏微分方程式の数値解法なんだケロよ。
ではありますが、Δx=0.1とし、(2)式と(3)式を使って、(1)の初期値問題を解いた結果は次のとおり。
微分方程式(1)の(厳密)解は簡単に求まりそうに見えるだろうが、これはリッカチ形の微分方程式で、この解は三角関数、指数関数、対数関数を用いて表すことができない、つまり、解けないんだケロ。
なので、比較参考のために、4次のルンゲ・クッタ法を用いてΔx=0.1で計算した値を厳密解のかわりにあわせて図示している。
この計算結果を見ると、陽解法による計算結果は厳密解よりも小さく、陰解法による数値計算結果は厳密解よりも大きいこと、そして、厳密解がこの間に位置していることがわかる。
ということで、陽解法による計算結果を陰解法による数値計算結果を足して2で割る、つまり、両者の平均をとると、厳密解とかなりよく一致することがわかる。
このことは、数値計算結果の絶対誤差を図示したグラフを見るとよくわかると思う。
前回に引き続き、陽解法と陰解法の計算結果を足して2で割ると、誤差のプラスマイナスが互いに消し合って、誤差が小さくなって、厳密解に近い値が出るようになるのであった。
Δx=0.1のときに、誤差がおよそ1/10になっており、また、陽解法、陰解法の誤差の程度がO((Δx)²)であるので、この解法の誤差はO((Δx)³)と推測される。だから、修正オイラー法、2次のルンゲ・クッタ法と誤差のオーダーと同じであるに違いない。
より進んだ解法は、
①と②の両辺を足しあわせて、両辺を2で割ると、
となるにゃ。
についての2次方程式(4)を解き、こうして新たに得られた漸化式を用いて計算してみるといい。
(4)を使った計算結果は、(2)と(3)を使って求めた値の平均値と同じ値になると思うかもしれないけれど、これが一致しないんだね〜。
(4)を使ったもののほうが精度はさらに向上するはずなんだよね〜。
嘘だと思うならば、の2次方程式(4)を解き、の漸化式を求め、その漸化式で計算してみな。
というか、お前ら、これくらいはやれよな。
何故、(4)式は、(2)や(3)より精度よく計算できるのかについては、尤もらしい説明をすることはできなくはない。
というのは、との中点をと表すことにし、それに対応するyの値をで表し、
③と④は、それぞれ、
となる。
⑤と⑥を足すと、が消えて、(4)式になる。
③は、Δxより小さいΔx/2という分割幅で仮想のの値を求めるいることを意味し、④式はこうして求められたを元にΔxよりも小さい分割幅でを求めることを意味している。
分割幅を小さくすると一般に計算精度が向上する。
また、仮想の点とそれに対応するyの値を考慮に入れると、(4)の左辺のはにおける中心差分とみなすこともできる。
したがって、(4)は、(2)や(3)よりも高精度に計算できる・・・。
感覚的にこう理解すればいいのではないか。
これにテーラー展開の話を交え、「(2)や(3)の誤差の程度がO(h²)であるのに対し(4)式はO(h³)で修正オイラー法、2次のルンゲ・クッタと誤差の程度が同オーダーである」なんて尤もらしい説明もできるけれど、かなり胡散臭い話だから、ここではしないにゃ。
(2)、(3)、(4)式は、0≦φ≦1である重みφを使うと、
と、1つの式で表すことができる。
φ=0のときは陽解法、φ=1/2のときは半陰解法、φ=1のときは純陰解法と分類分けすることも可能。
そして、プログラムを作ってこの問題を解く場合、0≦φ≦1のすべてのφについて解けるものを作った方がいいにゃ。それが賢い方法だにゃ。
天才と梅毒…シューベルトもゴッホもニーチェも、神を感じる傑作創作時は梅毒だった Bisiness Journal [今日のクラシック]
天才と梅毒…シューベルトもゴッホもニーチェも、神を感じる傑作創作時は梅毒だった
●独特な世界観を生みだしたシューベルト
さて、コロンブスの時代から約300年後の1800年代ヨーロッパ。あるひとりの作曲家が梅毒にかかりました。彼の名前は「シューベルト」。歌曲『魔王』や『野ばら』『未完成交響曲』で有名な作曲家です。彼が梅毒に感染したのは1818年といわれていますが、潜伏期があるので、実際に梅毒の診断を受けたのは、1822年です。
(中略)
僕は、小学生の時に初めて聴いた時から、そして実際に指揮するようになってからも、毎回、この交響曲に接するたびに、自分が不思議な感覚を持つことに気づいていました。なんだか精神が浮遊しているような、幻の世界の中に音が鳴っているような不思議な感覚です。これは、それ以前のシューベルト作品では感じられない不可思議な感覚であり、『未完成交響曲』最大の魅力でもあります。
あっ、そうですか・・・。
梅毒になる、はるか以前から、この作曲家はぶっ飛んでいて凡人の理解を寄せ付けないんだケロ。そもそも最初から常識がまったく通用しない得意な存在なんだから、晩年間近にかかった梅毒とこの作曲家の天才ぶりを結びつけるのはあまりに安易だと思うね。説得力がなさすぎるにゃ。
今日のアニソン、「SHIROBAKO」から『あいむそーりーEXODUS』 [今日のアニソン]
オリジナルはコッチ↓
お前らに質問(前進差分と後退差分) [数値解析]
お前らに質問(前進差分と後退差分)!!
次の微分方程式の初期値問題がある。
この微分方程式の解がであることは言うまでもない。
ところで、この微分方程式を差分方程式で近似すると、
となる。
一方、後退差分を用いて(1)を差分方程式に書き換えると、
Δx=0.1とし、(3)と(5)を用いて計算した結果は次のとおり。
計算結果の大小関係は
後退差分≧厳密解≧前進差分
になる。
次に、
について考える。
この解がであることは明らかだろう。
前進差分の場合、
後退差分の場合、
h=0.1とし、(7)、(8)を用いて計算すると、
となり、大小関係が逆転し、
前進差分≧厳密解≧後退差分
の順になる。
これは偶然ですかい?
それとも、この大小関係の逆転、そして、厳密解が前進差分と後退差分による数値解の間に来ることには、何か、深い数学的な理由があるのですか?
お前らに、この深遠な(?)問題について答えてもらおうじゃないか!!
ddt³さんの回答 [ddt³さんの部屋]
[極座標編回答]
-
円の方程式を求めよ。
原点を中心とする半径aの円の方程式は、
(x,y)=(a,0)を中心とする円は、これをx方向にaだけ平行移動すれば良いので、
1)
(2) この円の極座標表示の方程式を答えよ。
(x,y)=(0,0)を中心とする極座標(r,θ)では、
2)
∴1)から、
3)
・・・何か罠が隠されてるんだろうか?(^^;)。
(3) 面積
(x,y)=(a,0)を中心とする極座標(R,φ)では、
4)
この極座標で3)は明らかに、
5)
6)
ここに、
であるが、
4)より、
なので、
だから、
となり、
が得られる。ここに5)から、
である。
・・・駄目?(^^;)。お気持ちはわかりますが(^^)。
(執筆:ddt³さん)
ダメじゃ〜ないけれど、だったら、(x−a)²+y²=a²の中心(a,0)を原点とする新座標系
を設定し、円(x−a)²+y²=a²は
に写されるとした方がわかりやすいんじゃないかな。
どうせ、写像(面)を使っているんし・・・。
なお、青い文字は新座標O'-x'y'系での値。
ddt³さんは、この連休中、新潟の湯沢に夏(?)スキーをしにきているんだケロ。
何故か知らないけれど、松任谷由美と新潟県湯沢町の苗場とは深い関係があるらしいので、この曲でも埋め込みますか。
さらに新しい解法を提示 [数値解析]
さらに新しい解法を提示
§1 平均してみた
次の1階常微分方程式の初期値問題がある。
前進差分(陽解法?)を用いてこの微分方程式を差分方程式に書き換えると、
これから、次の漸化式が得られる。
初期条件からx₀=0のときのy=y₀=0を計算の起点に、(2)を用いてy₁、y₂、・・・と前進的にx=x₁、x₂、・・・におけるyの値を求めることができる。
対して、後退差分を用いる場合(陰解法?)は、微分方程式を差分方程式
に書き換え、次の漸化式が得られる。
前進差分の場合と同様に微分方程式の数値解を求めることができる。
Δx=0.1について解いたものは次のとおり。
前進差分を用いた数値解は厳密解より大きく、後退差分の場合は厳密解の値よりも小さくなることがわかる。
絶対誤差も同程度なので、前進差分と後退差分を用いた結果を足して2で割れば、厳密解により近くなのではないかと予想できる。
予想通り、よく一致しているにゃ。
計算結果をグラフで表すと、この微分方程式の厳密解
と完全に一致しているように見える(^^)
数値計算って不思議で奥が深い、面白いと思わないかい?
§2 少しだけ数学的な話
微分方程式(4)を前進差分を用いて差分方程式で近似すると、
これから、
という漸化式が得られる。
y₀=1なので、この漸化式から与えられる一般項は
になる。
[0,1]をn等分したものを
とおき、i=nとすれば、
n→∞のときの極限値を求めると、
となり、厳密解のy(1)=1/eと一致する。
このことは、コンピュータを用いて数値的に計算する場合、コンピュータによる計算に特有な丸め誤差などがあるのでそのとおりにならないけれど、分割数を大きくすればするほど、すなわち、分割の幅を小さくすればするほど、数値解と厳密解の誤差は小さくなり、終局的に、この両者は完全に一致する、ということを表している。数値解析の分野では、このことを適合性(consitency)があると表現する。
適合性または整合性 (consistency)
空間および時間を離散化した時の格子幅を限りなく0に近づけたときに、離散化方程式と元の微分方程式の差が0に収束することである。この差は一般には格子点についてのテイラー展開によって評価される。
https://goo.gl/2FFiDU
大きく脱線してしまった。ネムネコはこんなことを話したいわけではない。
漸化式(5)からの一般項は
になる。
したがって、
になる。
だ・か・ら、数値解の値が正しいかどうかは別にして、前進差分の数値解が意味を持つのは0<Δx<2の場合なんだケロ。
0<Δx<2という条件を満たさないと、この計算法は安定じゃない。
対して、後退差分を用いた解法は、
で、
が成立するので、Δxの値にかからず、
となり、数値的に安定している。
後退差分を用いたこの解法は無条件安定なんだケロ。
常微分方程式の初期値問題によく使われるルンゲ・クッタ法も前進差分を用いているので、Δxをあまり大きく取り過ぎると数値的に不安定になり、数値解が激しく振動したりするんだにゃ。知っていたケロか。
非線形でもないかぎり、常微分方程式の初期値問題の数値解法で振動解に見舞われることはないと思うけれど・・・。
計算に使用したスプレッドシートは以下のところに公開
エクセル版
ウェブ版
ネムネコは、隠さないにゃ [ひとこと言わねば]
なのですが、ネムネコは隠さないにゃ。数値計算の記事で使用したプログラムや表計算ソフトのスプレッドシートは全て公開するにゃ。
そして、このポリシーに従って、今日もスプレッドシートを2つ公開したにゃ。
オモチャみたいなものですが、すこしでもお前らの便益につながるように公開したにゃ。
https://goo.gl/eTqu83
でも、こんなものをいくら利用したところで、こんなものは数値計算の勉強には役に立たない。ブラックボックス化されているので、実際にどのように計算しているのかがわからないからだにゃ。
数値計算の勉強をするときに最も重要なことは、最終的な計算結果ではなく、計算法の仕組みを理解し、そして、その計算法を使って計算できるようになることだから。
ネムネコの手は猫の手なので猫パンチを繰り出すのには適しているけれど、手計算には向かないから、仕方なくコンピュータを使って計算するけれど(^^)