how to compute correlation coefficient without using any matlab functions Except the mean function?

13 views (last 30 days)
how i can compute a correlation coefficient which accepts as input two arrays x and y of the same length representing the data sample and, returns their correlation coefficient (i loaded the x and y inputs as arrays). without using any matlab functions Except the mean function.

Accepted Answer

Star Strider
Star Strider on 27 Dec 2014
Using the Wikipedia definition of the Pearson product-moment correlation for a sample, this works:
x = randi(10,25,1); % Create Data
y = randi(10,25,1); % Create Data
xm = mean(x);
ym = mean(y);
[sxy,s2x,s2y] = deal(0,0,0);
for k1 = 1:length(x)
sxy = sxy + (x(k1)-xm)*(y(k1)-ym);
s2x = s2x + (x(k1)-xm)^2;
s2y = s2y + (y(k1)-ym)^2;
end
r = sxy / (sqrt(s2x)*sqrt(s2y));

More Answers (0)

Categories

Find more on Descriptive Statistics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!