Metodo Gaus- Seidel Y Gaus Jacobi En Matlab

Páginas: 7 (1679 palabras) Publicado: 18 de noviembre de 2012
UNIVERSIDAD AUSTRAL DE CHILE
FACULTAD DE CIENCIAS DE LA INGENIERIA
INSTITUTO DE MATEMÁTICAS













Métodos Numéricos
Matlab Problema 1














Francisco Oettinger Arteaga












18 de mayo de 2010
Introducción




Se pide la solución de un sistema de ecuaciones proveniente de la ecuación de conducción del calor utilizandodiferentes métodos iterativos y comparándolos. Los métodos fueron programados en Matlab y a continuación se especifica como fueron utilizados en la solución del problema.

El Problema

Consideremos el problema de calcular la temperatura de una barra metálica de largo L, cuyos extremos se mantienen a temperaturas constantes [pic] y [pic] conocidas. La ecuación diferencial que gobierna este fenómenoes conocida como ecuación de conducción del calor, la cual, en régimen estacionario está dada por:
[pic] [pic]
donde [pic] es una función conocida, que representa una fuente de calor externa y [pic] es una constante que se denomina coeficiente de difusión o conductividad térmica. A esta ecuación se le agregan las condiciones de borde:
[pic], [pic]
Una de las técnicas más usadas para resolverel problema es el método de diferencias finitas. En este método, el intervalo [pic]se divide en [pic] intervalos de largo [pic] y la solución es buscada en los puntos internos definidos por esta división, i.e., en los puntos [pic] con [pic] (los valores de la temperatura en los nodos del borde [pic] y [pic] son conocidos). En este método, las derivadas de primer orden se aproximan por el cuocientede diferencias finitas
[pic]

mientras que las derivadas de segundo orden, se aproximan por
[pic].
Denotemos por [pic] los valores aproximados de las evaluaciones de la temperatura exacta en los puntos de la malla, [pic]. Reemplazando [pic] en la ecuación por la expresión de la derivada de segundo orden, y evaluando la ecuación en los nodos internos de la malla [pic], se obtiene elsiguiente sistema de ecuaciones lineales:
[pic]
que matricialmente puede ser escrito como:
[pic]

Denotemos por A la matriz y por [pic] el lado derecho de este sistema. Tomando como parámetros del problema los valores:
[pic] [pic], [pic] [pic] [pic]

Se pide resolver numéricamente el sistema, usando los métodos iterativos de Jacobi, Gauss- Seidel y SOR. Para el método SORtome distintos valores del parámetro de aceleración [pic]. Calcule además el parámetro de aceleración óptimo [pic].



Desarrollo

1. Compruebe que la matriz A es definida positiva.


Para esto, se crearon dos funciones en Matlab; una que genera la matriz A de orden n, para un n dado, y otra que determina si la matriz observada es definida positiva. Estas funciones se muestran acontinuación:

function [a] = Problema1_Mn (n)
%Genera la matriz del problema 1 de orden n.
%Crea la primera fila de la matriz
for i=1:n
if (i==1)
a(1,i)=2;
end
if (i==2)
a(1,i)=-1;
end
if(i>2)
a(1,i)=0;
end
end
%Crea las filas intermedias de lamatriz
for i=2:n-1
for j=1:n-1
if(i==j)
a(i,j)=2;
else
if(j==i+1)
a(i,j)=-1;
else
if(j==i-1)
a(i,j)=-1;
else
a(i,j)=0;
end
endend
end
end
%Crea la ultima fila de la matriz.
a(n-1,n)=-1;
a(n,n-1)=-1;
a(n,n)=2;

Con esta función se le asigna la matriz A del problema a una variable en Matlab.


Luego se le aplica esa variable a la siguiente función:

function[b]=Matriz_defpos(a)
%Dice si una matriz es definida positiva.
%a es la matriz y b...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Metodo De Cuadratura De Gaus
  • Metodo gaus-Jordan
  • Método Gauss-Seidel & Jacobi
  • Gaus
  • metodo gaus
  • Gaus Gaus Conicas
  • La ley de gaus
  • Ley de gaus

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS