Smoothing cubic splines are implemented with periodic conditions, so that closed curves in any dimension can be approximated. It includes a test function to demonstrate it.
Theoretical arguments supporting this implementation can be found here:
<http://massimozanetti.altervista.org/files/mydocs/periodicCubicSmoothSplines.pdf>
Massimo Zanetti (2021). Smoothing Cubic Splines with periodic conditions (https://www.mathworks.com/matlabcentral/fileexchange/59463-smoothing-cubic-splines-with-periodic-conditions), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Create scripts with code, output, and formatted text in a single executable document.
For versions prior to R2016b (where no implicit expansion is available), replace these two rows
d = ([c(2:end,:);c(1,:)]-c)./(3*h);
b = ([a(2:end,:);a(1,:)]-a)./h - c.*h - d.*(h.^2);
with these ones
d = bsxfun( @rdivide , [c(2:end,:);c(1,:)]-c , 3*h );
b = bsxfun( @rdivide , [a(2:end,:);a(1,:)]-a , h ) - bsxfun( @times , c , h ) - bsxfun( @times , d , h.^2 );
Really great code. Helped me very much! Thanks!
Code improved and technical note relased
Update is uploaded.
A new more documented and commented version will be rrelased soon.
Very good work
For any question, don't esitate to contact me.