I want to separate each gait cycle and keep each cycle in a row of a table.

10 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Eric Sofen
Eric Sofen il 8 Dic 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 Commenti
Mohammad Ahmad
Mohammad Ahmad il 10 Dic 2021
thank you for your response. Here the variable Fun_Fz is unrecognized. could you please address it? I tried several times but could'nt find any way.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Text Analytics Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by