Co3211 Lab05

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 2

UNIVERSIDAD SIMÓN BOLÍVAR

Dpto. de Cómputo Cientı́fico y Estadı́stica


Cálculo Numérico CO-3211

LABORATORIO # 5
Factorización LU y Métodos Iterativos.

Los fenómenos de transferencia de calor en un medio no homogéneo


pueden ser modelados mediante el problema de valor en la frontera:
∂u
∂t
= ∇ · (K(~x)∇u) + F (~x, t), ~x ∈ Ω
∂u
(1)
αu + βK(~x) ∂~
n
= g(~x, t), u(~x, 0) = u0 (~x, 0)
Al discretizar el modelo mediante métodos conservativos se obtienen sistemas
de ecuaciones lineales cuyas dimensiones dependen del número de nodos es-
cogidos. La eficiencia en la resolución de tales sistemas es un tópico de gran
interés en el cálculo numérico y el presente laboratorio tiene la finalidad de
brindar un aporte en este sentido. En la carpeta de laboratorio en AulaVir-
tual encontrar un archivos de datos de nombre “datos20.mat”, el cual cor-
responde a la discretización de las ecuaciones usando 20 × 20 nodos. Este
archivo contienen una matriz A de dimensiones n × n y una matriz B de di-
mensiones n × 3, donde el parámetro n depende del número de nodos. Utilice
el comando load de Matlab para cargar las variables en el worspace, ejem:
load(’datos20’).
El presente laboratorio consistirá en la resolución de los tres sistemas de
ecuaciones dados por:
A(1:n,1:n) x1(1:n,1) = B(1 : n, 1)

A(1:n,1:n) x2(1:n,2) = B(1 : n, 2) (2)

A(1:n,1:n) x3(1:n,3) = B(1 : n, 3)


Nótese que la matriz A es invariante y que solo debe resolverse el sistema
de ecuaciones para cada una de las columnas de la matriz B. Resuelva este
problema siguiendo los pasos listados a continuación:
1. Programe en matlab los métodos de Jacobi y Gauss-Seidel como fun-
ciones que reciban los siguientes parámetros; matriz A, vector de lado
derecho B, tolerancia tol, iterado inicial x0 y máximo número de itera-
ciones maxiter, mientras que el parámetro de retorno será la solución
x del sistema de ecuaciones. Valide sus resultados con alguna matriz y
vectores de prueba dados por Ud.

2. Programe la resolución de un sistema de ecuaciones usando factor-


ización LU con sustitución hacia delante y hacia atrás. Cada una de
estas acciones en una función. Para lo anterior use la factorización pro-
gramada en el laboratorio pasado.

3. Construya un script o programa principal en el cual se resuelven los 3


sistemas de ecuaciones, uno por cada columna de la matriz B, mediante
los métodos LU, Jacobi y Gauss-Seidel, para una tolerancia de 1 × 10−5
y un iterado inicial x0 = (1, . . . , 1) y x0 = (0, . . . , 0). Mida los tiempos
y número de iteraciones que toma cada método (e. g. use la función
cputime de Matlab) y las iteraciones (en el caso de Jacobi y Gauss)
para cada método y al resolver cada sistema de ecuaciones.

4. Elabore una tabla con los resultados obtenidos y escriba sus conclu-
siones de manera concisa y analı́tica, interprete los resultados que ob-
serva e indique el método que Ud. recomendarı́a y por qué.

También podría gustarte