Professional Documents
Culture Documents
EDP Parabolica e Hiperbolica
EDP Parabolica e Hiperbolica
MARCOS
Métodos Numéricos II
end
for j = 1:ny-2
for i = 1:nx-2
AA(i,i) = 2*(1+h);
if j<nx-2
AA(j,j+1) = -h;
AA(j+1,j) = -h;
end
BB(i,1) = h*Q(i+1,j,t) + 2*(1-h)*Q(i+1,j+1,t) +
h*Q(i+1,j+2,t);
end
BB(1,1) = BB(1,1) + h*Q(1,j+1,t+1);
BB(nx-2,1) = BB(nx-2,1) + h*Q(nx,j+1,t+1);
m = AA;
n = BB;
[x]=gauss(m,n);
T(2:nx-1,j+1,t+1) = x';
if t+1==nt
break
end
end
end
disp(T(:,:,t-1))
Codigo MATLAB
%Problema 4
clear all; close all; clc;
%Datos de Entrada
L = 1; nx = 11; Tmax = 1; nt = 101;
c = 1; %c^2= 1;
%Grillado
dx = L/(nx-1); x = 0:dx:L;
dt = Tmax/(nt-1);
K = c*((dt^2)/(dx^2));
%Condiciones Iniciales
y(1:nx,1:nt) = 0;
for i = 2:nx-1
y(i,1) = sin(pi*(i-1)*dx);
y(i,2) = y(i,1) + dt*2*pi*sin(2*pi*(i-1)*dx);
end
y(1,:) = 0; y(nx,:) = 0;
%Discretizacion
for t = 2:nt
for i = 2:nx-1
y(i,t) = 2*y(i,t) - y(i,t-1) + K*(y(i+1,t) + y(i-1,t) -
2*y(i+1,t));
end
end
%Grafica
plot(x,y(:,t))
title('Problema 4')
xlabel('X')
ylabel('Temperatura')