fitSplineToData
% soln = fitSplineToData(problem)
%
% Fit a cubic spline to a data set. The user can specify boundary
% constraints on the value, slope, and curvature along each dimension.
% The spline is computed using a quadratic program, minimizing the fitting
% error between the spline and the data set, as well as minimizing the
% integral of the jerk-squared along the spline.
%
% This function can be used to compute smooth first and second derivatives
% of a noisy data set, since it returns splines for the slope and curvature
% as well as the value of the data.
%
% INPUTS:
% problem.tData = [1, nData] = time-stamps for data
% problem.xData = [nState, nData] = time-stamps for data
% problem.xLow = [nState, 1] or [] = initial position
% problem.xUpp = [nState, 1] or [] = final position
% problem.vLow = [nState, 1] or [] = initial velocity
% problem.vUpp = [nState, 1] or [] = final velocity
% problem.aLow = [nState, 1] or [] = initial acceleration
% problem.aUpp = [nState, 1] or [] = final acceleration
% problem.smoothing = weight on jerk-squared objective function
% problem.tKnot = [nKnot, 1] = knot times for spline
%
% OUTPUTS:
% soln.pp.x = Matlab pp-spline for the position
% soln.pp.v = Matlab pp-spline for the velocity
% soln.pp.a = Matlab pp-spline for the acceleration
% soln.grid.t = problem.tData = time-grid from original data set
% soln.grid.x = [nState, nData] = position at times grid.t
% soln.grid.v = [nState, nData] = velocity at times grid.t
% soln.grid.a = [nState, nData] = acceleration at times grid.t
%
% NOTES:
% x == position == value of the spline or data
% v == velocity == slope of the spline or data
% a == acceleration == curvature of the spline or data
%
Cite As
Matthew Kelly (2024). fitSplineToData (https://www.mathworks.com/matlabcentral/fileexchange/64119-fitsplinetodata), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.