Foot strike Data extraction

조회 수: 13 (최근 30일)
Tom Wills
Tom Wills 2020년 12월 6일
댓글: Image Analyst 2020년 12월 6일
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.

답변 (1개)

Image Analyst
Image Analyst 2020년 12월 6일
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
Tom Wills
Tom Wills 2020년 12월 6일
Hi maybe this photo will clarify the data that I am after. I require the accelerations covered in the areas shown bellow as seperate variables. Using the method you have shown will give me a single vector of the accelerations that I require not indervidual vectors?
Image Analyst
Image Analyst 2020년 12월 6일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by