I'm not sure why you want an array that is 46x28x6. My interpretation of your question is that you have a 46x28 matrix of (spatial?) data for each time step, and you want to interpolate your 46x28x364 array to get a 46x28x368 array. You can do it without any loops as follows:
t0 = [1:156 161:368];
ti = 156:161;
PRECIP_INT = permute(PRECIP_CS,[3 1 2]);
PRECIP_INT = interp1(t0,PRECIP_INT,ti);
PRECIP_INT = permute(PRECIP_INT,[2 3 1]);
EDIT: I modified the answer to give you just the 6 time steps.
Best Answer