MATLAB Answers

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

21 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');

  0 Comments

Sign in to comment.

Accepted Answer

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

  0 Comments

Sign in to comment.

More Answers (0)