chapter x. example 1. plotting some b-splines c from * a practical guide to splines * by c. de boor calls bsplvb, interv integer i,j,k,left,leftmk,mflag,n,npoint real dx,t(10),values(7),x,xl c dimension, order and knot sequence for spline space are specified... data n,k /7,3/, t /3*0.,2*1.,3.,4.,3*6./ c b-spline values are initialized to 0., number of evaluation points... data values /7*0./, npoint /31/ c set leftmost evaluation point xl , and spacing dx to be used... xl = t(k) dx = (t(n+1)-t(k))/float(npoint-1) c print 600,(i,i=1,5) 600 format('1 x',8x,5('b',i1,'(x)',7x)) c do 10 i=1,npoint x = xl + float(i-1)*dx c locate x with respect to knot array t . call interv ( t, n+1, x, left, mflag ) leftmk = left - k c get b(i,k)(x) in values(i) , i=1,...,n . k of these, c viz. b(left-k+1,k)(x), ..., b(left,k)(x), are supplied by c bsplvb . all others are known to be zero a priori. call bsplvb ( t, k, 1, x, left, values(leftmk+1) ) c print 610, x, (values(j),j=3,7) 610 format(f7.3,5f12.7) c c zero out the values just computed in preparation for next c evalulation point . do 10 j=1,k 10 values(leftmk+j) = 0. stop end