fnval(pp, [x(:)'; y(:)'])?
(...)
For an m-variate f with m>1, with f [d1,...,dr]-valued, x may be either an array, or else a cell array {x1,...,xm}.
- If x is an array, of size [n1,...,ns] say, then n1 must equal m, and v has size [d1,...,dr, n2,...,ns], with v(:,...,:, j2,...,js) the value of f at x(:,j2,...,js), – except that(1) d1, ..., dr is ignored in case f is scalar-valued, i.e., both r and n1 are 1;
(...)
In your case m = 2, d1 = 1, r = 1, [x(:)'; y(:)'] would be an array of size (2, length(x))