Clear Filters
Clear Filters

How to apply PCA (Principal Component Analysis) on ECG signals

10 views (last 30 days)
Hello.
I have three ECG signals, called X1,X2,X3 for three different leads, and I want apply PCA (Principal Components Analysis) on all of them to find the component which has the least noise.
Could anybody help me?

Accepted Answer

Image Analyst
Image Analyst on 1 Aug 2017
I assume you looked at the help and tried
coefficients = pca([X1, X2, X3]);
Why did that not work? What went wrong?
  4 Comments
djamaleddine djeldjli
djamaleddine djeldjli on 1 Aug 2017
load('a1.mat')
load('a2.mat')
load('a3.mat')
coefficients = pca([vecta,vectz,vecte]);
all vectors are same size but i still have a problem
coefficients =
Empty matrix: 4350-by-0
i tried coefficients = pca([vecta;vectz;vecte]);
0.0260 0.0200
0.0261 0.0087
0.0262 0.0356
0.0261 0.0324
0.0262 0.0324
0.0264 0.0549
0.0264 0.0528
0.0263 0.0459
0.0262 0.0295
0.0263 0.0189
0.0263 0.0416
i think this is just two components and i need 3 output components because i have 3 input components,and how can i plot every component alone
thank you for everything
Image Analyst
Image Analyst on 1 Aug 2017
Edited: Image Analyst on 2 Aug 2017
You forgot to attach the .mat files so I can't do anything to help you other than to check the sizes of your vectors and make sure they're in columns and not empty.
I'm attaching an example of how to use PCA to determine principal components of the 3-D color gamut.
If Star (our resident physician) reads this he might tell you if this makes any sense. Even though you can do PCA on something you have to know how to interpret the components you get out. So whether a weighted sum of your different cardiac signal actually means anything meaningful is a good question. I think that, depending on which signals you combine, it may well be meaningless.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!