% Queremos resolver c*F''(x) + F'(x) =1 en x=(0,1)
m=input('Ingrese el numero de nodos que desea [mayor a 1 por favor]')
% Establecemos el tamaño de la grilla y el paso
h=1/m;
% Alocamos espacio para el vector de soluciones en cada punto de la
% particion, y tambien para la matriz, asi como el vector de constantes
%F=zeros(n,1); 
n=m+1;
A=zeros(n,n);
b=ones(n,1);
% Defino las constantes del problema discreto
c=-10^(-4);
c1=(c/(h^2) - 1/(2*h));
c2=-(2*c)/(h^2);
c3=(c/(h^2) + 1/(2*h));
% Completo la matriz correspondiente que es tridiagonal
for i=1:n
A(i,i)=c2;
end
for i=2:n
A(i,i-1)=c1;
end
for i=1:(n-1)
A(i,i+1)=c3;
end
A;
% Resolveremos AF=b usando que las condiciones de contorno dictan
% que fisicamente tiene que ser F(0)=F(1)=0, con lo cual:
F=zeros(n,1);
F(n)=0;
F(1)=0;
F(2)=1/A(1,2);
for i=3:(n-1);
   F(i)=( 1 - A(i-1,i-1:-1:i-2)*F(i-1:-1:i-2) ) / A(i-1,i);
end
F;
% Ahora definimos un vector de valores de x para los cuales vale la
% ecuacion diferencial. Los completamos teniendo en cuenta el paso metido
% por el usuario.
X=zeros(n,1);
X(1)=0;
for i=2:n
    X(i)=i*h;
end
F
close
plot (X,F,'r')