Find the time when a parabolic function starts to decrease.

Hello,
My task is to write a script that will find the time when a parabolic function (height, a function of time) reaches its max.
clear all
t=0;
for time=0:0.5:30;
if height(time)>=height(time-0.5)
t=t+0.5;
end
end
disp(t)
height(time-0.5) wouldn't execute so here is my second code
clear all
t=0;
for time=0:0.5:30;
e=0.5:0.5:29;
time2=[0 e];
while height(time)>height(time2)
t=t+0.5;
end
end
disp(t)
this code does not work either. How can i utilize max( ) function in here? And what is the best way to do this kind of loop?
Thanks!

 Respuesta aceptada

Walter Roberson
Walter Roberson el 2 de Oct. de 2016
What is height here? If it is a vector then you cannot use height(time) you can only use height(SomePositiveIntegerIndex) . But once you have found the appropriate positive integer index, you can use it to figure out what the corresponding time is.

3 comentarios

height is just a function of time, like a projectile function. if i plot t and f(t) its just an upside-down parabola. (both are 1x61 elements)
I can definitely get the max height using max(height(time)). but how would i solve it back and get t at max? quadratic formula? I could also do a loop of the derivative==0, but how do i incorporate time? I think there is an easier way with loops.
[maxheight, idx] = max(height(time))
where time is a vector. Then time(idx)
thanks for that command, I haven't used it before. It gave me an index on the time vector corresponding to the seconds that I needed.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Preguntada:

el 2 de Oct. de 2016

Comentada:

el 3 de Oct. de 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by