MATLAB: XCORR returns NaNs on interpolated data

autocorrcorrelationdatadelaysstatisticsxcorr

Hello! I have a vector A of dimension 12*1 with monthly values of temperature, and a vector B of dimension 365*1 with daily values of a physical variable. I need to calculate cross correlation between them. I try to interpolate A using interp1. However, after that when I do xcorr, it gives me an array of NaNs. What is the reason of that? Here's what I do:
AA=interp1(1:12,A, 1:365);
C=xcorr(AA,B,'coeff');
And xcorr(AA,AA) also gives me array of NaNs. How can I fix it?

Best Answer

When you ask interp1 to interpolate outside the original range of x, then the default value returned is NaN.
You could try
AA = interp1(1:12, A, linspace(1,12,365));