How can I differentiate my B-Splines?

3 vues (au cours des 30 derniers jours)
Fabian Schaum
Fabian Schaum le 27 Août 2016
Trying to differentiate these B-Splines over [0,1], where n : order of b-spline, u : breaks.
I do not have the curve fitting toolbox and I have already tried to find something here/on stackexchange, but nothing seems to work. I'd appreciate help or explanation/ pointing out my mistakes or just plain code to make it work. Thanks!
function y = splines(u,n)
if n>2
y = ((u/(n-1)).*splines (u,n-1))+ (((n-u)/(n-1)).*splines(u-1,n-1));
else
y = zeros(size(u));
ind = find(u>0 & u<2) ;
y(ind) = 1 - abs(u(ind)-1);
end
end
  1 commentaire
dpb
dpb le 27 Août 2016
Modifié(e) : dpb le 28 Août 2016
If you define the coefficients properly(), couldn't you then just use *polyder for each segment?
() Same order as used by *polyfit and friends, that is...

Connectez-vous pour commenter.

Réponses (1)

Shruti Shivaramakrishnan
Shruti Shivaramakrishnan le 31 Août 2016
A similar question has been answered on the following MATLAB Answers link :
https://www.mathworks.com/matlabcentral/answers/95194-how-do-i-find-the-derivative-of-a-spline-curve-in-matlab-7-9-r2009b
You could refer to the second part of the answer that describes the differentiation of a spline without using the curve-fitting toolbox.

Catégories

En savoir plus sur Spline Construction dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by