MATLAB Answers

Index exceeds array bounds from CorrCoeff

7 views (last 30 days)
cniv_we
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?

  0 Comments

Sign in to comment.

Accepted Answer

the cyclist
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
cniv_we on 19 Aug 2019
Ah alright, that works. Thank you.

Sign in to comment.

More Answers (0)

Products