% Métods de Aproximação em Engenharia - Mst. Eng. Construção
% Carlos Balsa - 2009/2010
% exercício nº 2 da ficha nº 5
%

dt=0.2;
dx=0.25;
x=[0:dx:1];
u0=3*sin(pi*x);
u1=u0;

nx=(1-0)/dx-1;
alfa=2*dt^2/dx^2;

% alinea b)
u2=zeros(1,nx+2);
for i=2:nx+1;
u2(1,i)=-u0(i)+alfa*u1(i-1)+(2-2*alfa)*u1(i)+alfa*u1(i+1);
end

% alinea d)

A=[(1+2*alfa) -alfa 0; -alfa  (1+2*alfa) -alfa; 0 -alfa  (1+2*alfa)];
b=[2.1213 3 2.1213]';

% alinea e)
dt=0.2;
dx=0.25;
nx=(1-0)/dx-1;
tf=2; t0=0;
nt=(tf-t0)/dt;
c=2;
f=@(x) 3*sin(pi*x);
g=@(x) 0;
ua=0; ub=0;
[u,x,t]=pde_wave_imp(nx,dx,nt,dt,c,f,g,ua,ub);

figure(1); clf;
mesh(x,t,u');
xlabel('x');
ylabel('t');
zlabel('u(t,x)');

% alinea f)
tt=1.2;
k=round(tt/dt);
figure(2); clf;
plot(x,u(:,k+1));
xlabel('x');
ylabel('u(1.2,x)');
grid on;
