Find time of slope change
25 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
jonas
on 17 Jul 2018
Edited: Image Analyst
on 17 Jul 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 Comments
More Answers (0)
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!