Calculate area from a signal
6 views (last 30 days)
Show older comments
Hi, would like to calculate area from this emg signal
There are three different channels. I've done RMS and snap the exact tiem I need to analyse but don't know how to calculate total area
My code is:
for c=2:2
A=strcat('S1_',num2str(c));
B=strcat(A,'.emt');
D=importdata(B,'\t',12);
[F, C]=size(D.data);
x=filter(Filtro_emg,D.data);
centro=(F-mod(F,2))/2;
x=x(((centro-4000)+242:(centro-4000)+3026),:);
RMS = Rms_emg (x,100)*1000;
S=smoothdata(RMS);
plot(S);
for b=3:5
Areatotal(b,c)=sum(S(:,b)); I've tried with this, but don't know if it's correct
Media(b,c)=mean(S(:,b));
Maximo(b,c)=max(S(:,b));
end
end
Please help, thanks!
0 Comments
Accepted Answer
AndresVar
on 10 Feb 2022
Edited: AndresVar
on 10 Feb 2022
You can use trapezoidal rule: see trapz: Trapezoidal numerical integration - MATLAB trapz (mathworks.com)
area = trapz(x,y) % i think for you trapz(S(:,b)) or just trapz(S(:,b)) if dx = 1
sum also works so you can compare your result. You must multiply the sum by dx, but it looks like dx=1 in your case.
3 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!