File Exchange

image thumbnail

Approximation of 2-D Data by Natural Cubic Spline

version (10.3 KB) by Dr. Murtaza Khan
Approximation (Data Fitting) by Natural Cubic Spline.


Updated 09 Jul 2009

View Version History

View License

Function for cubic spline approximation of 2D data.

Syntax of Usage:

arg1in: Input x-Data e.g. [x1, x2, x3,...,xn]
arg2in: Input y-Data e.g. [y1, y2, y3,...,yn]
arg3in: Maximum allowed Square Distance between Data and parametric values (Optional argument)
arg4in: Indices of Data where Spline MUST interpolate (Optional argument)

arg1out: x-values of output break points
arg2out: y-values of output break points
arg3out: Indices of output break points
arg4out: max squared distance b/w input and output values

A Test program that shows how to use ncs2dapprox.m

Suppose we have set of continuous points (xi,yi), 1<=i<=n (e.g. boundary or some signal) and we want to approximate them using Natural Cubic Spline.

A general concept of fitting Algorithm is following:

1. Fit the spline to Data using initial break points.
2. Find the Max. square distance b/w spline approximated data and original data.
3. while(Max. Square Distance > Max Allowed Square Distance)
4. Add point of max. distance to set of break points.
5. Fit the spline using new set of break points.
6. Find the Max. square distance b/w spline approximated data and original data.
7. Go to step 3.
8. end while

Cite As

Dr. Murtaza Khan (2021). Approximation of 2-D Data by Natural Cubic Spline (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (6)

Rita Hsiao

But I need the advanced version which is used
in the N-D space. However, the link is failed. Would you offer it again?
Thanks a lot!!

adham ghallap

gok gok

got hard to trace errors. Demo version is limited to 1000 input points.

M Khan

From Author:
Following is link to more advanced version of data approximation by cubic spline where each data point can be in N-D Euclidean space.

kan san

excellent solution to automatic approximation of 2D data.

awedat nabeel

we have problem in 2d interpolation and this page did not provide very useful information

MATLAB Release Compatibility
Created with R13
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!