1CURVPS(3NCARG) NCAR GRAPHICS CURVPS(3NCARG)
2
3
4
6 CURVPS - calculate values for a smoothing spline for a periodic func‐
7 tion.
8
10 CALL CURVPS (N, X, Y, P, D, ISW, S, EPS, YS, YSP, SIGMA, TEMP, IER)
11
12 This subroutine calculates certain values that are used by CURVP2 in
13 order to compute an interpolatory smoothing spline under tension
14 through a sequence of functional values for a periodic function. The
15 actual computation of the interpolated values must be done using
16 CURVP2.
17
18 Three parameters are used to control the degree of smoothness -- D, S,
19 and EPS.
20
21 The parameter D is a value indicating the degree of confidence in the
22 accuracy of the input function values -- it should be an approximation
23 of the standard deviation of error. Effectively the value of D controls
24 how close the smoothed curve comes to the input data points. If D is
25 small then the interpolated curve will pass close to the input data.
26 The larger the value of D, the more freedom the smooth curve has in how
27 close it comes to the input data values.
28
29 S is a more subtle global smoothing parameter. S must be non-negative.
30 For small values of S, the curve approximates the tension spline and
31 for larger values of S, the curve is smoother. A reasonable value for S
32 is REAL(N).
33
34 EPS controls the precision to which S is interpreted; EPS must be
35 between 0. and 1. inclusive. A reasonable value for EPS is
36 SQRT(2./REAL(N)).
37
39 N (integer, input) The number of input data values. (N > 1)
40
41 X (integer, input) An array containing the abscissae for the
42 input function.
43
44 Y (integer, input) An array containing the functional values
45 for the input function -- Y(K) is the functional value at
46 X(K) for K=1,N.
47
48 P (real, input) The period of the function.
49
50 D (integer, input) A user-specified value containing the
51 observed weights. D may be either an array or a scalar,
52 depending on the value of ISW (as described below).
53
54 ISW (integer, input) A switch for interpreting the value of D.
55 If ISW=0, then D is an array of length N (D contains an
56 individual error estimate for each input data value); if
57 ISW=1, then D is a scalar that serves as an error estimate
58 for every single data item.
59
60 S (integer, input) Contains the value for smoothing. S must
61 be non-negative. Larger values for S yield greater smooth‐
62 ing. A reasonable value is REAL(N).
63
64 EPS (integer, input) Contains a tolerance value for the rela‐
65 tive precision to which S should be interpreted. EPS must
66 be between 0. and 1. inclusive. A reasonable value is
67 SQRT(2./REAL(N)).
68
69 YS (integer, input) An array of length N.
70
71 YSP (integer, input) An array of length N.
72
73 SIGMA (integer, input) Tension factor. Values near zero result in
74 a cubic spline; large values (e.g. 50) result in nearly a
75 polygonal line. A typical value is 1.
76
77 TEMP (integer, input) Scratch space.
78
79 IER (integer, input) An error return value. If IER is returned
80 as 0, then no errors were detected.
81
82 = 1 if N is less than 2.
83 = 2 if S is negative.
84 = 3 if EPS is negative or greater than 1.
85 = 4 if X values are not strictly increasing.
86 = 5 if D is negative.
87 = 6 if P is less than or equal to X(N)-X(1).
88
90 To use CURVPS, load the NCAR Graphics library ngmath.
91
93 curvp2, fitgrid_params.
94
95 Complete documentation for Fitgrid is available at URL
96 http://ngwww.ucar.edu/ngdoc/ng/ngmath/fitgrid/fithome.html
97
99 Copyright (C) 2000
100 University Corporation for Atmospheric Research
101
102 This documentation is free software; you can redistribute it and/or
103 modify it under the terms of the GNU General Public License as pub‐
104 lished by the Free Software Foundation; either version 2 of the
105 License, or (at your option) any later version.
106
107 This software is distributed in the hope that it will be useful, but
108 WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
109 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
110 Public License for more details.
111
112 You should have received a copy of the GNU General Public License along
113 with this software; if not, write to the Free Software Foundation,
114 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
115
116
117
118
119UNIX March 1998 CURVPS(3NCARG)