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

조회 수: 20 (최근 30일)
sz
sz 2020년 6월 29일
답변: michio 2020년 6월 29일
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');

채택된 답변

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 常微分方程式에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!