How can I differentiate my B-Splines?

5 Ansichten (letzte 30 Tage)
Fabian Schaum
Fabian Schaum am 27 Aug. 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 Kommentar
dpb
dpb am 27 Aug. 2016
Bearbeitet: dpb am 28 Aug. 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...

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Shruti Shivaramakrishnan
Shruti Shivaramakrishnan am 31 Aug. 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.

Kategorien

Mehr zu Splines finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by