1CURVS1(3NCARG) NCAR GRAPHICS CURVS1(3NCARG)
2
3
4
6 CURVS1 - calculate values for a smoothing spline for data in the plane.
7
9 CALL CURVS1 (N,X,Y,D,ISW,S,EPS,PARAM,XS,YS,XSP,YSP,
10 SIGMA,TEMP,IERR)
11
12 This subroutine calculates certain values that are used by CURVS2 in
13 order to compute an interpolatory smoothing spline under tension
14 through a sequence of data values in the plane. In general this curve
15 will not pass through the original data points. The actual computation
16 of the interpolated values must be done using CURVS2.
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 interpolated curve approximates the tension
31 spline and for larger values of S, the curve is smoother. A reasonable
32 value for S 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 X-coordinates for
42 the input data. These need not be increasing.
43
44 Y (integer, input) An array containing the Y-coordinates for
45 the input data.
46
47 D (integer, input) A user-specified value containing the
48 observed weights. D may be either an array or a scalar,
49 depending on the value of ISW (as described below).
50
51 ISW (integer, input) A switch for interpreting the value of D.
52 If ISW=0, then D is an array of length N (D contains an
53 individual error estimate for each input data value); if
54 ISW=1, then D is a scalar that serves as an error estimate
55 for every single data item.
56
57 S (integer, input) Contains the value for smoothing. S must
58 be non-negative. Larger values for S yield greater smooth‐
59 ing. A reasonable value is REAL(N).
60
61 EPS (integer, input) Contains a tolerance value for the rela‐
62 tive precision to which S should be interpreted. EPS must
63 be between 0. and 1. inclusive. A reasonable value is
64 SQRT(2./REAL(N)).
65
66 PARAM (integer, output) PARAM(I) is the arc length of the curve
67 up through point (X(I),Y(I)), divided by the total arc
68 length.
69
70 XS (integer, output) An array of length N. Contains the
71 smoothed values.
72
73 XSP (integer, output) An array of length N. Contains second
74 derivative information for the X-coordinate values.
75
76 YS (integer, output) An array of length N. Contains the
77 smoothed values.
78
79 YSP (integer, output) An array of length N. Contains second
80 derivative information for the X-coordinate values.
81
82 SIGMA (integer, input) Tension factor. Values near zero result in
83 a cubic spline; large values (e.g. 50) result in nearly a
84 polygonal line. A typical value is 1.
85
86 TEMP (integer, input) Scratch space of length at least 19*N.
87
88 IER (integer, output) An error return value. If IER is returned
89 as 0, then no errors were detected.
90
91 = 1 if N is less than 2.
92 = 2 if S is negative.
93 = 3 if EPS is negative or greater than 1.
94 = 5 if D is negative.
95
97 To use CURVS1, load the NCAR Graphics library ngmath.
98
100 curvs2, fitgrid_params.
101
102 Complete documentation for Fitgrid is available at URL
103 http://ngwww.ucar.edu/ngdoc/ng/ngmath/fitgrid/fithome.html
104
106 Copyright (C) 2000
107 University Corporation for Atmospheric Research
108
109 This documentation is free software; you can redistribute it and/or
110 modify it under the terms of the GNU General Public License as pub‐
111 lished by the Free Software Foundation; either version 2 of the
112 License, or (at your option) any later version.
113
114 This software is distributed in the hope that it will be useful, but
115 WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
116 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
117 Public License for more details.
118
119 You should have received a copy of the GNU General Public License along
120 with this software; if not, write to the Free Software Foundation,
121 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
122
123
124
125
126UNIX August 2002 CURVS1(3NCARG)