function I=tridiag(a,b)
n=length(a);
% Primero triangularesmos a por filas junto a b
for i=2:n-1
    a(i,i)=(a(i,i)*a(i-1,i-1)/a(i,i-1)) - a(i-1,i);
    a(i,i+1)=a(i,i+1)*a(i-1,i-1)/a(i,i-1);
    b(i)=b(i)*a(i-1,i-1)/a(i,i-1) - b(i-1);
    a(i,i-1)=0;
end
a(n,n)=a(n,n)*a(n-1,n-1)/a(n,n-1) - a(n-1,n);
b(n)=b(n)*a(n-1,n-1)/a(n,n-1) - b(n-1);
a(n,n-1)=0;
% Con la matriz y el vector b triangulados calculamos los X
X=zeros(n,1);
X(n)=b(n)/a(n,n);
for i=n-1:-1:1;
    X(i)=(b(i)-a(i,i+1)*X(i+1))/a(i,i);
end
I=X;