How to calculate sway area rate for center of pressure
36 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
chris pamp
le 28 Août 2022
Commenté : William Rose
le 19 Juil 2023
Hello, i want to calculate sway area (mm2 /s) which is defined as the area enclosed by the center-of-pressure trajectory per unit time. Some useful paper (find below). Please find attached the CoPx and CoPy data.
Hufschmidt A, Dichgans J, Mauritz H, Hufschmidt M (1980) Some methods and parameters of body sway quantifcation and their neurological applications. Arch Psyc Nervenkr 228:135–150
Prieto TE, Myklebust JB, Hofman RG, Lovett EG, Myklebust BM (1996) Measures of postural steadiness: differences between healthy young and elderly adults. IEEE Trans Biomed Eng 43:956–966
0 commentaires
Réponse acceptée
William Rose
le 8 Sep 2022
Since you already have the data in Excel. there is no need for Matlab. Do the calculation in Excel, using equation 19 of Prieto et al., 1996.
When I opened the file you attached, I received a warning message: "External links have beeen disabled", and the data do not look like COP data. There are no headers and the first row is at time=0.006. Therefore I have not analyzed the data in the spreadsheet you uploaded.
I am attaching an Excel file that demonstrates the calculation of Sway Area using equation 19 of Prieto et al., 1996.
Good luck.
7 commentaires
William Rose
le 18 Juil 2023
@Mario Yes it is possible, and not difficult. I am traveling now and have only a cell phone. More later.
William Rose
le 19 Juil 2023
This uses a two-column array data which has the x,y coordinates of the center of pressure. In this example, the COP path consists of 100 points around the unit circle.
data=[cos(2*pi*(0:100)/100);sin(2*pi*(0:100)/100)]';
%plot(data(:,1),data(:,2),'-r.') %view the path
n=length(data);
pL1=0;
for i=2:n
pL1=pL1+sqrt((data(i,1)-data(i-1,1))^2+(data(i,2)-data(i-1,2))^2);
end
fprintf('Path length 1=%.3f.\n',pL1)
The length is 2*pi, as expected for this path.*
In Matlab it is a point of pride to eliminate for loops. You can compute the path length without a for loop:
pL2=sum(((diff(data(:,1)).^2+diff(data(:,2)).^2).^0.5));
fprintf('Path length 2=%.3f.\n',pL2)
The pL2 code does not use n, so you can eliminate the line n=length(data); also.
Try it. Good luck.
*Not exactly, since the path is a 100-gon, not a perfect circle.
Plus de réponses (1)
William Rose
le 9 Sep 2022
@chris pamp, You are welcome. Best wishes for your research.
0 commentaires
Voir également
Catégories
En savoir plus sur Biomechanics dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!