Index of Section 1 Manual Pages

Interix / SUAspline.1Interix / SUA

SPLINE(1)             GNU Plotting Utilities            SPLINE(1)



NAME
       spline - interpolate datasets using splines under tension

SYNOPSIS
       spline [ options ] [ files ]

DESCRIPTION
       spline  reads  datasets from standard input or from one or
       more files, and fits a smooth curve (a  "spline")  through
       each  dataset.   An  interpolated version of each dataset,
       consisting of points from the smooth curve, is written  to
       standard output.

       Unless  the  -a  or  -A options are used (see below), each
       dataset should be a sequence of values for a vector-valued
       function  of  a  single  scalar  variable.   That is, each
       dataset should be a sequence  of  data  points,  given  as
       alternating  t  and  y  values.  t is a scalar independent
       variable, and y is  a  vector-valued  dependent  variable.
       The  dimensionality  of  y is specified with the -d option
       (the default dimensionality  is  1).   Between  each  data
       point and the next, t should increase.

       An  input file may contain more than a single dataset.  If
       an input file  is  in  ASCII  format  (the  default),  its
       datasets  should be separated by blank lines.  The t and y
       values of the data points in each dataset may be  arranged
       arbitrarily, so long as they are separated by white space.
       Besides datasets, an input file may contain any number  of
       comment lines, which should begin with the comment charac-
       ter `#'.  Comment lines are ignored.  They are not treated
       as  blank,  i.e.,  they  do  not  interrupt  a  dataset in
       progress.

       Options and file names may be interspersed on the  command
       line,  but the options are processed before the file names
       are read.  If -- is seen, it is interpreted as the end  of
       the  options.  If no file names are specified, or the file
       name - is encountered, the standard input is read.

       The type of interpolation, and the format of the input and
       output files, may be selected by command-line options.

OPTIONS
   Interpolation-Related Options
       -f
       --filter
              Use  a  local  interpolation  algorithm  (the cubic
              Bessel algorithm), so that spline can be used as  a
              real-time  filter.   The slope of the interpolating
              curve at each point in a dataset will be chosen  by
              fitting a quadratic function through that point and
              the two adjacent points in the dataset.  If  -f  is
              specified  then  the -t option, otherwise optional,
              must be used as well.  Also,  if  -f  is  specified
              then the -k, -p, and -T options may not be used.

              If  -f  is not specified, then the default (global)
              interpolation algorithm will be used.

       -k k
       --boundary-condition k
              Set the boundary condition parameter for each  con-
              structed  spline  to  be  k.  (The default value is
              1.0.)  In each of its components, the  spline  will
              satisfy  the  two  boundary conditions y"[0]=ky"[1]
              and y"[n]=ky"[n-1].  Here y[0] and y[1] signify the
              values  of a specified component of the vector-val-
              ued dependent variable y at the first two points of
              a  dataset,  and  y[n-1] and y[n] the values at the
              last two points.  Setting k to zero  will  yield  a
              "natural" spline, i.e., one that has zero curvature
              at the two ends of the dataset.  The -k option  may
              not be used if -f or -p is specified.

       -n n
       --number-of-intervals n
              Subdivide  the  interval  over  which interpolation
              occurs into n subintervals.   The  number  of  data
              points computed, and written to the output, will be
              n+1.  The default value for n is 100.

       -p
       --periodic
              Construct a periodic spline.   If  this  option  is
              specified,  the  y  values  for  the first and last
              points in each dataset must be equal.  The  -f  and
              -k options may not be used if -p is specified.

       -T tension
       --tension tension
              Each  interpolating  curve  will  be a spline under
              tension.  This option sets the tension  value  (the
              default is 0.0).

              If  tension equals zero, the curve will be a piece-
              wise cubic spline.  Increasing  the  tension  above
              zero  makes  the  curve  "tighter", and reduces the
              likelihood of spurious inflection points.  That  is
              because between each pair of successive points in a
              dataset, the curve will  satisfy  the  fourth-order
              differential     equation    y""=sgn(tension)*(ten-
              sion^2)y" in each of its  components.   As  tension
              increases to positive infinity, it will converge to
              a polygonal line.  The -T option may not be used if
              -f is specified.

       -t tmin tmax [tspacing]
       --t-spacing tmin tmax [tspacing]
              For  each  dataset,  set  the  interval  over which
              interpolation occurs to  be  the  interval  between
              tmin  and  tmax.  If tspacing is not specified, the
              interval will be divided into the number of  subin-
              tervals specified by the -n option.

              If  the  -t  option  is not used, the interval over
              which interpolation occurs will be the entire range
              of the independent variable in the dataset.  The -t
              option must always be used if the -f option is used
              to request filter-like behavior (see above).

   Format-Related Options
       -d dimension
       --y-dimension dimension
              Set  the dimensionality of the dependent variable y
              in the input and output files to be dimension.  The
              default dimension is 1.

       -I data-format
       --input-format data-format
              Set  the  data  format  for the input file(s) to be
              data-format, which may be one of the following.

              a      ASCII format (the default).  Each file is  a
                     sequence  of  floating point numbers, inter-
                     preted as the t and  y  coordinates  of  the
                     successive  data  points in a dataset.  If y
                     is d-dimensional, there will be d+1  numbers
                     for  each point.  The t and y coordinates of
                     a point need not appear on  the  same  line,
                     and  points  need  not  appear  on different
                     lines.  But if a blank  line  occurs  (i.e.,
                     two  newlines in succession are seen), it is
                     interpreted as the end of a dataset, and the
                     beginning of the next.

              f      Single  precision  binary format.  Each file
                     is a sequence  of  floating  point  numbers,
                     interpreted  as  the  t and y coordinates of
                     the successive data points in a dataset.  If
                     y  is  d-dimensional, there will be d+1 num-
                     bers for each  point.   Successive  datasets
                     are  separated by a single occurrence of the
                     quantity FLT_MAX, which is the largest  pos-
                     sible  single  precision floating point num-
                     ber.  On most machines this is approximately
                     3.4x10^38.

              d      Double  precision  binary format.  Each file
                     is a sequence of double  precision  floating
                     point  numbers,  interpreted  as the t and y
                     coordinates of the successive data points in
                     a  dataset.   If  y  is d-dimensional, there
                     will be d+1 numbers for each point.  Succes-
                     sive  datasets  are  separated  by  a single
                     occurrence of the quantity DBL_MAX, which is
                     the largest possible double precision float-
                     ing point number.  On most machines this  is
                     approximately 1.8x10^308.

              i      Integer  binary  format.   Each  file  is  a
                     sequence of integers, interpreted as  the  t
                     and  y  coordinates  of  the successive data
                     points in a dataset.  If y is d-dimensional,
                     there  will  be  d+1 numbers for each point.
                     Successive datasets are separated by a  sin-
                     gle  occurrence  of  the  quantity  INT_MAX,
                     which is the largest possible  integer.   On
                     most machines this is 2^31-1.

       -a [step_size [lower_limit]]
       --auto-abscissa [step_size [lower_limit]]
              Automatically  generate  values for t, the indepen-
              dent variable (the default values of step_size  and
              lower_limit are 1.0 and 0.0, respectively).

              Irrespective  of  data  format  (`a',  `f', `d', or
              `i'), this option specifies that the  values  of  t
              are  missing from the input file: the dataset(s) to
              be read contain only values  of  y,  the  dependent
              variable.   So if y is d-dimensional, there will be
              only d numbers for each point.  The increment  from
              each t value to the next will be step_size, and the
              first t value will be lower_limit.  This option  is
              useful, e.g., when interpolating curves rather than
              functions.

       -A
       --auto-dist-abscissa
              Automatically generate values for t,  the  indepen-
              dent  variable.   This  is a variant form of the -a
              option.  The increment from each  t  value  to  the
              next  will  be  the distance in d-dimensional space
              between the corresponding y values, and the first t
              value  will  be 0.0.  That is, t will be "polygonal
              arclength".  This option is useful when interpolat-
              ing curves rather than functions.

       -O data-format
       --output-format data-format
              Set the data format for the output file to be data-
              format.  The interpretation of data-format  is  the
              same  as  for  the  -I option.  The default is `a',
              i.e., ASCII format.

       -P significant-digits
       --precision significant-digits
              Set the numerical precision for the t and y  values
              in  the output file to be significant-digits.  This
              takes effect only if the output file is written  in
              `a'  format,  i.e.,  in  ASCII.  significant-digits
              must be a positive integer (the default is 6).

       -s
       --suppress-abscissa
              Omit the independent variable  t  from  the  output
              file;  for  each  point,  supply only the dependent
              variable y.  If y is d-dimensional, there  will  be
              only  d  numbers  for  each  point,  not d+1.  This
              option is useful when interpolating  curves  rather
              than functions.

   Informational Options
       --help Print a list of command-line options, and exit.

       --version
              Print the version number of spline and the plotting
              utilities package, and exit.

EXAMPLES
       Typing

              echo 0 0 1 1 2 0 | spline

       will produce on standard output  an  interpolated  dataset
       consisting  of 101 data points.  If graphed, this interpo-
       lated dataset will yield a parabola.

       It is sometimes useful to interpolate between  a  sequence
       of arbitrarily placed points in d-dimensional space, i.e.,
       to "spline a curve" rather than a function.  The -a and -s
       options are used for this.  For example,

              echo 0 0 1 0 1 1 0 1 | spline -d 2 -a -s

       will  produce  on standard output a 101-point dataset that
       interpolates between the four points (0,0), (1,0),  (1,1),
       and  (0,1).   The -d 2 option specifies that the dependent
       variable y is two-dimensional.  The  -a  option  specifies
       that the t values are missing from the input and should be
       automatically generated.  The -s option specifies that the
       t values should be stripped from the output.

AUTHORS
       spline  was  written  by  Robert  S.  Maier (rsm@math.ari-
       zona.edu), starting with an earlier version by  Rich  Mur-
       phey  (rich@freebsd.org).  The algorithms for constructing
       splines under tension are similar to  those  used  in  the
       FITPACK subroutine library, and are ultimately due to Alan
       K. Cline (cline@cs.utexas.edu).

SEE ALSO
       "The GNU Plotting Utilities Manual".

BUGS
       Email bug reports to bug-gnu-utils@gnu.org.



FSF                          Dec 1998                   SPLINE(1)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA