You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: quiver3.m
    path of file: ./repos/chebfun/@separableApprox
    
    the code of the file until where you have to start completion: function varargout = quiver3( Z, F, varargin )
%QUIVER3  3-D quiver plot of a CHEBFUN2V at data mapped by a SEPARABLEAPPROX.
%
% QUIVER3(Z, F) plots velocity vectors at the equally spaced surface points
% specified by the SEPARABLEAPPROX Z. We use Z to map a un
    
function newloc = new_data_locations(f1, numpts)
% Generate new arrow location if first two inputs are SEPARABLEAPPROX objects.

dom = f1.domain;

% mesh 'em up for the quiver arrows.
x = linspace(dom(1), dom(2), numpts);
y = linspace(dom(3), dom(4), numpts);

[xx, yy] = meshgrid(x, y);
newloc = feval(f1, xx, yy);      % use SEPARABLEAPPROX to generate data locations.

end