c_csa3s - cubic spline approximation, simple entry for
three-dimensional input, gridded output
float *c_csa3s(int, float [], float [], float [], float [], int [], int, int,
int, float [], float [], float [], int *);
float *c_csa3s (int n, float xi[], float yi[], float zi[],
float ui[], int knots[3], int nxo, int nyo,
int nzo, float xo[], float yo[], float zo[],
int *ier);
- n
- (integer,input) The number of input data points. It must be that n is
greater than 3 and, depending on the size of knots below, n may have to be
larger.
- xi
- (real, input) An array dimensioned for n containing the X coordinate
values for the input function.
- yi
- (real, input) An array dimensioned for n containing the Y coordinate
values for the input function.
- zi
- (real, input) An array dimensioned for n containing the Z coordinate
values for the input function.
- ui
- (real, input) An array containing the functional values of the input
function -- ui[k] is the functional value at (xi[k], yi[k], zi[k]) for
k=0,n-1.
- knots
- (integer, input) The number of knots to be used in constructing the
approximation spline. knots[0], knots[1] and knots[2] must each be at
least 4. The larger the value for knots, the closer the approximated curve
will come to passing through the input function values.
- nxo
- (integer, input) The number of X coordinate values to be calculated for
the output surface.
- nyo
- (integer, input) The number of Y coordinate values to be calculated for
the output surface.
- nzo
- The number of Z coordinate values to be calculated for the output
grid.
- xo
- (real, input) An array dimensioned for nxo containing the X coordinates of
the output grid.
- yo
- (real, output) An array dimensioned for nyo containing the Y coordinates
of the output grid.
- zo
- (real, output) An array dimensioned for nzo containing the Z coordinates
of the output grid.
- ier
- (pointer to integer, output) An error return value. If *ier is returned as
0, then no errors were detected. If *ier is non-zero, then refer to the
error list in the error table for details.
c_csa3s is called to find an approximating cubic spline for
three-dimensional input data. If you want to weight the input data values,
calculate derivatives, or handle data sparse areas specially, then you will
need to use c_csa3xs.
c_csa3s returns a pointer to a linear array of data that is the
approximation spline stored in row-major order. That is, if out is declared
as
float *out;
and we set:
out = c_csa3s(n, x, y, z, u, nx, ny, nz, xo, yo, zo, &ier);
then out[nz*ny*i + nz*j + k] is the approximation function value
at coordinate point (xo[i], yo[j], zo[k]) for 0 <= i < nx, 0 <= j
< ny, and 0 <= k < nz. The space for out is allocated internal to
c_csa3s and is nx*ny*nz floats in size.
To use c_csa3s, load the NCAR Graphics library ngmath.
csagrid, c_csa3xs, c_csa3ls, c_csa3lxs
Complete documentation for Csagrid is available at URL
http://ngwww.ucar.edu/ngdoc/ng/ngmath/csagrid/csahome.html
Copyright (C) 2000
University Corporation for Atmospheric Research
The use of this Software is governed by a License Agreement.