Está en la página 1de 3

Anlisis Numrico - TP N3

Anlisis Numrico
Trabajo Prctico 3
Diferencias Regresivas
1. Algoritmo para realizar un grfico para resolver la ecuacin diferencial de difusin con el mtodo de diferencias regresivas
function []=Tiempo_regresivo(L, Alfa, tf, hx, ht, cond_ini, fro_inf, fro_sup) c_ini = strcat(["f = ", cond_ini]); //concateno=convierto en cadena deff('[f] = f(x)', c_ini); //Defino como funcion para poder evaluar. Nx=L/hx-1; Nt=tf/ht-1; lamda=(Alfa*ht)/hx^2; Tt=zeros(Nx+2,1); // nx(ptos interiores) + 2 ---> puntos en las fronteras. T=zeros(Nx,1); for i = 1 : Nx+2 Tt(i)=f((i-1)*hx); //Mztriz de trminos independientes end; x=[0:hx:L]; //Recorro los ptos interiores.(Discretizo) plot(x,Tt); //grafico la curva condicion inicial. A=zeros(Nx,Nx); for j = 1 : Nx //LLeno la matriz de coeficientes A(j,j) = 1 + 2*lamda; if j <> Nx then A(j+1,j) = -1*lamda; A(j,j+1) = -1*lamda; end; end ; for k = 1 : Nt+1 //Obtengo los valores de las temperaturas por cada paso de tiempo for i = 2 : Nx+1 T(i-1)=Tt(i); end; b=-1*T; T = linsolve(A,b); for i = 2 : Nx+1 Tt(i)=T(i-1); end; plot(x,Tt); end; endfunction;

Pgina 1 de 3

Barbieri Daniel H.

Anlisis Numrico - TP N3
2. Problema a resolver.

3. Valores considerados para correr el algoritmo.


L = 2 (dato del problema) Alfa = 1 (dato del problema) tf = 30 (dato del problema) hx = ht = 1 cond_ini = x*(2-x) (dato del problema) fro_inf = 0 (dato del problema) fri_sup = (dato del problema) Al ser un mtodo implcito se puede elegir cualquier tamao de paso para el tiempo y para el espacio. La desventaja de este mtodo es que tiene un gran error de truncamiento.

Pgina 2 de 3

Barbieri Daniel H.

Anlisis Numrico - TP N3
4. Solucin al problema dado.

Pgina 3 de 3

Barbieri Daniel H.

También podría gustarte