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