Octave was trying to calculate the values for each column. Because your input is a row vector, each column has only 1 element, hence the weird behaviour. You can work around this by specifying the dimension (third input argument), or passing the a column vector (use x(:)
).
Apparently this was Matlab old behaviour but this has since changed, and Octave will now use the first non-singleton dimension (see bug #40736). If you're using the development version (not yet released) that will work fine:
quantile (1:15)
ans =
1.0000 4.2500 8.0000 11.7500 15.0000