ODE45 Event option question
Afficher commentaires plus anciens
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
Réponses (2)
Torsten
le 25 Avr 2018
My guess is that your r must be
r = Y2(2)-1.2*Vstall
Best wishes
Torsten.
Raymond Tallarini
le 25 Avr 2018
Catégories
En savoir plus sur Ordinary Differential Equations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!