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:
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 .
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.
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!