# MATLAB: A question regarding one of the previous questions

interpolation

Dear all,
In my previous question
A = {
``    1    '1-2 2004'      0.256       0.385    1    '3-4 2004'      0.268      3.0394    1    '5-6 2004'     0.0504      0.6475    1    '7-8 2004'    14.0985    148.2583    1    '9-10 2004'     0.1128      1.1506    1    '11-12 2004'        NaN    148.2583    1    '1-2 2005'        NaN    148.2583    1    '3-4 2005'     2.5852     34.0146    1    '5-6 2005'      0.322      3.2846    1    '7-8 2005'    14.0985    148.2583    1    '9-10 2005'     2.5852         NaN    1    '11-12 2005'     0.2938       2.854    2    '1-2 2004'      0.256       0.385    2    '3-4 2004'      0.268      3.0394    2    '5-6 2004'     0.0504      0.6475    2    '7-8 2004'    14.0985    148.2583    2    '9-10 2004'     0.1128      1.1506    2    '11-12 2004'        NaN    148.2583    2    '1-2 2005'        NaN    148.2583    2    '3-4 2005'     2.5852     34.0146    2    '5-6 2005'      0.322      3.2846    2    '7-8 2005'    14.0985    148.2583    2    '9-10 2005'     2.5852         NaN    2    '11-12 2005'     0.2938       2.854    3    '1-2 2004'      0.256       0.385    3   '3-4 2004'      0.268      3.0394    3    '5-6 2004'     0.0504      0.6475    3    '7-8 2004'    14.0985    148.2583    3    '9-10 2004'     0.1128      1.1506    3    '11-12 2004'        NaN    148.2583    3    '1-2 2005'        NaN    148.2583    3    '3-4 2005'     2.5852     34.0146    3    '5-6 2005'      0.322      3.2846    3    '7-8 2005'    14.0985    148.2583    3    '9-10 2005'     2.5852         NaN    3    '11-12 2005'     0.2938       2.854}``
These are bimonthly data and I wanted to obtain estimated monthly averages The solution that was given was
`` data       = inpaint_nans(cell2mat(A(:,3:4)),2);% Partition interpolation in blocks (first column)blocks     = [A{:,1}];unBlocks   = unique(blocks);% PreallocateinterpData = cell(numel(unBlocks),1);% Interpolate each blockfor b = unBlocks    idxBlock      = b == blocks;      % index the block    n             = nnz(idxBlock)*2;  % counts its length    interpData{b} = interp1((1:2:n)', data(idxBlock,:),(1:n-1)');end``
The only thing that I do not understand is why (1:n-1)' and not (1:n)'
thanks

``If Y is a vector, it must have the same length as x``