# Spline Fitting (Cubic) (G Dataflow)

Version:

Uses cubic spline fitting to smooth an input data set.

## y

Dependent values. y must contain at least two points.

## x

Independent values. x must be the same size as y. The elements of x must be in ascending order.

## weight

Weights for the observations.

weight must be the same size as y. weight also must contain non-zero elements. If an element in weight is less than 0, this node uses the absolute value of the element. If you do not wire an input to weight, this node sets all elements of weight to 1.

## smoothness

Smoothness for each interval between two contiguous data points.

The larger the smoothness, the smoother the curve. The number of elements in smoothness n - 1, where n is the length of y. If smoothness is unwired, this node sets all elements of smoothness to 1.

## error in

Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.

Default: No error

## balance parameter

Balance between the smoothness of the cubic spline fit and the accuracy with which it fits the observations.

balance parameter must fall within the range [0, 1]. If balance parameter is 0, the cubic spline fit is equivalent to a linear fit. If balance parameter is 1, the cubic spline fit interpolates between the data points. If balance parameter is out of the range [0, 1], this node calculates an appropriate value for balance parameter automatically according to the values of x.

How balance parameter Affects the Fit Result

The following graph shows the fit results when balance parameter takes different values, where p is balance parameter.

## best cubic spline fit

Y-values of the fitted model.

## error out

Error information. The node produces this output according to standard error behavior.

## Algorithm Definition for Cubic Spline Fitting

This node fits the observations (x, y) by minimizing the following function:

$p\underset{i=1}{\overset{n-1}{\sum }}{w}_{i}{\left({y}_{i}-f\left({x}_{i}\right)\right)}^{2}+\left(1-p\right){\int }_{{x}_{0}}^{{x}_{n-1}}\lambda \left(x\right){\left(f"\left(x\right)\right)}^{2}dx$

where

• p is balance parameter
• wi is the ith element of weight
• yi is the ith element of y
• xi is the ith element of x
• f''(x) is the second-order derivative of the cubic spline function, f(x)
• $\lambda \left(x\right)$ is the piecewise constant function $\lambda \left(x\right)={\lambda }_{i},{x}_{i}\le x<{x}_{i+1}$, for i = 0, 1, ..., n - 2
• ${\lambda }_{i}$ is the ith element of smoothness

Where This Node Can Run:

Desktop OS: Windows

FPGA: Not supported