clear; close all
a = 0; b=1; tfinal = 1;
m = 20;
h = (b-a)/m;
k = 0.01;
t = 0;
n = fix(tfinal/k);
y1 = zeros(m+1,1); y2=y1; x=y1;
for i=1:m+1,
x(i) = a + (i-1)*h;
y1(i) = uexact(t,x(i));
y2(i) = 0;
end
figure(1); plot(x,y1); hold
t = 0;
for j=1:n,
y1(1)=bc(t); y2(1)=bc(t+k);
y2(2:m) = 0.5*9*k^2/(h^2)*(y1(1:m-1)+y1(3:m+1)-2*y1(2:m)) - 0.5*3*k/h*(y1(3:m+1)-y1(1:m-1))+y1(2:m);
i = m+1;
y2(i) = 0.5*9*k^2/(h^2)*(y1(i-2)+y1(i)-2*y1(i-1)) - 3*k/h*(y1(i)-y1(i-1))+y1(i);
t = t + k;
y1 = y2;
plot(x,y2);
pause(0.005)
end
plot(x,y2,'o')
u_e = zeros(m+1,1);
% for i=1:m+1
% u_e(i) = uexact(t,x(i));
% end
% for i=1:m+1
u_e(1:m+1) = uexact(t,x(1:m+1));
% end
max(abs(u_e-y2))
figure(2);
plot(x,y2,'o',x,u_e)