How to stop ode45 using events function
古いコメントを表示
I'm trying to stop an ode45 solver when the altitude gets below a certain value, but it isn't working.
The code is below - I want to stop it when r gets to 10 km. I don't want to use an rdot value (vardot(1)=rdot).
tRange=[0,350];
var=[r;lat;long;u;v;w;e0;e1;e2;e3;omegaX;omegaY;omegaZ]
opts=odeset('Events',@EndEvents,'InitialStep',1e-6,'RelTol',1e-5);
[t,vardot]=ode45(@Trajectory,tRange,var,opts)
function [value,isterminal,direction]=EndEvents(t,vardot)
value = (var(1)-10000);
isterminal=1;
direction=0;
end
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Ordinary Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!