function N = blends(knots,u) p = length(u); n = length(knots) - 5; N = zeros(n+4,4,p); for j = 1:p for i = 1:n+4 if (u(j) >= knots(i)) && (u(j) < knots(i+1)) N(i,1,j) = 1.0; else N(i,1,j) = 0.0; end end for k = 2:4 for i = 1:n+5-k N(i,k,j) = (u(j) - knots(i))*(N(i,k-1,j)/(knots(i+k-1) - knots(i))) + (knots(i+k) - u(j))*(N(i+1,k-1,j)/(knots(i+k) - knots(i+1))); end end end