ODE45 Event option question
4 ビュー (過去 30 日間)
古いコメントを表示
I am trying to use the event option of ODE45 to stop integration when the velocity reaches a certain point (integrating the distance an aircaft travels down a runway). I keep getting the error "SWITCH expression must be a scalar or a character vector." Note: the project requires a Y vector with the top row being the distance down the runway and the bottom row is the velocity)
Here is my event function:
function [value,isterminal,direction] = Events(T,Y2)
% Locate the time when the velocity is over the take off velocity
global Vstall
r=double(Y2 > [0;1.2*Vstall]);
value = r; % detect
isterminal = 1; % stop the integration
direction = 0; % negative direction
Thanks!
(wouldn't let me attach thrust:
function [T]=thrust(V)
global nu
global power
global V0
T=nu*(2*power*550)/(V+V0); % twin engine => 2 * power (power in ft-lb)
end
0 件のコメント
回答 (2 件)
Torsten
2018 年 4 月 25 日
My guess is that your r must be
r = Y2(2)-1.2*Vstall
Best wishes
Torsten.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Ordinary Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!