
Foot strike Data extraction
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am looking to extract some foot strike acceleration data based on a logical square wave of varrying pulse widths (foot incontact with the floor) and assign these to different variables. Bassically when one varialble equals 1 I want to extract a different variable data and store it.
0 commentaires
Réponses (1)
Image Analyst
le 6 Déc 2020
Tom: Here is what I have so far (actually it's just what you should have posted originally):
s = load('Foot_strike.mat')
y = s.footcontact;
left = y.left;
acceleration = y.acceleration;
subplot(2, 1, 1);
plot(left, 'b-', 'LineWidth', 2);
title('Left', 'FontSize', 20);
grid on;
subplot(2, 1, 2);
plot(acceleration(:, 1), 'r-', 'LineWidth', 2);
hold on;
plot(acceleration(:, 2), 'g-', 'LineWidth', 2);
plot(acceleration(:, 3), 'b-', 'LineWidth', 2);
legend('1', '2', '3');
grid on;
title('Acceleration', 'FontSize', 20);
g = gcf;
g.WindowState = 'maximized';

OK, so now, what do you want to measure when the Left pulse is up near 1? What EXACTLY does "I want to extract a different variable data and store it." mean?
4 commentaires
Image Analyst
le 6 Déc 2020
Tom, if you want each step individually, you can use regionprops().
% Demo to get mean accelerations for each step.
clc; % Clear the command window.
clear all;
close all;
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 15;
s = load('Foot_strike.mat')
y = s.footcontact;
left = y.left;
acceleration = y.acceleration;
subplot(2, 1, 1);
plot(left, 'b-', 'LineWidth', 2);
title('Left', 'FontSize', 20);
grid on;
subplot(2, 1, 2);
plot(acceleration(:, 1), 'r-', 'LineWidth', 2);
hold on;
plot(acceleration(:, 2), 'g-', 'LineWidth', 2);
plot(acceleration(:, 3), 'b-', 'LineWidth', 2);
legend('1', '2', '3');
grid on;
title('Acceleration', 'FontSize', 20);
g = gcf;
g.WindowState = 'maximized';
% Find all indexes where left == 1
stepIndexes = left == 1;
% Get the average accelerations for each step.
% First for column1 of acceleration:
props1 = regionprops(stepIndexes, acceleration(:, 1), 'MeanIntensity');
accel1 = [props1.MeanIntensity] % Mean accelerations over the step, for all steps.
% First for column 2 of acceleration:
props2 = regionprops(stepIndexes, acceleration(:, 2), 'MeanIntensity');
accel2 = [props2.MeanIntensity] % Mean accelerations over the step, for all steps.
% First for column 3 of acceleration:
props3 = regionprops(stepIndexes, acceleration(:, 3), 'MeanIntensity');
accel3 = [props3.MeanIntensity] % Mean accelerations over the step, for all steps.
Voir également
Catégories
En savoir plus sur Annotations dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
