ODE45 Event option question
Mostrar comentarios más antiguos
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
Respuestas (2)
Torsten
el 25 de Abr. de 2018
My guess is that your r must be
r = Y2(2)-1.2*Vstall
Best wishes
Torsten.
Raymond Tallarini
el 25 de Abr. de 2018
Categorías
Más información sobre Ordinary Differential Equations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!