ode45を使用した時の刻み幅について

42 views (last 30 days)
sz
sz on 29 Jun 2020
Answered: michio on 29 Jun 2020
ode45を使用して微分方程式を解いてplotするとき、刻み幅を普通入れますが
入れなくてもplotされます。
その時の刻み幅はどのように決まっているのでしょうか?
下記ので刻み幅無しでも少し違った形状にはなりますがplotされました。
y0=10
h=(1/8)*pi%刻み幅
t=0:(1/8)*pi:(1/2)*pi
y=10*2*pi*cos(2*pi*t+1/2*pi)
[t,y] =ode45(@(t,y)10*2*pi*cos(2*pi*t+1/2*pi), t,y0);
plot(t,y,'-o');

Accepted Answer

michio
michio on 29 Jun 2020
ode45 でどのような計算が行われているかについては以下が詳しいです。
一部引用いたしますと
”最初に説明した通り、基本的な考えは高次と低次(例えば5次と4次)のルンゲクッタの解を比較して、その誤差が大きい場合はステップ幅を小さく、誤差が小さい場合は逆にステップ幅を大きくして、精度向上と計算の効率化を図ります。"
とのことで、ステップ幅(刻み幅)は動的に変化しており、最終的に出力変数の1つ(t)としてステップ幅を確認できます。

More Answers (0)

Categories

Find more on 常微分方程式 in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!