Foot strike Data extraction

10 ビュー (過去 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 Center および File ExchangeAnnotations についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by