1.ルンゲ・クッタ法
1階常微分方程式 dy/dx=f(x,y) を初期条件 y(x0)=y0 のもとで求める。
求めるべき区間を間隔dxでn分割する。
x0, x1=x0+dx, x2=x0+2dx,・・・, xn=x0+ndx
において、y0に対する近似増分kを補助増分k1,k2,k3,k4のつぎのように重み付き平均値として求め
k=1/6(k1+2k2+2k3+k4)
これよりy1を求める。
y1=y0+(k1+k2+k3+k4)/6
k1=f(x0,y0)dx
k2=f(x0+dx/2,y0+k1/2)dx
k3=f(x0+dx/2,y0+k2/2)dx
k4=f(x0+dx,y0+k3)dx
一般に
yn+1=yn+(k1+2k2+2k3+k4)/6
k1=f(xn,yn)dx
k2=f(xn+dx/2,yn+k1/2)dx
k3=f(xn+dx/2,yn+k2/2)dx
k4=f(xn+dx,yn+k3)dx
このようにynを求める方法をルンゲ・クッタ法という。
2.ミルン法
求めるべき区間を間隔dxでn分割する。
x0,x1=x0+dx, x2=x0+2dx,・・・, xn=x0+ndx
初期条件の(x0,y0)から(x1,y1),(x2,y2),(x3,y3)をルンゲクッタ法で求める。次式で予測子y'4を求める。
y'4=y0+4/3dx{2f(x1,y1)-f(x2,y2)+2f(x3,y39}
この予測子を用いてy4求める。
y4=y2+dx/3{f(xn,yn)+4f(x3,y3)+f(x4,y)}
一般に予測子が決まり
yn+1=yn-3+4/3dx{2f(xn-2,yn-2)+f(xn-1,yn-1)+2f(xn,yn)}
yの値が決まる。
yn+1=yn-1+dx/3{f(xn-1,yn-1)+4f(xn,yn)+f(xn+1,yn+1)}
と表される式によって求める方法をミルン法という。
3.オイラー法
オイラー法はテイラー展開の1次近似式であるが、微分方程式の簡単な近似値を求めるとときに用いられる。オイラー法の反復公式は、次のような微分方程式と初期条件
y'=dy/dx=f(x,y), y(x0)=y0
が与えられているとき、y(xnのテイラー展開より求められる。いま、
xn=xn-1+hとして、y(xn-1+h)のテイラー展開は
y(xn)=yn=y(xn-1+h)=y(xn-1)+hy'(xn-1)+・・・
と著される。上式の第2項までとり、y'に式 (1) を用いると
y(xn)=y(xn-1)+hf(xn-1,yn-1)
と表される式によって順次yを求める方法をオイラー法という。
操作方法
1, ルンゲ・クッタ法 ・ ミルン法 ・ オイラー法を選択してください。
2, f(x,y)=のウインドウにx,yの関数を入力して下さい。
※使用する演算子は +, -, *, /, ^ です。
※入力できる関数は、tan[x],sin[x],cos[x],log[x],exp[x],sqr[x],abs[x],Int[x]です。
3, x(min),x(max),y(ini),dx を入力して下さい。
4, <実行>を押すと実行されます。
|