# Index exceeds array bounds from CorrCoeff

7 views (last 30 days)
cniv_we on 19 Aug 2019
Commented: cniv_we on 19 Aug 2019
I am trying to calculate cumulative correlation coefficient matrix from 2 different arrays saved in matrix X
Now I only need to save the correlation coefficient in position (1,2) as corrcoeff typically gives 2x2 elements. However, I got this error code: Index in position 2 exceeds array bounds (must not exceed 1).
What's wrong with code below?
for b = 1:1000
corr_coeff = corrcoef(X(1:b,1),X(1:b,2)) % Calculate the cumulative corr.coeff between X(1:b) of column 1 and X(1:b) of column 2
CC(b,:) = [b corr_coeff(1,2)];
end
When I do not give the command CC(b,:) = [b corr_coeff(1,2)]; I don't have any problem?

the cyclist on 19 Aug 2019
The problem is that in the first iteration of your loop, you are taking the correlation of two scalar values:
corrcoef(X(1,1),X(1,2))
which will just give the value 1, not a 2x2 matrix.
Maybe start your loop from b=2?

#### 1 Comment

cniv_we on 19 Aug 2019
Ah alright, that works. Thank you.