function GraphZvsXY(x_min, x_max, N_x, y_min, y_max, N_y,FunctionString)

%
% function GraphZvsXY(x_min, x_max, N_x, y_min, y_max, N_y,FunctionString)
%
% Plots the graph of a function z=f(x,y) over the domain
% x_min <= x <= x_max, y_min <= y <= y_max, with N_x grid points
% in the x-direction and N_y grid points in the y-direction
% The function is specified by the string FunctionString.
% For example to plot z=x^2 + y^2 the value of FunctionString would be 
% 'X.^2 + 3*Y.^2'
%
% Typical call:
%
% GraphZvsXY(-1,1,10,-1,1,10,'y.^2-x.^2')

     x = linspace(x_min,x_max,N_x);
     y = linspace(y_min,y_max,N_y);

     [X,Y] = meshgrid(x,y);

     Function = inline(FunctionString);

     Z = Function(X,Y);

     
     surf(X,Y,Z,'linewidth',2)

  
     % This gets the handle for the current axis
     hax=gca;

     % This sets the font name and size for all the text on the plot, including
     % tick labels and axis labels.

     set(hax,'fontname','helvetica','fontweight','bold','fontsize',20);

     xlabel('x')
     ylabel('y')    
     zlabel('z')

     colormap('jet')     
