//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //solution to computational problem of hw#6 using backward differencing in //space and forward euler in time //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// xinitial=input("Enter x initial>"); xfinal=input("Enter x final>"); tinitial=input("Enter t initial>"); tfinal=input("Enter t final>"); J=input("Enter number of space steps>"); dt=input("Enter time step>"); dx=(xfinal-xinitial)/J; N=(tfinal-tinitial)/dt; lambda=dt/dx; U=zeros(J+1,N+1); for j=1:J+1 U(j,1)=init((j-1)*dx); end for n=2:N+1 U(1,n)=(1-lambda)*U(1,n-1)+lambda*U(J,n-1); for j=2:J+1 U(j,n)=(1-lambda)*U(j,n-1) + lambda*U(j-1,n-1); end end x=linspace(xinitial,xfinal,J+1); plot2d(x', [U(:,1),U(:,N+1)], leg="exact solution@numerical solution");