function [ n_data, mu, sigma, x, fx ] = normal_pdf_values ( n_data )

%*****************************************************************************80
%
%% normal_pdf_values() returns some values of the Normal PDF.
%
%  Discussion:
%
%    In Mathematica, the function can be evaluated by:
%
%      Needs["Statistics`ContinuousDistributions`"]
%      dist = NormalDistribution [ mu, sigma ]
%      PDF [ dist, x ]
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    27 July 2015
%
%  Author:
%
%    John Burkardt
%
%  Input:
%
%    integer N_DATA.  The user sets N_DATA to 0 before the first call.  
%    Thereafter, it should simply be the value returned by the previous call.
%
%  Output:
%
%    integer N_DATA.  On each call, the routine increments N_DATA by 1, and
%    returns the corresponding data; when there is no more data, the
%    output value of N_DATA will be 0 again.
%
%    real MU, the mean of the distribution.
%
%    real SIGMA, the standard deviation of the distribution.
%
%    real X, the argument of the function.
%
%    real FX, the value of the function.
%
  n_max = 10;

  fx_vec = [ ...
    0.01180775937213258, ...
    0.006307849174478944, ...
    0.0147514774470322, ...
    0.9468437743011001, ...
    0.02140312299941794, ...
    0.05939959967353488, ...
    0.2348929157422787, ...
    0.007207515678571277, ...
    0.005944396897656727, ...
    0.03637663165771322 ];

  mu_vec = [ ...
       -56.31634060352484, ...
         12.33908855337884, ...
        -48.48444152359102, ...
          26.7931424604825, ...
        -19.73874370047668, ...
        -99.63232576831896, ...
        -81.09104995766396, ...
         68.16949013113364, ...
        -47.93940044652702, ...
        -29.67426801922078 ]; 

  sigma_vec = [ ...
    4.785956124893755, ...
    2.13500469923221, ...
    0.6387882883091059, ...
    0.4024634224214489, ...
    3.79790008346491, ...
    4.497769898408682, ...
    0.1667227687589636, ...
    0.7032091872463158, ...
    4.57117016420902, ...
    4.132147851761006 ];

  x_vec = [ ...
  -46.85424018542929, ...
    6.781057314200307, ...
  -50.23282168570062, ...
   26.67129012408019, ...
  -12.9643468135976, ...
 -103.6600156181528, ...
  -80.73183222587458, ...
   66.09155915000321, ...
  -58.53544475210675, ...
  -35.44773135435396 ];

  if ( n_data < 0 )
    n_data = 0;
  end

  n_data = n_data + 1;

  if ( n_max < n_data )
    n_data = 0;
    mu = 0.0;
    sigma = 0.0;
    x = 0.0;
    fx = 0.0;
  else
    mu = mu_vec(n_data);
    sigma = sigma_vec(n_data);
    x = x_vec(n_data);
    fx = fx_vec(n_data);
  end

  return
end
