「オイラー法の誤差を最小にするtの刻み幅」とは、どうやって求めるのでしょうか?丸め誤差の求め方も知らず、どうしたらいいかわかりません。

与えられている式は dx/dt=-2t^3+12t^2-20t+8.5 です。

A 回答 (1件)

 原始関数x(t)が解析的に求まるので、いろいろな刻み幅でオイラー法を繰り返して、解析解との差が最小になる幅を見つければよいでしょう。

積分区間にもよりますが、最初は幅を区間の1/10位にして、繰り返し毎に幅を半分にしていくというのはどうでしょうか。
 原始関数が解析的に求まらない場合は、刻み幅が十分小さければ、オイラー法の誤差は刻み幅に比例するという性質を使えば、横軸に刻み幅、縦軸に積分値をとってグラフを描けば、滑らかな曲線が得られるでしょう。刻み幅を小さくしすぎると、誤差の累積で滑らかな曲線からずれてくるでしょうから、どのあたりから誤差の影響が強くなるかが大体わかります。
 もし、もっと近似のよい方法(Runge-Kutta法など)を使ってよいのなら、解析解の代わりにこの近似のよい解との差がいちばん小さくなる刻み値をさがせばよいでしょう。
    • good
    • 0

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q差分法とオイラー法の違いについて

最近微分方程式の数値解析について学びだした者です。

微分方程式の数値解法として差分法とオイラー法があると思うのですが、この2つの違いや互いの位置づけはどうなっているのでしょうか?

また、差分法には風上法などがありますが、これらとオイラー法の位置づけについても教えていただきたいです。

できればこれら近辺の全体的な体系について教えていただけるとうれしいです。よろしくお願いします。

Aベストアンサー

 すいません、#1です。#1では話を簡単にしようと思って、差分法の定式化を簡略にし過ぎました。もう気づいていると思いますが、

 オイラー法:
  y[i+1]=(1+h)*y[i]     (1)

に対して、差分法:
  y[i+1]-(1+h)*y[i]=0   (2)

としてしまっては、(1)と(2)は全く同じです。差分法で、

 (y[i+1]-y[i])/h=(y[i+1]+y[i])/2   (3)

くらいの事はしておかないと、領域型の性質を持ちません。領域型をめざすなら、これ以上は簡単にできないと思います。(3)と(1),(2)の違いですが、(1),(2)では(移行すれば)、

 (y[i+1]-y[i])/h=y[i]    (4)

で、(3)との違いは、右辺にy[i+1]を考慮するかどうかだけです。

 (3)では左辺の数値微分の結果を、x[i+1]とx[i]の間の中点における微分係数と解釈し、それを中点における関数値に等しいとしています。中点における関数値は、y[i+1]とy[i]の平均で、十分良く近似できるとも仮定しています。

 (1),(2),(4)では、y[i+1]を計算するために、y[i]の情報しか使いませんが、(3)では(今は一点だけですが)まわりの点の情報も使って、平均的に良好な解を得ようとします。ここが直接法と領域型の発想の違いだと言えます。

 式の上ではほんのわずかな違いですが、結果の違いはけっこうあります。添付図は、Excelで計算したものです(^^;)。

  ・黒線が、y=e^x
  ・青丸が、(3)
  ・赤線が、(1),(2),(4)

の結果です。

 すいません、#1です。#1では話を簡単にしようと思って、差分法の定式化を簡略にし過ぎました。もう気づいていると思いますが、

 オイラー法:
  y[i+1]=(1+h)*y[i]     (1)

に対して、差分法:
  y[i+1]-(1+h)*y[i]=0   (2)

としてしまっては、(1)と(2)は全く同じです。差分法で、

 (y[i+1]-y[i])/h=(y[i+1]+y[i])/2   (3)

くらいの事はしておかないと、領域型の性質を持ちません。領域型をめざすなら、これ以上は簡単にできないと思います。(3)と(1),(2)の違いですが、(1),(2)...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング