Find time of slope change

25 visualizaciones (últimos 30 días)
Sarah Levovitz
Sarah Levovitz el 17 de Jul. de 2018
Comentada: Sarah Levovitz el 19 de Jul. de 2018
I want to find the time where the slope of the graph starts to decrease. In this case, the graph is a measurement of the foot angle of someone walking. I would like to use MATLAB to detect when the person starts walking, which in this case seems to be at around 2 seconds. The problem is that there is a dip in the graph right at the beginning. Is there a way to detect an area of a graph with a slope close to 0, and then find where the first change that happens after that? I would like to also be able to use this code for other sets of data that do not look exactly the same.

Respuesta aceptada

jonas
jonas el 17 de Jul. de 2018
Editada: Image Analyst el 17 de Jul. de 2018
If you have the signal processing toolbox, you can try the function findchangepts. I believe the very similar ischange would be equally useful.
Here is an example. See attachment for results.
pts=findchangepts(y,'Statistic','linear','MinThreshold',20);
plot(x,y,'-b',...
x(pts),y(pts),'rx')
  5 comentarios
Sarah Levovitz
Sarah Levovitz el 19 de Jul. de 2018
thank you very very much, this worked perfectly!
Sarah Levovitz
Sarah Levovitz el 19 de Jul. de 2018
@Image Analyst, thank you for the comment, I will note this for future.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by