did you read the documentation? there is an example given for the interpolation and how the given numbers may be distributed. You should also ask yourself, what the 0% border (which contains no data point of the given data) is.
So Matlab thinks you have to have at least one data point inside the smallest percentage. So at least 1 data point, which equals 20% when you have 5 data points. In addition, Matlab centers the given Data, so 1:5 are not percentile 20:20:100 but 10:20:90. If you ask for percentile bigger/smaller that range, Matlab rounds it to the smallest/greatest acceptable percentiles (here 10% and 90%)
data = [1 2 3 4 5];
y1 = prctile(data,10:20:90)
y1 = prctile(data,20:20:100) % you can see that matlab interpolates and caps at the same time
y1 = prctile(data,[0 10:20:90 100]) % here a similar example