dx=2; dt=1; x=[0:dx:10]; n=length(x); lambda=0.020875; %initializa IC & BC for k=1:n T(k,1)=0; T(k,2)=0; end T(1,1)=100; T(1,2)=100; T(6,1)=50; T(6,2)=50; A=zeros(n-2,n-2); B=zeros(n-2,1); for k=1:n-2 A(k,k)=2*(1+lambda); if k==1 %don't do left of diagonal B(k,1)=lambda*T(k+2,1)+2*(1+lambda)*T(k+1,1)+lambda*T(k,1)+lambda*T(k,k+1); else A(k,k-1)=-lambda; end if k==n-2 %don't do right of diagonal B(k,1)=lambda*T(k+2,1)+2*(1+lambda)*T(k+1,1)+lambda*T(k,1)+lambda*T(k+2,2); else A(k,k+1)=-lambda; end end