blt_spline man page on SuSE

Man page or keyword search:  
man Server   14857 pages
apropos Keyword Search (all sections)
Output format
SuSE logo
[printable version]

spline(n)		     BLT Built-In Commands		     spline(n)

______________________________________________________________________________

NAME
       spline -	 Fit curves with spline interpolation

SYNOPSIS
       spline natural x y sx sy

       spline quadratic x y sx sy
_________________________________________________________________

DESCRIPTION
       The  spline  command  computes a spline fitting a set of data points (x
       and y vectors) and produces a vector of	the  interpolated  images  (y-
       coordinates) at a given set of x-coordinates.

INTRODUCTION
       Curve  fitting  has many applications.  In graphs, curve fitting can be
       useful for displaying curves which are aesthetically  pleasing  to  the
       eye.   Another  advantage  is  that  you can quickly generate arbitrary
       points on the curve from a small set of data points.

       A spline is a device used in drafting to produce smoothed curves.   The
       points  of  the	curve, known as knots, are fixed and the spline, typi‐
       cally a thin strip of wood or metal, is bent around the knots to create
       the  smoothed  curve.  Spline interpolation is the mathematical equiva‐
       lent.  The curves between adjacent knots are piecewise  functions  such
       that  the  resulting  spline  runs  exactly through all the knots.  The
       order and coefficients of the polynominal determine the "looseness"  or
       "tightness"  of	the  curve  fit	 from  the line segments formed by the
       knots.

       The spline command performs spline interpolation	 using	cubic  ("natu‐
       ral")  or quadratic polynomial functions.  It computes the spline based
       upon the knots, which are given as x and y vectors.   The  interpolated
       new  points  are	 determined  by	 another  vector  which represents the
       abscissas (x-coordinates) or the new points.  The ordinates  (y-coordi‐
       nates) are interpolated using the spline and written to another vector.

EXAMPLE
       Before we can use the spline command, we need to create two BLT vectors
       which will represent the knots (x and y coordinates) of the  data  that
       we're going to fit.  Obviously, both vectors must be the same length.

	      # Create sample data of ten points.
	      vector x(10) y(10)

	      for {set i 10} {$i > 0} {incr i -1} {
		  set x($i-1) [expr $i*$i]
		  set y($i-1) [expr sin($i*$i*$i)]
	      }

       We  now have two vectors x and y representing the ten data points we're
       trying to fit.  The order of the values	of  x  must  be	 monotonically
       increasing.   We	 can  use the vector's sort operation to sort the vec‐
       tors.

	      x sort y

       The components of x are sorted in increasing order.  The components  of
       y  are  rearranged  so  that  the  original x,y coordinate pairings are
       retained.

       A third vector is needed to indicate the abscissas  (x-coordinates)  of
       the  new	 points	 to be interpolated by the spline.  Like the x vector,
       the vector of abscissas must  be	 monotonically	increasing.   All  the
       abscissas  must lie between the first and last knots (x vector) forming
       the spline.

       How the abscissas are picked is arbitrary.  But if we are going to plot
       the spline, we will want to include the knots too.  Since both the qua‐
       dratic and natural splines preserve the knots (an abscissa from	the  x
       vector  will  always produce the corresponding ordinate from the y vec‐
       tor), we can simply make the new vector a superset of x.	 It will  con‐
       tain  the  same	coordinates  as	 x,  but also the abscissas of the new
       points we want interpolated.  A simple way is to use the vector's popu‐
       late operation.

	      x populate sx 10

       This  creates  a new vector sx.	It contains the abscissas of x, but in
       addition sx will	 have  ten  evenly  distributed	 values	 between  each
       abscissa.   You	can interpolate any points you wish, simply by setting
       the vector values.

       Finally, we generate the ordinates (the images of the spline) using the
       spline command.	The ordinates are stored in a fourth vector.

	      spline natural x y sx sy

       This creates a new vector sy.  It will have the same length as sx.  The
       vectors sx and sy represent the smoothed curve which we can now plot.

	      graph .graph
	      .graph element create original -x x -y x -color blue
	      .graph element create spline -x sx -y sy -color red
	      table . .graph

       The natural operation employs a	cubic  interpolant  when  forming  the
       spline.	 In  terms of the draftmen's spline, a natural spline requires
       the least amount of energy to bend the spline (strip  of	 wood),	 while
       still passing through each knot.	 In mathematical terms, the second de‐
       rivatives of the first and last points are zero.

       Alternatively, you can generate a spline using the quadratic operation.
       Quadratic  interpolation	 produces a spline which follows the line seg‐
       ments of the data points much more closely.

	      spline quadratic x y sx sy

OPERATIONS
       spline natural x y sx sy
	      Computes a cubic spline from the data points represented by  the
	      vectors  x  and y and interpolates new points using vector sx as
	      the x-coordinates.  The resulting y-coordinates are written to a
	      new  vector  sy. The vectors x and y must be the same length and
	      contain at least three components.  The order of the  components
	      of  x  must  be monotonically increasing.	 Sx is the vector con‐
	      taining the x-coordinates of the points to be interpolated.   No
	      component of sx can be less than first component of x or greater
	      than the last component.	The order of the components of sx must
	      be monotonically increasing.  Sy is the name of the vector where
	      the calculated y-coordinates will be stored.   If	 sy  does  not
	      already exist, a new vector will be created.

       spline quadratic x y sx sy
	      Computes	a quadratic spline from the data points represented by
	      the vectors x and y and interpolates new points using vector  sx
	      as  the  x-coordinates.  The resulting y-coordinates are written
	      to a new vector sy.  The vectors x and y must be the same length
	      and  contain at least three components.  The order of the compo‐
	      nents of x must be monotonically increasing.  Sx is  the	vector
	      containing  the  x-coordinates of the points to be interpolated.
	      No component of sx can be less than  first  component  of	 x  or
	      greater than the last component.	The order of the components of
	      sx must be monotonically increasing.  Sy is the name of the vec‐
	      tor  where  the calculated y-coordinates are stored.  If sy does
	      not already exist, a new vector will be created.

REFERENCES
       Numerical Analysis
       by R. Burden, J. Faires and A. Reynolds.
       Prindle, Weber & Schmidt, 1981, pp. 112

       Shape Preserving Quadratic Splines
       by D.F.Mcallister & J.A.Roulier
       Coded by S.L.Dodd & M.Roulier N.C.State University.

       The original code for the quadratric spline can be found in TOMS #574.

KEYWORDS
       spline, vector, graph

BLT				      2.4			     spline(n)
[top]

List of man pages available for SuSE

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net