微分方程式の解析で解を定常状態にするには
こんにちは。
かれこれ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というものに関係する微分方程式なのですが、このような方程式はルンゲクッタ法などでは解くことができないのでしょうか?
色々調べてみると硬い方程式などではルンゲクッタが使えないらしいので・・・
自分でも思いつくことは色々試してみたのですが不勉強でわかりません。
こういうときどのようなアプローチが有効なのでしょうか?