%basis functions function bf = bf(a); global nA A bf = zeros(1,nA); if a <= A(2) bf(1) = (A(2) - a)/(A(2) - A(1)); bf(2) = (a - A(1))/(A(2) - A(1)); elseif a<= A(3) bf(2) = (A(3) - a)/(A(3) - A(2)); end if a >= A(nA-1) bf(nA-1) = (A(nA) - a)/(A(nA) - A(nA-1)); bf(nA) = (a - A(nA-1))/(A(nA) - A(nA-1)); elseif a>= A(nA-2) bf(nA-1) = (a - A(nA-2))/(A(nA-1) - A(nA-2)); end for i=3:nA-2 if (a >= A(i-1))&(a <= A(i)) bf(i) = (a - A(i-1))/(A(i) - A(i-1)); elseif (a >= A(i))&(a <= A(i+1)) bf(i) = (A(i+1) - a)/(A(i+1) - A(i)); end end