# Rational Interpolation (G Dataflow)

Version:

Interpolates or extrapolates a function f at a specific value using a rational function. The rational function passes through all the points formed by arrays of dependent and independent values.

## Y

Dependent values.

## X

Independent values.

If the number of elements in X is different from the number of elements in Y, this node sets interpolation value and interpolation error to NaN and returns an error.

## x value

Point at which the interpolation or extrapolation is performed.

If x value is in the range of X, this node performs interpolation. Otherwise, this node performs extrapolation. If x value is too far from the range of X, the extrapolation error may be large. It is not a satisfactory extrapolation.

## error in

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

Default: No error

## interpolation value

Interpolation of the function f at the point you specified.

## interpolation error

An estimate of the error in the interpolation.

## error out

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

## Algorithm for Calculating the Interpolation Value

The rational function

$\frac{P\left({x}_{i}\right)}{Q\left({x}_{i}\right)}=\frac{{p}_{0}+{p}_{1}{x}_{i}+...{p}_{m}{x}_{i}^{m}}{{q}_{0}+{q}_{1}{x}_{i}+...{q}_{m}{x}_{i}^{m}}$

passes through all the points formed by Y and X. P and Q are polynomials, and the rational function is unique, given a set of n points (xiyi), where f(xi) = yi, f is any function, and given a number x in the range of the xi values.

This node calculates interpolation value y using

$\frac{P\left(x\right)}{Q\left(x\right)}$

If the number of points is odd, the degrees of freedom of P and Q are using $\frac{n-1}{2}$. If the number of points is even, the degrees of freedom of P are $\frac{n}{2}-1$, and the degrees of freedom of Q are $\frac{n}{2}$, where n is the total number of points formed by Y and X.

Where This Node Can Run:

Desktop OS: Windows

FPGA: Not supported