You are on page 1of 1

v=5.

5;
rho=1;Tau=0.1;L=1;
phiA=1;phiB=0;
%Solución Analitica
xa=[0:0.01:L]';
phia=(((exp((rho*v.*xa)/Tau))-1)/(exp((rho*v*L)/Tau)-1))*(phiB-phiA)+phiA;

%solucion numerica
ndiv=str2num(char(inputdlg("digite el numero de numeros finitos:")));
dx=L/ndiv;
%para los nodos internos
aP=(2*Tau)/(dx);
aW=-(rho*(v/2))-(Tau/dx);aE=(rho*(v/2))-(Tau/dx);
a=zeros(1,ndiv);
a(1)=aW;a(2)=aP;a(3)=aE;
A=zeros(ndiv);
for i=2:ndiv-1
A(i,:)=shift(a,i-2)
end
%para la frontera A
aP=(rho*(v/2)+(3*Tau)/dx);
aA=(rho*v)+((2*Tau)/dx);
A(1,1)=aP;A(1,2)=aE;
%para frontera B
aP=(-rho*(v/2))+((3*Tau)/dx);
aB=(-rho*v)+((2*Tau)/dx);
A(ndiv,ndiv-1)=aW;A(ndiv,ndiv)=aP;

b=zeros(ndiv,1);
b(1)=aA*phiA;b(ndiv)=aB*phiB;
%Solucion
phi=inv(A)*b
x=[dx/2:dx:L]';
plot(xa,phia,x,phi,'-o'),grid

You might also like