function Problem24p14 % Coded by NFR on 12.1.2016 % This code solves the film diffusion problem % e = ones(1,12); e(1) = 0; f = ones(1,12)*-2; f(12) = -1; g = ones(1,12); g(12) = 0; r = zeros(1,12); r(1) = -.1; C_vec = Tridiag(e,f,g,r); C_vec = [100 C_vec]; X_vec = [0:1:12]; plot(X_vec,C_vec) end function x = Tridiag(e,f,g,r) % Tridiag: Tridiagonal equation solver banded system % x = Tridiag(e,f,g,r): Tridiagonal system solver. % input: % e = subdiagonal vector % f = diagonal vector % g = superdiagonal vector % r = right hand side vector % output: % x = solution vector n=length(f); % forward elimination for k = 2:n factor = e(k)/f(k-1); f(k) = f(k) - factor*g(k-1); r(k) = r(k) - factor*r(k-1); end % back substitution x(n) = r(n)/f(n); for k = n-1:-1:1 x(k) = (r(k)-g(k)*x(k+1))/f(k); end end