for i = 0:4 answer = bspliner (3,0,i); answer2 = bsplinerd (3,0,i); fprintf ('For i = % d, B (3,0,i) = % f and (dy/dx)B (3,0,i) = % f \ \n', i, answer,answer2); end function blah = bspliner (k,i,x) % fprintf ('k = % d, i = % d, x = % d \n',k,i,x); if (k == 0) if (i<= x && x < (i+1)) blah = 1; else blah = 0; end else blah = ((x - i)./k)*bspliner (k-1,i,x) \ +(((i+k+1)-x)./((i+k+1)-(i+1)))*bspliner (k-1,i+1,x); end function blah = bsplinerd (k,i,x) % fprintf ('k = % d, i = % d, x = % d \n',k,i,x); if (k == 0) if (i<= x && x < (i+1)) blah = 1; else blah = 0; end else blah = (k./k)*bsplinerd (k-1,i,x) - (k./k)*bsplinerd (k-1,i+1,x); end