1c_csa3lxs(3NCARG)                NCAR GRAPHICS               c_csa3lxs(3NCARG)
2
3
4

NAME

6       c_csa3lxs - cubic spline approximation, expanded entry for three-dimen‐
7       sional input, list output
8

FUNCTION PROTOTYPE

10       float *c_csa3lxs(int, float [], float [], float [], float [],
11                        float [], int [], float, int [],
12                        int, float [], float [], float [], int *);
13
14

SYNOPSIS

16       float *c_csa3lxs(int n, float xi[], float yi[], float zi[], float ui[],
17                        float wts[], int knots[3], float smth, int nderiv[3],
18                        int no, float xo[], float yo[], float zo[], int *ier);
19
20

DESCRIPTION

22       n           (integer,input) The number of input data points. It must be
23                   that  n  is  greater  than  3 and, depending on the size of
24                   knots below, n may have to be larger.
25
26       xi          (real, input) An array dimensioned for n containing  the  X
27                   coordinate values for the input function.
28
29       yi          (real,  input)  An array dimensioned for n containing the Y
30                   coordinate values for the input function.
31
32       zi          (real, input) An array dimensioned for n containing  the  Z
33                   coordinate values for the input function.
34
35       ui          (real,  input) An array containing the functional values of
36                   the input function -- ui[k]  is  the  functional  value  at
37                   (xi[k], yi[k], zi[k]) for k=0,n-1.
38
39       wts         (real, input) An array containing weights for the ui values
40                   at the input values, that is, wts[l] is a  weight  for  the
41                   value  of ui[l] for l=0,n-1. If you do not desire to weight
42                   the input ui values, then set wts[0] to -1. The weights  in
43                   the  wts array are relative and may be set to any non-nega‐
44                   tive value. When  c_csa3lxs  is  called,  the  weights  are
45                   summed  and  the  individual weights are normalized so that
46                   the weight sum is unity.
47
48       knots       (integer, input) The number of knots to  be  used  in  con‐
49                   structing  the  approximation  spline.  knots[0], knots[1],
50                   and knots[2] must be at least 4. The larger the  value  for
51                   knots, the closer the approximated curve will come to pass‐
52                   ing through the input function values.
53
54       smth        (real, input) A parameter that controls extrapolation  into
55                   data  sparse regions. If smth is zero, then nothing special
56                   is done in data sparse regions. A  good  first  choice  for
57                   smth is 1.
58
59       nderiv      (real,  input)  For  each  of the two coordinate direction,
60                   specifies whether you want  functional  values  (nderiv=0),
61                   first  derivative  values  (nderiv=1), or second derivative
62                   values (nderiv=2). For example, if nderiv[0]=1, nderiv[1]=1
63                   and  nderiv[2]=0,  then the second order mixed partial with
64                   respect to X and Y would be computed.
65
66       no          (integer, input) The number of X - Y - Z coordinate  values
67                   to be calculated for the output array.
68
69       xo          (real,  input) An array dimensioned for no containing the X
70                   coordinates of the output list.
71
72       yo          (real, output) An array dimensioned for no containing the Y
73                   coordinates of the output list.
74
75       zo          (real, output) An array dimensioned for no containing the Z
76                   coordinates of the output list.
77
78       ier         (pointer to integer, output) An error return value. If *ier
79                   is  returned as 0, then no errors were detected. If *ier is
80                   non-zero, then refer to the error list in the  error  table
81                   for details.
82

USAGE

84       c_csa3lxs  is called to find values of an approximating cubic spline at
85       specified three-dimensional coordinates.  c_csa3lxs is  called  if  you
86       want  to weight the input data values, calculate derivatives, or handle
87       data sparse areas specially.  If you do not want to  do  any  of  these
88       three things, then use c_csa3ls.
89
90       c_csa3lxs returns a pointer to a linear array of data that contains the
91       approximated values calculated at the input list of coordinate  values.
92       That is, if out is declared as
93
94         float *out;
95
96       and we set:
97
98         out = c_csa3lxs(n, x, y, z, u, wts, knots, smth, nderiv,
99                         no, xo, yo, zo, &ier);
100
101       then  out[i]  is  the  approximated  function value at coordinate point
102       (xo[i], yo[i], zo[i]) for 0 <= i < no. The space for out  is  allocated
103       internal to c_csa3lxs and is no floats in size.
104

ACCESS

106       To use c_csa3lxs, load the NCAR Graphics library ngmath.
107

SEE ALSO

109       csagrid, c_csa3s, c_csa3xs, c_csa3lxs
110
111       Complete documentation for Csagrid is available at URL
112       http://ngwww.ucar.edu/ngdoc/ng/ngmath/csagrid/csahome.html
113
115       Copyright (C) 2000
116       University Corporation for Atmospheric Research
117
118       This  documentation  is  free  software; you can redistribute it and/or
119       modify it under the terms of the GNU General  Public  License  as  pub‐
120       lished  by  the  Free  Software  Foundation;  either  version  2 of the
121       License, or (at your option) any later version.
122
123       This software is distributed in the hope that it will  be  useful,  but
124       WITHOUT  ANY  WARRANTY;  without  even  the  implied  warranty  of MER‐
125       CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  General
126       Public License for more details.
127
128       You should have received a copy of the GNU General Public License along
129       with this software; if not, write  to  the  Free  Software  Foundation,
130       Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
131
132
133
134
135UNIX                             January 1999                c_csa3lxs(3NCARG)
Impressum