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

15 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Eric Sofen
Eric Sofen am 8 Dez. 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 Kommentare
Mohammad Ahmad
Mohammad Ahmad am 10 Dez. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by