Function Repository Resource:

# AkimaSpline

Smooth curve interpolation based on local procedures for a multiple-valued curve

Contributed by: Robert B. Nachbar (Wolfram Solutions)
 ResourceFunction["AkimaSpline"][{x1,y1},{x2,y2},…}] represents an Akima-spline function defined by the data {xi, yi}.

## Details and Options

ResourceFunction["AkimaSpline"] returns a CompiledFunction object, which can be used like any other pure function.
ResourceFunction["AkimaSpline"][][u] gives a point {x[u], y[u]} on the spline in the xy-plane corresponding to the parameter u.
The interpolation function returned by ResourceFunction["AkimaInterpolation"][data] is set up so as to agree with data at every point explicitly specified in data.
The function arguments must be real numbers.
The interpolation works by fitting a third-degree polynomial curve between successive data points.
The interpolation automatically makes use of local numerical derivatives, thus ensuring a smooth as well as continuous result.
If the data is periodic, only the data for a single fundamental period is required. The option PeriodicInterpolation is used.

## Examples

### Basic Examples (3)

Construct an Akima-spline curve using a list of data points:

 In[1]:=
 In[2]:=
 Out[2]=

Apply the function to find a point on the curve:

 In[3]:=
 Out[3]=

Plot the Akima-spline curve with the data points:

 In[4]:=
 Out[4]=

### Scope (2)

Ordinate values can be repeated:

 In[5]:=
 In[6]:=

Plot the Akima-spline curve with the data points:

 In[7]:=
 Out[7]=

### Options (1)

#### PeriodicInterpolation (1)

 In[8]:=
 In[9]:=
 Out[9]=

Plot the Akima-spline curve with the data points:

 In[10]:=
 Out[10]=

### Applications (2)

Interpolate random data:

 In[11]:=
 Out[11]=
 In[12]:=
 Out[12]=

Sort the points into a traveling salesman tour:

 In[13]:=
 Out[13]=
 In[14]:=
 Out[14]=
 In[15]:=
 Out[15]=

### Neat Examples (2)

Interesting knot-like figures can be drawn:

 In[16]:=
 Out[18]=

A “braided” Spikey:

 In[19]:=
 In[20]:=
 Out[22]=
 In[23]:=
 In[24]:=
 Out[24]=

Robert Nachbar

## Requirements

Wolfram Language 11.3 (March 2018) or above

## Version History

• 1.0.0 – 31 January 2019