0% encontró este documento útil (0 votos)
72 vistas2 páginas

Métodos Iterativos en Cálculo Numérico

Este documento describe un laboratorio sobre la resolución numérica de sistemas de ecuaciones lineales mediante los métodos de factorización LU y métodos iterativos como Jacobi y Gauss-Seidel. El estudiante debe implementar estos métodos en Matlab y resolver 3 sistemas provenientes de la discretización de ecuaciones de transferencia de calor, comparando el número de iteraciones y tiempo de ejecución para cada método y sistema. Finalmente, debe elaborar una tabla con los resultados y conclusiones sobre cuál método recomendaría y por qué.

Cargado por

Jesús Cuéllar
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
72 vistas2 páginas

Métodos Iterativos en Cálculo Numérico

Este documento describe un laboratorio sobre la resolución numérica de sistemas de ecuaciones lineales mediante los métodos de factorización LU y métodos iterativos como Jacobi y Gauss-Seidel. El estudiante debe implementar estos métodos en Matlab y resolver 3 sistemas provenientes de la discretización de ecuaciones de transferencia de calor, comparando el número de iteraciones y tiempo de ejecución para cada método y sistema. Finalmente, debe elaborar una tabla con los resultados y conclusiones sobre cuál método recomendaría y por qué.

Cargado por

Jesús Cuéllar
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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