function f=aslv3(a,s) % solution of a system of linear equations for a symmetric, positive % definite and tri-diagonal matrix. % function f=aslv3(a,s) % a : upper diagonal matrix coefficients. a(1,i) and a(2,i) contain % respectively the diagonal (i,i) and non-diagonal (i,i+1) terms. % (c) 2006 Alain Hebert, Ecole Polytechnique de Montreal n=size(a,2) ; f=zeros(n,1) ; pmx=a(1,1) ; if pmx == 0.0, error('zero pivot(1).'), end f(1)=s(1)/pmx ; for i=2:n gar=a(2,i-1) ; a(2,i-1)=a(2,i-1)/pmx ; pmx=a(1,i)-gar*a(2,i-1) ; if pmx == 0.0, error('zero pivot(2).'), end f(i)=(s(i)-gar*f(i-1))/pmx ; end for i=n-1:-1:1 f(i)=f(i)-a(2,i)*f(i+1) ; end