clear; format long; ns=200; x=linspace(0,2,ns); dt=1e-05; dx=x(2)-x(1); dell=0.022^2; um1=cos(pi*x); for i=3:ns-2, u(i)=um1(i)-(1/6)*(dt/dx)*(um1(i+1)+um1(i)+um1(i-1))*(um1(i+1)-um1(i-1))-(dell*dt/(2*dx^3))*(um1(i+2)-2*um1(i+1)+2*um1(i-1)-um1(i-2)); end; i=2; u(i)=um1(i)-(1/6)*(dt/dx)*(um1(i+1)+um1(i)+um1(i-1))*(um1(i+1)-um1(i-1))-(dell*dt/(2*dx^3))*(um1(i+2)-2*um1(i+1)+2*um1(i-1)-um1(ns)); i=ns-1; u(i)=um1(i)-(1/6)*(dt/dx)*(um1(i+1)+um1(i)+um1(i-1))*(um1(i+1)-um1(i-1))-(dell*dt/(2*dx^3))*(um1(1)-2*um1(i+1)+2*um1(i-1)-um1(i-2)); i=1; u(i)=um1(i)-(1/6)*(dt/dx)*(um1(i+1)+um1(i)+um1(ns))*(um1(i+1)-um1(ns))-(dell*dt/(2*dx^3))*(um1(i+2)-2*um1(i+1)+2*um1(ns)-um1(ns-1)); i=ns; u(i)=um1(i)-(1/6)*(dt/dx)*(um1(1)+um1(i)+um1(i-1))*(um1(1)-um1(i-1))-(dell*dt/(2*dx^3))*(um1(2)-2*um1(1)+2*um1(i-1)-um1(i-2)); it1=1; it=1; while ((it-1)*dt<5) for i=3:ns-2, u1(i)=um1(i)-(1/3)*(dt/dx)*(u(i+1)+u(i)+u(i-1))*(u(i+1)-u(i-1))-(dell*dt/(dx^3))*(u(i+2)-2*u(i+1)+2*u(i-1)-u(i-2)); end; i=2; u1(i)=um1(i)-(1/3)*(dt/dx)*(u(i+1)+u(i)+u(i-1))*(u(i+1)-u(i-1))-(dell*dt/(dx^3))*(u(i+2)-2*u(i+1)+2*u(i-1)-u(ns)); i=ns-1; u1(i)=um1(i)-(1/3)*(dt/dx)*(u(i+1)+u(i)+u(i-1))*(u(i+1)-u(i-1))-(dell*dt/(dx^3))*(u(1)-2*u(i+1)+2*u(i-1)-u(i-2)); i=1; u1(i)=um1(i)-(1/3)*(dt/dx)*(u(i+1)+u(i)+u(ns))*(u(i+1)-u(ns))-(dell*dt/(dx^3))*(u(i+2)-2*u(i+1)+2*u(ns)-u(ns-1)); i=ns; u1(i)=um1(i)-(1/3)*(dt/dx)*(u(1)+u(i)+u(i-1))*(u(1)-u(i-1))-(dell*dt/(dx^3))*(u(2)-2*u(1)+2*u(i-1)-u(i-2)); if (mod(it,1000)==0) us(:,it1)=u; it1=it1+1; end; um1=u; u=u1; it=it+1; end;