Use griddata to interpolate your data
xx = linspace(min(X),max(X),20);
yy = linspace(min(Y),max(Y),20);
[X1,Y1] = meshgrid(xx,yy);
Z1 = griddata(X,Y,Z,X1,Y1);
F1 = griddata(X,Y,F,X1,Y1);
surf(X1,Y1,Z1,'cdata',F1)

Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!