new to PH and MATLAB, please help - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

new to PH and MATLAB, please help

blink1nceblink1nce Posts: 1Member
Hello all!
I am Brian, an electrical engineering student at Vanderbilt University. I am doing some research involving a PCA (Principal Component Analysis) in a spectroscopy project. Most of this code is taken from a tutorial, and I am trying to make it work for my project, where I have only one measurement per time sample instead of several. So, I have a (MxN) (1x2000) matrix, where the 2000 is the number of samples taken sequentially. I am getting an error on line 8. Please tell me why!
Any other comments or suggestions about this code are welcome.

function [signals,PC,V] = PCA_analysis_fromTutorial(data)
% PCA1: Perform PCA using covariance.
% data - MxN matrix of input data
% (M dimensions, N trials)
% signals - MxN matrix of projected data
% PC - each column is a PC
% V - Mx1 matrix of variances
MATRIX = importdata('C:UsersBrian NeavesDesktopPETN data for PCA analysis');
N = size(MATRIX);

% subtract off the mean for each dimension
mn = mean(data,2);
data = data - repmat(mn,1,N);
% calculate the covariance matrix
covariance = 1 / (N-1) * data * data;
% find the eigenvectors and eigenvalues
[PC, V] = eig(covariance);
% extract diagonal of matrix as vector
V = diag(V);
% sort the variances in decreasing order
[~, rindices] = sort(-1*V);
V = V(rindices);
PC = PC(:,rindices);
% project the original data set
signals = PC * data;
Sign In or Register to comment.