solución de sistemas lineales

13

Click here to load reader

Upload: alejahndra-morales-herrera

Post on 08-Nov-2015

214 views

Category:

Documents


0 download

DESCRIPTION

Métodos Numéricos-Solución de Sistemas Lineales

TRANSCRIPT

UNIVERSIDAD NACIONAL DE COLOMBIAFACULTAD DE INGENIERADEPARTAMENTO DE INGENIERA DE SISTEMAS E INDUSTRIAL

MTODOS NUMRICOS

MDULO 2SOLUCIN DE SISTEMAS LINEALES

1. INTRODUCCINMuchos problemas que aparecen en situaciones reales involucran dos o ms ecuaciones en dos o ms variables. Un sistema de ecuaciones es un conjunto de ecuaciones que involucran las mismas variables y si todas las ecuaciones son lineales entonces se denomina sistema de ecuaciones lineales. Una solucin de un sistema de ecuaciones es el conjunto de valores para las variables que hacen que cada ecuacin en el sistema sea cierta. Resolver un sistema de ecuaciones consiste en encontrar todas las soluciones del sistema.El problema de los sistemas lineales de ecuaciones es uno de los ms antiguos de la matemtica y tiene una infinidad de aplicaciones, como en procesamiento digital de seales, anlisis estructural, estimacin, prediccin y ms generalmente en programacin lineal as como en la aproximacin de problemas no lineales de anlisis numrico.Para fines de este laboratorio, se van a desarrollar cdigos en el programa SCILAB para lograr encontrar las soluciones de un sistema dado por medio de mtodos como Gauss, Factorizacin triangular y Gauss-Jordan.

2. OBJETIVOS

Desarrollar un cdigo en el programa Scilab a travs de la implementacin de los conceptos bsicos vistos en clase para solucionar sistemas lineales. Utilizacin de los mtodos de Gauss, Factorizacin triangular y Gauss-Jordan implementados anteriormente en el taller para resolver el sistema lineal.

10-20x1 + 1.655x2 + x3 = 505 2.65x1 + 2.845x2 + x3 = 905 4.53x1 +x2 + 1.538x3 = 1205

Comprender como se desarrolla el programa Scilab a travs de los cogidos creados para obtener una respuesta similar a la obtenida en el taller.

Vincular la actividad terica con la prctica para generar un conocimiento integral que pueda ser implementado como una herramienta en la solucin de problemas que estn vinculados a la ingeniera.

Aprender el funcionamiento delas matrices en el programa Scilab para el adecaudo desarrollo de los mtodos seleccionados.

3. MARCO TEORICOSISTEMA DE LINEALESUnsistema de ecuaciones lineales, tambin conocido comosistema lineal de ecuacioneso simplementesistema lineal, es un conjunto deecuaciones lineales(es decir, unsistema de ecuacionesen donde cadaecuacines de primer grado), definidas sobre uncuerpoo unanillo conmutativo. Elproblemadel sistema consiste enencontrar los valoresdesconocidos de las variables X1, X2 y X3que satisfacen las tres ecuaciones.MTODOS PARA LA SOLUCIN DE SISTEMAS LINEALES: Mtodo de Gauss:El mtodo de Gauss consiste en transformar el sistema dado en otro equivalente. Para ello se toma lamatriz ampliadadel sistema y mediante lasoperaciones elementalescon sus filas la transformamos en unamatriz triangular superior( oinferior). De esta forma obtenemos un sistema equivalente al inicial y que es muy fcil de resolver.Es esencialmente elmtodo de reduccin. En el mtodo de Gauss se opera con ecuaciones, como se hace en el mtodo de reduccin, pero uno se ahorra el escribir las incgnitas porque al ir los coeficientes de una misma incgnita siempre en una misma columna, uno sabe en todo momento cual es la incgnita a la que multiplican

Mtodo de Factorizacin triangular:

Llamado factorizacinodescomposicin LU ( tambin conocida en la literatura especializada como factorizacin triangular) busca expresar una matriz cuadrada regular como producto de una triangulacin inferior, L, y otra triangular superior, U. La denominacin LU est motivada de los trminos delinglsLower (inferior) y Upper (superior) que adjetivan los factores triangulares.Su utilidad inmediata, aparte de que bajo ciertas circunstancias almacenan una matriz dispersa por ejemplo, en forma factorizada necesita menos posiciones de memoria que en forma compacta, radica en que para resolver un sistema de ecuaciones lineales Ax= b, si A=LU, el problema se reduce a resolver dos sistemas de ecuaciones triangulares:Ly= b y Ux=yEste hecho tiene una importancia indudable cuando se requiere resolver sistemas de ecuaciones en los que e n la matriz A es siempre la misma y lo nico que cambia es el trmino independiente. Mtodo de Gauss-Jordan: Es unalgoritmodel lgebra lineal para determinar las soluciones de un sistema de ecuaciones lineales, encontrar matrices e inversas. Una extensin natural de la eliminacin de Gauss consiste en eliminar de cada columna de la matriz de coeficientes del sistema no solo los elementos no nulos que estn debajo de la diagonal sino tambin los que estn encima. El mtodo de Gauss transforma la matriz de coeficientes en una matriz triangular superior. El mtodo de Gauss-Jordan contina el proceso de transformacin hasta obtener una matriz diagonal.

4. RESULTADOS

Dado el sistema de ecuaciones AX=b:10-20x1 + 1.655x2 + x3 = 5052.65x1 + 2.845x2 + x3 = 9054.53x1 + x2 + 1.538x3 = 1205

Mtodo de Gauss:Resolver el sistema lineal usando la herramienta SCILAB por el mtodo de Gauss.

Cdigo:1. Backsub.sce//FASE II - Sustitucin hacia atrs//Entrada - A es una matriz triangular superior no singular n x n superior no singular Entrada - A es una matriz triangular n x n// - B es una matriz n x 1//Salida - X es la solucin al sistema lineal AX = B

function X=backsub(A, B)

n = length(B); X = zeros(n, 1); X(n) = B(n) / A(n, n);

for k = n-1:-1:1 X(k) = (B(k) - A(k, k+1:n) * X(k+1:n)) / A(k, k);end

2. Uptrbk.sce//FASE I - Triangulacin superior//Entrada - A es una matriz no singular N x N// - B es una matriz N x 1// Salida - X es una matriz N x 1 conteniendo la solucin de AX = B.

function X=uptrbk(A, B)

// Inicializar X y la matriz de almacenamiento temporal C[N, N] = size(A);X = zeros(N, 1);C = zeros(1, N+1);

// Formar la matriz aumentada: Aug = [A | B]Aug = [A, B];

for p = 1:N-1 //Pivoteo parcial para la columna p [Y, j] = max(abs(Aug(p:N, p))); //Intercambiar las filas p y j C = Aug(p, :); Aug(p, :) = Aug(j+p-1, :); Aug(j+p-1, :) = C; if Aug(p, p) == 0 'A was singular. No unique solution' break end //El proceso de eliminacin para la columna p for k = p+1:N m = Aug(k, p) / Aug(p, p); Aug(k, p:N+1) = Aug(k, p:N+1) - m * Aug(p, p:N+1); endend

//Substitucin hacia atrs en [U | Y] utilizando la funcin backsub()X = backsub(Aug(1:N, 1:N), Aug(1:N, N+1));

3. Gauss.sceclc

disp(' UNIVERSIDAD NACIONAL DE COLOMBIA ')disp(' Asignatura: Mtodos Numricos ')disp('Solucin del sistema de ecuaciones de la forma AX=b a travs del mtodo de gauss')disp('C es la solucin del sistema')

A=[10^(-20),1.655,1; 2.65,2.845,1;4.53,1,1.538]B=[505;905;1205]

C=uptrbk (A,B)

Mtodo de Factorizacin triangular:Resolver el sistema lineal usando la herramienta SCILAB por el mtodo de Factorizacin triangular.

Cdigo:' clc

disp(' UNIVERSIDAD NACIONAL DE COLOMBIA ')disp(' Asignatura: Mtodos Numricos ')disp('Solucin del sistema de ecuaciones de la forma AX=b a travs del mtodo LU')disp('X es la solucin del sistema')

A=[10^-20 1.655 1; 2.65 2.845 1; 4.53 1 1.538]B=[1205; 905; 505][N, N] = size(A);L= eye(N,N);X = zeros(N, 1);C = zeros(1, N+1);

// Formar la matriz aumentada: Aug = [A | B]

for p = 1:N-1 // Pivoteo parcial para la columna p [Y, j] = max(abs(A(p:N, p))); // Intercambiar las filas p y j C = A(p, :); A(p, :) = A(j+p-1, :); A(j+p-1, :) = C; // El proceso de eliminacin para la columna p for k = p+1:N m = A(k, p) / A(p, p); L(k,p)=m; A(k, p:N) = A(k, p:N) - m * A(p, p:N) end U=A;endLUD=L\BX=U\D

Mtodo de Gauss-Jordan: Resolver el sistema lineal usando la herramienta SCILAB por el mtodo de Gauss-Jordan.

Codigoclc

disp(' UNIVERSIDAD NACIONAL DE COLOMBIA ')disp(' Asignatura: Mtodos Numricos')

disp('Solucin del sistema de ecuaciones de la forma AX=b a travs del mtodo Gauss-Jordan')disp('X es la solucin del sistema')

A=[10^-20 1.655 1; 2.65 2.845 1; 4.53 1 1.538]B=[505; 905; 1205][m,n]=size(A);C = zeros(1, n+1);Aum=[A,B][M,N]=size(Aum);X=zeros(M,1);for i=1:m [Y, j] = max(abs(Aum(i:m, i))); // Intercambiar las filas p y j C = Aum(i, :); Aum(i, :) = Aum(j+i-1, :); Aum(j+i-1, :) = C; divisor=Aum(i,i); for j=i:n+1 Aum(i,j)=Aum(i,j)/divisor; end for k=1:m if i~=k pivote=Aum(k,i); for j=i:n+1 Aum(k,j)=Aum(k,j)-pivote*Aum(i,j); end Aum end endendX=Aum(:,N)

5. ANALISIS DE RESULTADOSA travs de los tres mtodos para resolver el sistema de ecuaciones se obtienen las mismas soluciones para X1 , X2 y X3de la siguiente forma: Mtodo de Gauss:Teniendo como resultado la matriz AX = b; en donde X=C siendo esta la solucin del sistema.

Mtodo de Factorizacin triangular:Para este mtodo, se describieron las matrices A y B correspondientes al sistema AX=B anteriormente descrito. Luego se muestra la matriz L y U las cuales quedan determinadas como:

Resolviendo LD=B se halla D obteniendo:

Luego se resuelve UX=D hallando finalmente los valores para X y por ende, la solucin del sistema:

Mtodo de Gauss-Jordan: Como se puede observar, se presenta inicialmente la matriz A y B las cuales hacen parte del sistema AX=b descrito en el mtodo Gauss. Luego se presenta el paso por paso de la eliminacin de Gauss-Jordan operando por filas para ir obteniendo los unos y los ceros por columnas de izquierda a derecha.Finalmente se obtiene el resultado:

6. CONCLUSIONES

En cuanto a la precisin en la solucin del sistema lineal se puede afirmar que los tres mtodos sirven adecuadamente, ya que se los valores obtenidos son iguales.

Podemos afirmar que el mtodo de Gauss-Jordan es eficiente debido a que posee menos procedimiento al programar en Scilab para la determinacin de la solucin del sistema.

Al comparar el trabajo desarrollado en el taller con el de laboratorio se puede evidenciar que en la parte del clculo a mano gener muchos procedimientos y pequeas diferencias en la solucin del sistema, en comparacin a las respuestas obtenidas por la herramienta Scilab.

Al realizar los procedimientos manualmente para obtener las soluciones del sistema lineal de ecuaciones, se hace indispensable tener en cuenta de realizar el pivoteo de dichas ecuaciones para obtener los resultados correctos. As mismo al realizarlos por medio de la herramienta Scilab se debe realizar el programa para que tambin realice esta accin y de esta manera llegar a los resultados esperados.