File Exchange

image thumbnail

B-spline approximation

version 3.0.1 (1.79 KB) by Dorian Depriester
Computes the B-spline approximation from a set of coordinates. Supports periodicity and n-th order approximation.

28 Downloads

Updated 14 May 2019

View License

Computes the B-spline approximation from a set of coordinates (knots).
The number of points per interval (default: 10) and the order of the B-spline (default: 2) can be changed. Periodic boundaries can be used.

It works on any dimension (even larger than 3...).

This code is inspired from that of Stefan Hueeber and Jonas Ballani [1].

Example (see image):
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rng(1) % Set random seed for reproductility
XY=rand(5,2); % Random set of 5 points in 2D
BS2=BSpline(XY);
BS3=BSpline(XY,'order',3);
BSper=BSpline(XY,'periodic',true);
h=plot(XY(:,1),XY(:,2),'-o',BS2(:,1),BS2(:,2),BS3(:,1),BS3(:,2),'--',BSper(:,1),BSper(:,2),'-.');
legend('Reference data (knots)','2^{nd} order Bspline','3^{rd} order Bspline','2^{nd} order periodic Bspline')
set(h, 'LineWidth',2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[1] http://m2matlabdb.ma.tum.de/download.jsp?MC_ID=7&SC_ID=7&MP_ID=485

Cite As

Dorian Depriester (2020). B-spline approximation (https://www.mathworks.com/matlabcentral/fileexchange/71456-b-spline-approximation), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

Updates

3.0.1

Re-upload image

3.0.0

New feature: periodic conditions

2.0.1

Update the title, for it now works in any dimension

2.0.0

Works in any dimension

1.3.0

Ensure that the order is always smaller than the numer of knots

1.2.1

Crop image

1.2.0

Add image

1.1.0

Add example

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

Inspired by: mtex2Gmsh