CURVS(3NCARG)

πŸ’– NAME πŸ’–

CURVS β€” bestie, this one calculates values for a smoothing spline. That's it, that's the whole job. ✨

Oh and hey, real quick, the manual name is NCARG, in case you were wondering which shelf this lives on. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

CALL CURVS (N, X, Y, D, ISW, S, EPS, YS, YSP, SIGMA, TEMP, IER)

okay so here's the tea β˜• β€” this subroutine does not draw the curve for you. It calculates certain values that are used by CURV2 in order to compute an interpolatory smoothing spline under tension through a sequence of functional values. The actual computation of the interpolated values must be done using CURV2. So CURVS is the prep girlie, CURV2 is the one who shows up to the party. 🫢

Three parameters are used to control the degree of smoothness β€” D, S, and EPS. Let's meet them:

The parameter D is a value indicating the degree of confidence in the accuracy of the input function values β€” it should be an approximation of the standard deviation of error. Effectively the value of D controls how close the smoothed curve comes to the input data points. If D is small then the interpolated curve will pass close to the input data. The larger the value of D, the more freedom the smooth curve has in how close it comes to the input data values. it's giving "how much do we trust you, bestie" 😌

S is a more subtle global smoothing parameter. S must be non-negative. For small values of S, the interpolated curve approximates the tension spline and for larger values of S, the curve is smoother. A reasonable value for S is REAL(N). lowkey the vibes knob 🌸

EPS controls the precision to which S is interpreted; EPS must be between 0. and 1. inclusive. A reasonable value for EPS is SQRT(2./REAL(N)). slay, precision queen πŸ’…


✨ DESCRIPTION ✨

Here's the whole cast, one by one, no skipping, we do not cut anyone from the group chat. πŸ’–

  • N β€” (integer, input) The number of input data values. (N > 1) like, more than one, okay?? 😭
  • X β€” (integer, input) An array containing the abscissae for the input function. These must be increasing values. keep it climbing bestie πŸ“ˆ
  • Y β€” (integer, input) An array containing the functional values for the input function β€” Y(K) is the functional value at X(K) for K=1,N.
  • D β€” (integer, input) A user-specified value containing the observed weights. D may be either an array or a scalar, depending on the value of ISW (as described below). πŸ‘€
  • ISW β€” (integer, input) A switch for interpreting the value of D. If ISW=0, then D is an array of length N (D contains an individual error estimate for each input data value); if ISW=1, then D is a scalar that serves as an error estimate for every single data item. one for all or all for one, pick your era πŸ’«
  • S β€” (integer, input) Contains the value for smoothing. S must be non-negative. Larger values for S yield greater smoothing. A reasonable value is REAL(N).
  • EPS β€” (integer, input) Contains a tolerance value for the relative precision to which S should be interpreted. EPS must be between 0. and 1. inclusive. A reasonable value is SQRT(2./REAL(N)).
  • YS β€” (integer, input) An array of length N.
  • YSP β€” (integer, input) An array of length N.
  • SIGMA β€” (integer, input) Tension factor. Values near zero result in a cubic spline; large values (e.g. 50) result in nearly a polygonal line. A typical value is 1. tension!! we love a little drama in the geometry πŸ”₯
  • TEMP β€” (integer, input) Scratch space. it's the notebook paper of the operation πŸ“
  • IER β€” (integer, output) An error return value. If IER is returned as 0, then no errors were detected. πŸŽ‰
= 1 if N is less than 2.
= 2 if S is negative.
= 3 if EPS is negative or greater than 1.
= 4 if X values are not strictly increasing.
= 5 if D is negative.
⚠️ bestie please actually check IER. 0 is the slay outcome, anything else means something in your inputs said "not today" and you need to go fix it. πŸ’€

🌈 ACCESS 🌈

To use CURVS, load the NCAR Graphics library ngmath. that's the whole ritual, no cap 🧚


πŸ¦‹ SEE ALSO πŸ¦‹

  • curv2
  • fitgrid_params

Complete documentation for Fitgrid is available at URL http://ngwww.ucar.edu/ngdoc/ng/ngmath/fitgrid/fithome.html β€” go read it, it's giving required reading πŸ“šβœ¨


Copyright (C) 2000 University Corporation for Atmospheric Research

The use of this Software is governed by a License Agreement. fr fr, read the agreement, it's not optional πŸ’œ


okay that's the whole page bestie!! πŸŽ€ this was the UNIX flavor of the CURVS(3NCARG) page, dated March 1998 β€” yes she's vintage, yes she still ate πŸ’…πŸŒΈ mwah, go smooth those splines, you got this 🫢