アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
かれこれ3ヶ月以下のような微分方程式の解を出そうとしているのですがうまく求めることができません・・・
数値計算の途中でオーバーフローして発散してしまったり、出るはずのない振動解が出てしまいます。
下の方程式でrが大きくなるにつれて、f→1に、A→0に漸近していき定常状態になる解を出したいのです。

f ''(r)+(1/r)*f '(r)-((1-A)^2/r^)*f(r)-(f^2-1)f=0 ・・・(1)
A''(r)+1/r)*A'(r)-A/r^2+f^2(1-A)=0 ・・・(2)

自分はまず、この方程式のr=0まわりの解を以下のようにマクローリン展開で近似しました。
f(r)=f0+f1*r+f2*r^2+f3*r^3+f4*r^4
A(r)=a0+a1*r+a2*r^2+a3*r^3+a4*r^4
これらを元の(1)、(2)に代入してmathematicaで計算して展開係数f0~f4,a0~a4の関係式を得て、
それらを初期条件のパラメータとしました。
そしてその初期値を元にルンゲクッタ法で解を出そうとしました。
しかし、特異点があるためなのか元の方程式が不安定だからなのか数値計算しても解が発散(もしくは振動)してしまいます。
自分のプログラムが間違っているかもしれないと思い、簡単な非線形微分方程式(ファンデルポール方程式など)で同じ方法を試したんですが、ちゃんと解を求めることができました。

(1)、(2)の場合はどうして数値計算がうまくいかないのでしょうか・・・
ちなみにこの方程式はnielsen olesen vortexというものに関係する微分方程式なのですが、このような方程式はルンゲクッタ法などでは解くことができないのでしょうか?
色々調べてみると硬い方程式などではルンゲクッタが使えないらしいので・・・

自分でも思いつくことは色々試してみたのですが不勉強でわかりません。
こういうときどのようなアプローチが有効なのでしょうか?

A 回答 (1件)

数式:(1), (2) には,記述上の不備があります.


この不備は,このサイトだけのものだと思いますが,念のためお知らせします.

f ''(r)+(1/r)*f '(r)-((1-A)^2/r^)*f(r)-(f^2-1)f=0 ・・・(1)
A''(r)+1/r)*A'(r)-A/r^2+f^2(1-A)=0 ・・・(2)

上記の式は,書き間違いで,正しくは,

f''(r)+(1/r)*f'(r)-((1-A)^2/r^2)*f(r)-(f^2-1)f=0 ・・・(1)
A''(r)+(1/r)*A'(r)-A/r^2+f^2(1-A)=0 ・・・(2)

ではないでしょうか.(1)は, r^ の 2 が抜けており, (2)では,パーレン括弧が抜けて,
+1/r)*A'(r) なので,これは, +(1/r)*A'(r) でないといけないと思います.

因みに,以下の論文は,ご参考にならないでしょうか?
同じ方程式が記述されています.

Stabilization of the Electroweak String by the Bosonic Zero Mode
http://www.slac.stanford.edu/econf/C980518/proc/ …

以上です.

この回答への補足

やはり難しいですね。
論文を参考にもう少しがんばってみます。
ありがとうございました。

補足日時:2012/02/28 19:05
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

はい、ご指摘の通り打ち間違ってます。
すみませんでした・・・

論文読みました!
自分でも色々論文探したりもしたんですがこれは見つけてなかったです。
読んでみたのですが、数値計算するときの変数xを対数表示にすること、境界条件の点を動かして有効なオーダーにすることなどが書かれてありました。
試してみましたがうまくできませんでした・・・

お礼日時:2012/02/28 18:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!