## 4.5 `FIT`: Fit a curve

### 4.5.1 Syntax

`FIT` x1,y1 x2,y2 ... args

### 4.5.2 Purpose

Fits a set of data using piecewise polynomials, or splines.

### 4.5.3 Comments

This function fits a set of piecewise polynomials to a set of data.
For capacitors, this function defines charge as a function of voltage. For inductors, it defines flux as a function of current.
For fixed sources, it defines voltage or current as a function of time.
The values of x must be in increasing order.
If order is 1, it is the same as `PWL`. If order is 3, it will use cubic splines. The result and its first two derivatives are continuous.
Outside the specified range, it uses linear extrapolation. The behavior depends on the parameters below and above. The value of below or above is the derivative to use, which is a resistance for resistors, voltage gain for a VCVS, and so on. If it is not specified, the value is automatically determined.
The properties are determined by the value of order.

#### Order = 3 (cubic splines)

The default is to use “natural” splines, which sets the second derivative to zero at the boundary. If a value of below or above is specified, “clamped” splines will be used. In any case, there will be a smooth transition at the boundaries. When using “clamped” splines, the second derivative may have a discontinuity at the boundaries

#### Order = 2 (quadratic splines)

By default, the derivative at the upper end is determined by the slope of the last segment. This is also the derivative above the range. Below the range, the derivative determined at the lower bound is used. It is recommended that only one of below and above be specified. If both are specified, the splines are determined using above, and there will be a discontinuity in the derivative at the lower bound.

#### Order = 1 (piecewise linear interploation)

For first order (linear) interpolation, the default slope outside the range is the extension of the slope in the end segments. The parameters below and above have no effect inside the range.

#### Order = 0 (piecewise constant interploation)

The resulting value is constant over the interval, and has discontinuities at the specified points. The parameters below and above are ignored. The slope is always 0.

### 4.5.4 Parameters

`Order` = x
  The order of the polynomial to fit, within the supplied data. (Default = 3) Legal values are 0, 1, 2, and 3, only.
`Below` = x
  The value of the derivative to use below or before the specified range.
`Above` = x
  The value of the derivative to use above or after the specified range.

### 4.5.5 Example

`C1 2 0 fit -5,-5u 0,0 1,1u 4,2u 5,2u order=1`
  This “capacitor” stores 5 microcoulombs at -5 volts (negative, corresponding to the negative voltage, as expected). The charge varies linearly to 0 at 0 volts, acting like a 1 microfarad capacitor. (C = dq/dv). This continues to 1 volt. The 0,0 point could have been left out. The charge increases only to 2 microcoulombs at 4 volts, for an incremental capacitance of 1u/3 or .3333 microfarads. The same charge at 5 volts indicates that it saturates at 2 microcoulombs. For negative voltages, the slope continues.