Borrar filtros
Borrar filtros

find time at the midpoint of data

1 visualización (últimos 30 días)
Charlie Elverson
Charlie Elverson el 5 de Mayo de 2015
Comentada: Star Strider el 5 de Mayo de 2015
I have data for which I need to find the time at which the midpoint has been reached. I have a vector of flow rates and a vector of times corresponding to those flow measurements. I was about to code it by hand, when I found the trapz() function to do the numeric integration and give the total discharge. I also need the time at which 50% of the discharge occurred. Is there a function which would give this? I'm aware of how to code it manually, I just want to know if a function already exists to do this.

Respuesta aceptada

Star Strider
Star Strider el 5 de Mayo de 2015
The cumtrapz function will give you a progressive integration of your data, in this instance of flow rates as a function of time.
For example:
Int_Flow = cumtrapz(time, flow_rate);
  2 comentarios
Charlie Elverson
Charlie Elverson el 5 de Mayo de 2015
Thanks, but that doesn't quite do what I need (although it'll be very useful if I have to do this by hand). The midpoint falls somewhere between two data points, so I want a function that will interpolate between data points to find where 50% discharge occurs.
Star Strider
Star Strider el 5 de Mayo de 2015
Use the interp1 function to find the time.
Int_Flow = cumtrapz(time, flow_rate);
Flow50 = interp1(Int_Flow, time, Int_Flow(end)/2);
This will give you the time at which the 50% discharge occurs (if I understand your question correctly). The 50% discharge is of course Int_Flow(end)/2.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Numerical Integration and Differentiation en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by