I want to separate each gait cycle and keep each cycle in a row of a table.
10 views (last 30 days)
Show older comments
Mohammad Ahmad
on 8 Dec 2021
Commented: Mohammad Ahmad
on 12 Dec 2021
I have an excel file (attached here) having a column of data that has data points of several consecutive vertical GRF cycles. I want to separate each gait cycle and keep each cycle in a row of a table.How I can do it using MATLAB?
Thanks in advance.
0 Comments
Accepted Answer
Eric Sofen
on 8 Dec 2021
If you separate each cycle into a separat row, the rows will likely have data of different lengths, which then gets hard to work with because you'll need to store them in cell arrays. As a starting point, here's what I'd do:
t = readtable("h1l_130710_1_110.xlsx");
t.Min = islocalmin(t.Fz,"MinProminence",500); % this works pretty well.
% % I recommend using the "Find Local Extrema" live task to play around with peak-finding parameters interactively.
t.Cycle = cumsum(t.Min);
t.Min = [] % probably don't need this any more
% now you have Cycle as a grouping variable and you can use things like
% groupsummary or varfun to do calculations on each gait cycle.
%If you really want the data as rows...
t = varfun(@(x) {x'}, t, "GroupingVariables","Cycle")
4 Comments
More Answers (0)
See Also
Categories
Find more on Text Analytics Toolbox 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!