covartech / PRT

Pattern Recognition Toolbox for MATLAB
http://covartech.github.io/
MIT License
144 stars 70 forks source link

Problem in Signal Patter Recognition #32

Closed anaritam closed 9 years ago

anaritam commented 9 years ago

Hi, So I'm trying to distinguish between 2 movements of the hand with a signal acquired from the muscle of the arm. I have 16 signals of 3 seconds for each movement (16 matrices of 1x3000 samples for each movement). Then I calculated the Integral, the mean absolute value, simple square integral, variance and root mean square of each signal, ending up with two 16x5 matrices. So, I have 16 signals and 5 features. I've made a 16x5 matrix of labels but know, I'm not able to use the toolbox. I mean, it always says that the dimensions don't match... I'm not sure what I'm doing wrong here. If you could help me I'll appreciated.

Thanks, Ana

peterTorrione commented 9 years ago

Hi Ana,

How many independent observations of the hand motions do you have? i.e., how many examples of someone moving their hand do you have? Are the 16 signals all recorded at the same time for each movement? So a 16x3000 matrix represents one movement? If so, how many of these individual 16x3000 matrices do you have?

Whatever the resulting structure of the problem, you'll need to make a matrix, X, of size

Hand Motions x # Features,

and a corresponding matrix Y

Hand motions x 1

With two distinct values for each of the two hand motions. If # Hand motions is 1 or two, you may need to collect more data....

Hope this helps

-Pete

anaritam commented 9 years ago

I have 16 independent observations of 1 movement, and other 16 observations of the other movement. I was able to create the dataSet but when I try plotPairs to have all the combinations between all the 5 features, it doesn't plot anything. My matrix Y is: labels=[zeros(16,1); ones(16,1)];

peterTorrione commented 9 years ago

OK. I think I understand - you will have 32 observations, 5 features, from two classes.

Is your dataSet made of a 32x5 "X" matrix and a 32x1 "Y" matrix?

That should work, unless there are NAN's or INF's in your X matrix. For example, this works for me:

ds = prtDataSetClass(randn(32,5),prtUtilY(16,16)); %make a 32x5 nonsense data set ds.plotPairs

anaritam commented 9 years ago

Yes, exactly! There are no INF's or NAN's in any of my matrices and this is still what I get when I use plotPairs http://www.image-maps.com/m/private/0/ah9cb7abgble5aueg9noofgki3_screen-shot-02-19-15-at-05.12-pm.png

peterTorrione commented 9 years ago

Can you send me the dataset in a MAT file?

pete (at) covar (dot) com

peterTorrione commented 9 years ago

Oh - nevermind, Can you do:

close all; %then close any remaining MATLAB windows

then:

ds.plotPairs % or whatever your data set is called?

It looks like the plot is showing up in the wrong MATLAB figure, which is confusing MATLAB. I am not sure why that is happening though. let me know if that helps

anaritam commented 9 years ago

Yes It worked! Thanks a lot