elimgauss-scilab-2014

4
Guía para el curso: métodos numéricos Programa Ingeniería Civil Universidad de Sucre Capítulo 3. Solución numérica de un Sistema de Ecuaciones Lineales AX =b A. Métodos Directos: 1. Eliminación Gaussiana: Convertir el sistema AX=b en uno equivalente, más sencillo, mediante la transformación de la matriz aumentada (A|b) en una matriz escalonada, y seguidamente realizar sustitución regresiva para encontrar la matriz X, solución del sistema. 2. Eliminación de Gauss-Jordan: Convertir el sistema AX=b en uno equivalente, más sencillo, mediante la transformación de la matriz aumentada (A|b) en una matriz escalonada-reducida, y leer directamente la solución del sistema, X Ejemplo: Resuelva los siguientes ejercicios

Upload: alvaro-daniel-alvarez-perna

Post on 25-Dec-2015

6 views

Category:

Documents


1 download

DESCRIPTION

Métodos Númericos

TRANSCRIPT

Page 1: ELIMGAUSS-SCILAB-2014

Guía para el curso: métodos numéricos Programa Ingeniería Civil Universidad de Sucre

Capítulo 3. Solución numérica de un Sistema de Ecuaciones Lineales AX =b

A. Métodos Directos: 1. Eliminación Gaussiana: Convertir el sistema AX=b en uno equivalente, más sencillo,

mediante la transformación de la matriz aumentada (A|b) en una matriz escalonada, y seguidamente realizar sustitución regresiva para encontrar la matriz X, solución del sistema.

2. Eliminación de Gauss-Jordan: Convertir el sistema AX=b en uno equivalente, más sencillo, mediante la transformación de la matriz aumentada (A|b) en una matriz escalonada-reducida, y leer directamente la solución del sistema, X

Ejemplo: Resuelva los siguientes ejercicios

Page 2: ELIMGAUSS-SCILAB-2014

SCRIPT Método Eliminación de Gauss

function X=EliminGauss(A, B) Ma=[A B]; n=length(B); // Transforma A en una matriz triangular superior.format("v",25) for k=1:n-1 for i=k+1:n factor=Ma(i,k)/Ma(k,k); for j=k:n+1 Ma(i,j)=Ma(i,j)-factor*Ma(k,j); end end end // Elementos de la Matriz de Incógnitas X=zeros(n,1); X(n)=Ma(n,n+1)/Ma(n,n); for i=n-1:-1:1 X(i)=Ma(i,n+1)/Ma(i,i); for j=i+1:n X(i)=X(i)-Ma(i,j)*X(j)/Ma(i,i); end endendfunction

Notas: Un sistema AX=b, puede resolverse mediante X=A-1 *b, pero el costo computacional es importante, y se propagan los errores de manera preocupante; por lo anterior, en ambientes informáticos no se debe usar X=inv(A)*B sino X=A\b.

Cómo se usa la factorización LU de una matriz, para resolver eficientemente un sistema de ecuaciones lineales?

Teorema de Factorización LU: Sea A una matriz nxn y suponga que Ase puede reducir por renglones a una matriz triangular U sin hacer algunas permutaciones entre sus renglones. Entonces existe una matriz triangular inferior L invertible con unos en la diagonal tal que A=LU. Si, además U tiene n-pivotes, entonces esta factorización es única.

Si en el sistema AX=B, A satisface la hipótesis del teorema, A=LU, así AX=(LU)X=L(UX)=b, haciendo Y=UX, se tiene LY=b; mediante sustitución hacia adelante se tiene Y, seguidamente mediante sustitución hacia atrás, se resuelve UX=Y.

El comando A\b resuelve el sistema [A|b] encontrando la descomposición LU y después haciendo sustituciones hacia adelante y hacia atrás, lo cual reduce el error numérico, al realizar menos operaciones, que el método de eliminación de Gauss.

Page 3: ELIMGAUSS-SCILAB-2014

B. Métodos Iterativos:1. Método Jacobi: Xk+1 = D-1[b – (L+U)Xk]; k=0,1,….,N, NϵZ+

2. Método de Gauss-Seidel: Xk+1 = (L + D)-1[b – (U)Xk]; k=0,1,….,N, NϵZ+

Problemas de referencia para el examen próximo

Page 4: ELIMGAUSS-SCILAB-2014