Está en la página 1de 20

I.

INTRODUCCIN
En las distintas ramas de la ingeniera se plantean problemas en que se hace necesario resolver sistemas de ecuaciones lineales simultneas con un nmero bastante grande de ecuaciones como para resolverlo manualmente o con calculadora, por lo que hemos de conocer algunos mtodos directos e iterativos fciles de programar para resolverlos con ayuda de la computadora. Los mtodos numricos que nos permiten en la solucin de estos sistemas de ecuaciones lineales se clasifican en dos tipos: directos e iterativos. Los mtodos directos; nos proporcionan una solucin del sistema en un nmero finito de pasos. Si usamos aritmtica finita para los clculos, obtendremos por lo general una solucin aproximada, debido nicamente a los errores de redondeo, puesto que no hay errores de truncamiento o de frmula. Los mtodos directos ms usados tienen como base la eliminacin de Gauss. En los mtodos iterativos; se parte de una aproximacin inicial a la solucin del sistema dado y se genera, a partir de dicha aproximacin, una sucesin de vectores que si converge lo hace a la solucin del sistema. Adems tendremos frmulas para calcular los trminos de la sucesin, as que en general no se espera calcular el lmite de la sucesin, por lo que debemos tomar algn trmino de la sucesin como una solucin aproximada del sistema. Esta vez, adems de los errores de redondeo si se usa aritmtica finita, habr errores de truncamiento o de frmula. Los mtodos iterativos ms simples y conocidos estn basados en iteraciones de Punto Fijo. La finalidad de desarrollar el presente trabajo es: 1. Analizar y aplicar los mtodos (directos e iterativos) para resolver un sistema de ecuaciones lineales simultneas por un lenguaje de programacin (Visual Basic). 2. Identificar las ventajas y desventajas de cada uno de los mtodos.

II. REVISIN BIBLIOGRAFICA 2.1 ECUACIN ALGEBRICA LINEAL Es aquella en donde en cada trmino de la ecuacin aparece nicamente una variable o incgnita elevada a la primera potencia. Por ejemplo:

a X +a X +a X + .... +a X =C
11 1 12 2 13 3 1n n

(1)

Es una ecuacin algebraica lineal en las variables X 1, X2, X3, ... , Xn. Se admite que los coeficientes a11, a12, a13, ... , a1n y el trmino independiente C1, son constantes reales. 2.2 SISTEMA DE ECUACIONES Es un conjunto de ecuaciones que deben resolverse simultneamente. En los sucesivo se considerarn nicamente sistemas de ecuaciones algebricas lineales, o sea conjuntos de ecuaciones de la forma: a11 X 1 + a 12 X2 + a13 X 3 +... + a 1n X n = C 1 a 21 X 1 + a 22 X 2 + a 23 X 3 +... + a 2n X n = C 2 n1 X 1 + a n2 X 2 + a n3 X 3 + ... + a nn X n = C n (a) (b) (2) (c)

Aplicando la definicin de producto entre matrices, este sistema de n ecuaciones algebraicas lineales con n incgnitas puede escribirse en forma matricial.

Este sistema de ecuaciones puede escribirse simblicamente como: AX=C (4)

3 en donde A se llama Matriz del Sistema. La matriz formada por A, a la que se le ha agregado el vector de trminos independientes como ltima columna, se le llama la Matriz Ampliada del Sistema, que se representa con (A, C). Entonces la matriz ampliada ser:

2.3 SOLUCIN DE UN SISTEMA DE ECUACIONES Es un conjunto de valores de las incgnitas que verifican simultneamente a todas y cada una de las ecuaciones del sistema. De acuerdo con su solucin, un sistema puede ser: Consistente, si admite solucin; o Inconsistente, si no admite solucin. Un sistema Consistente puede ser: Determinado, si la solucin es nica o Indeterminado, si la solucin no es nica. En este caso se demuestra que existe una infinidad de soluciones. 2.4 TEOREMAS SOBRE RANGOS El rango de una matriz es el orden de determinante no nulo de mayor orden que puede obtenerse de esa matriz. El rango de la matriz A se representa con la notacin r(A) y el de la matriz ampliada con r(A, C). En se demuestra que: 1. Para cualquier sistema, r(A) r(A, C) 2. Si r(A) < r(A, C) el sistema es inconsistente 3. Si r(A) = r(A, C) el sistema de ecuaciones es consistente En este caso, si adems r(A) = n, el sistema es determinado e indeterminado si r(A) < n, siendo n el nmero de variables en el sistema. En general, hay dos tipos de tcnicas numricas para resolver ecuaciones simultneas: Directas, que son finitas; e Indirectas, que son infinitas.

4 Naturalmente, ninguna tcnica prctica puede ser infinita. Lo que queremos decir es que en un principio los mtodos directos (despreciando errores por redondeo) producirn una solucin exacta, si la hay, en un nmero finito de operaciones aritmticas. Por otra parte, un mtodo indirecto requerir en principio un nmero infinito de operaciones aritmticas para producir una solucin exacta. Dicho de otra manera, un mtodo indirecto tiene un error por truncamiento mientras que un mtodo directo no lo tiene. Sin embargo, la expresin "en principio" del prrafo anterior es crucial: en realidad se tienen errores por redondeo. Tendremos que considerar ms cuidadosamente esta cuestin. En un sistema grande, mal comportado, los errores por redondeo de un mtodo directo puede hacer que la "solucin" carezca de sentido. A pesar de su error terico por truncamiento, un mtodo indirecto puede ser mucho ms deseable porque en l los errores por redondeo no se acumulan. 2.5 MTODO DIRECTO 2.5.1 MTODO DE ELIMINACIN DE GAUSS El primer mtodo que se presenta usualmente en lgebra, para la solucin de ecuaciones algebraicas lineales simultneas, es aquel en el que se eliminan las incgnitas mediante la combinacin de las ecuaciones. Este mtodo se conoce como Mtodo de Eliminacin. Se denomina eliminacin Gaussiana si en el proceso de eliminacin se utiliza el esquema particular atribuido a Gauss. Utilizando el mtodo de Gauss, un conjunto de n ecuaciones con n incgnitas se reduce a un sistema triangular equivalente (un sistema equivalente es un sistema que tiene iguales valores de la solucin), que a su vez se resuelve fcilmente por "sustitucin inversa"; un procedimiento simple que se ilustrar con la presentacin siguiente.

5 El esquema de Gauss empieza reduciendo un conjunto de ecuaciones simultneas, tal como se muestra en (2), a un sistema triangular equivalente como:

en el cual los superndices indican los nuevos coeficientes que se forman en el proceso de reduccin. La reduccin real se logra de la siguiente manera: 1. La primera ecuacin (2) se divide entre el coeficiente de X1 en esa ecuacin para obtener:

7 La ec. (7) se multiplica entonces por el coeficiente de X1 de la segunda ecuacin (2) y la ecuacin que resulta se resta de la misma, eliminando as X1. La ec. (7) se multiplica entonces por el coeficiente de X1 de la tercera ecuacin (2), y la ecuacin resultante se resta de la misma para eliminar X1 de esa ecuacin. En forma similar, X 1 se elimina de todas las ecuaciones del conjunto excepto la primera, de manera que el conjunto adopta la forma:

La ecuacin utilizada para eliminar las incgnitas en las ecuaciones que la siguen se denomina Ecuacin Pivote. En la ecuacin pivote, el coeficiente

6 de la incgnita que se va a eliminar de las ecuaciones que la siguen se denomina el Coeficiente Pivote (a11 en los pasos previos). 2. Siguiendo los pasos anteriores, la segunda ecuacin (8) se convierte en la ecuacin pivote, y los pasos de la parte 1 se repiten para eliminar X2 de todas las ecuaciones que siguen a esta ecuacin pivote. Esta reduccin nos conduce a:

3. A continuacin se utiliza la tercer ecuacin (9) como ecuacin pivote, y se usa el procedimiento descrito para eliminar X3 de todas las ecuaciones que siguen a la tercer ecuacin (9). Este procedimiento, utilizando diferentes ecuaciones pivote, se contina hasta que el conjunto original de ecuaciones ha sido reducido a un conjunto triangular tal como se muestra en la ec. (6). 4. Una vez obtenido el conjunto triangular de ecuaciones, la ltima ecuacin de este conjunto equivalente suministra directamente el valor de X n (ver ec. 6). Este valor se sustituye entonces en la antepenltima ecuacin del conjunto triangular para obtener un valor de Xn-1, que a su vez se utiliza junto con el valor de Xn en la penltima ecuacin del conjunto triangular para obtener un valor Xn-2 y asi sucesivamente. Este es el procedimiento de sustitucin inversa al que nos referimos previamente. 2.5.1.1 DESVENTAJAS DEL MTODO DE ELIMINACIN 1. DIVISIN ENTRE CERO

7 Una de sus desventajas es que durante el proceso en las fases de eliminacin y sustitucin es posible que ocurra una divisin entre cero. Se ha desarrollado una estrategia del pivoteo para evitar parcialmente estos problemas. sta se deja como investigacin al alumno. 2. ERRORES DE REDONDEO La computadora maneja las fracciones en forma decimal con cierto nmero limitado de cifras decimales, y al manejar fracciones que se transforman a decimales que nunca terminan, se introduce un error en la solucin de la computadora. Este se llama error por redondeo. Cuando se va a resolver solamente un pequeo nmero de ecuaciones, el error por redondeo es pequeo y generalmente no se afecta sustancialmente la presicin de los resultados, pero si se van a resolver simultneamente muchas ecuaciones, el efecto acumulativo del error por redondeo puede introducir errores relativamente grandes en la solucin. Por esta razn el nmero de ecuaciones simultneas que se puede resolver satisfactoriamente con el mtodo de eliminacin de Gauss, utilizando de 8 a 10 dgitos significativos en las operaciones aritmticas, se limita generalmente a 15 o 20. 3. SISTEMAS MAL CONDICIONADOS La obtencin de la solucin depende de la condicin del sistema. En sentido matemtico, los sistemas bien condicionados son aquellos en los que un cambio en uno o ms coeficientes provoca un cambio similar en la solucin. Los sistemas mal condicionados son aquellos en los que cambios pequeos en los coeficientes provocan cambios grandes en la solucin. Una interpretacin diferente del mal condicionamiento es que un rango amplio de respuestas puede satisfacer aproximadamente al sistema. Ya que los errores de redondeo pueden inducir cambios pequeos en los coeficientes, estos cambios artificiales pueden generar errores grandes en la solucin de sistemas mal condicionados. http://luda.uam.mx/cursoc2/tema3/sistem04.html 2.5.2 MTODO DE GAUSS - JORDAN

8 Como hemos visto, 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 unitaria ( ai j = 0 para cualquier ij). (http://www.uv.es/~diaz/mn/node30.html) 2.6 METODOS APROXIMADOS O ITERATIVOS 2.6.1 GAUSS-SEIDEL El mtodo de eliminacin para resolver ecuaciones simultneas suministra soluciones suficientemente precisas hasta para 15 o 20 ecuaciones. El nmero exacto depende de las ecuaciones de que se trate, del nmero de dgitos que se conservan en el resultado de las operaciones aritmticas, y del procedimiento de redondeo. Utilizando ecuaciones de error, el nmero de ecuaciones que se pueden manejar se puede incrementar considerablemente a ms de 15 o 20, pero este mtodo tambin es imprctico cuando se presentan, por ejemplo, cientos de ecuaciones que se deben resolver simultneamente. El mtodo de inversin de matrices tiene limitaciones similares cuando se trabaja con nmeros muy grandes de ecuaciones simultneas. Sin embargo, existen varias tcnicas que se pueden utilizar, para resolver grandes nmeros de ecuaciones simultneas. Una de las tcnicas ms tiles es el mtodo de Gauss-Seidel. Ninguno de los procedimientos alternos es totalmente satisfactorio, y el mtodo de Gauss-Seidel tiene la desventaja de que no siempre converge a una solucin o de que a veces converge muy lentamente. Sin embargo, este mtodo convergir siempre a una solucin cuando la magnitud del coeficiente de una incgnita diferente en cada ecuacin del conjunto, sea suficientemente dominante con respecto a las magnitudes de los otros coeficientes de esa ecuacin. Es difcil definir el margen mnimo por el que ese coeficiente debe dominar a los otros para asegurar la convergencia y es an ms difcil predecir la velocidad de la convergencia para alguna combinacin de valores de los coeficientes cuando esa convergencia existe. No obstante, cuando el valor absoluto del coeficiente dominante para una incgnita diferente para cada ecuacin es mayor que la suma

9 de los valores absolutos de los otros coeficientes de esa ecuacin, la convergencia est asegurada. Ese conjunto de ecuaciones simultneas lineales se conoce como sistema diagonal. Un sistema diagonal es condicin suficiente para asegurar la convergencia pero no es condicin necesaria. Afortunadamente, las ecuaciones simultneas lineales que se derivan de muchos problemas de ingeniera, son del tipo en el cual existen siempre coeficientes dominantes. La secuencia de pasos que constituyen el mtodo de Gauss-Seidel es la siguiente: 1. Asignar un valor inicial a cada incgnita que aparezca en el conjunto. Si es posible hacer una hiptesis razonable de stos valores, hacerla. Si no, se pueden asignar valores seleccionados arbitrariamente. Los valores iniciales utilizados no afectarn la convergencia como tal, pero afectarn el nmero de iteraciones requeridas para dicha convergencia. 2. Partiendo de la primera ecuacin, determinar un nuevo valor para la incgnita que tiene el coeficiente ms grande en esa ecuacin, utilizando para las otras incgnitas los valores supuestos. 3. Pasar a la segunda ecuacin y determinar en ella el valor de la incgnita que tiene el coeficiente ms grande en esa ecuacin, utilizando el valor calculado para la incgnita del paso 2 y los valores supuestos para las incgnitas restantes. 4. Continuar con las ecuaciones restantes, determinando siempre el valor calculado de la incgnita que tiene el coeficiente ms grande en cada ecuacin particular, y utilizando siempre los ltimos valores calculados para las otras incgnitas de la ecuacin. (Durante la primera iteracin, se deben utilizar los valores supuestos para las incgnitas hasta que se obtenga un valor calculado). Cuando la ecuacin final ha sido resuelta, proporcionando un valor para la nica incgnita, se dice que se ha completado una iteracin. 5. Continuar iterando hasta que el valor de cada incgnita, determinado en una iteracin particular, difiera del valor obtenido en la iteracin previa, en

10 una cantidad menor que cierto seleccionado arbitrariamente. El procedimiento queda entonces completo. Refirindonos al paso 5, mientras menor sea la magnitud del seleccionado, mayor ser la precisin de la solucin. Sin embargo, la magnitud del epsilon no especifica el error que puede existir en los valores obtenidos para las incgnitas, ya que sta es una funcin de la velocidad de convergencia. Mientras mayor sea la velocidad de convergencia, mayor ser la precisin obtenida en los valores de las incgnitas para un dado. (http://luda.uam.mx/cursoc2/tema3/sistem04.html) 2.6.2 JACOBI En la iteracin de Jacobi, se escoge una matriz Q que es diagonal y cuyos elementos diagonales son los mismos que los de la matriz A. La matriz Q toma la forma:

y la ecuacin general

se puede escribir como

Qx(k) = -Rx(k-1) + b

11 El producto de la matriz Q por el vector columna x(k) ser un vector columna. De modo anlogo, el producto de la matriz R por el vector columna x(k-1) ser tambin un vector columna. La expresin anterior, que es una ecuacin vectorial, se puede expresar por n ecuaciones escalares (una para cada componente del vector). De este modo, podemos escribir, para un elemento i cualquiera y teniendo en cuenta que se trata de un producto matriz-vector:

Si tenemos en cuenta que en la matriz Q todos los elementos fuera de la diagonal son cero, en el primer miembro el nico trmino no nulo del sumatorio es el que contiene el elemento diagonal qii, que es precisamente aii. Ms an, los elementos de la diagonal de R son cero, por lo que podemos eliminar el trmino i = j en el sumatorio del segundo miembro. De acuerdo con lo dicho, la expresin anterior se puede reescribir como:

de donde despejando xi(k) obtenemos:

que es la expresin que nos proporciona las nuevas componentes del vector x(k) en funcin de vector anterior x(k-1) en la iteracin de Jacobi. El mtodo de Jacobi se basa en escribir el sistema de ecuaciones en la forma:

12

Partimos de una aproximacin inicial para las soluciones al sistema de ecuaciones y sustituimos estos valores en la ecuacin ( ). De esta forma, se genera una nueva aproximacin a la solucin del sistema, que en determinadas condiciones, es mejor que la aproximacin inicial. Esta nueva aproximacin se puede sustituir de nuevo en la parte derecha de la ecuacin ( ) y as sucesivamente hasta obtener la convergencia. (http://www.uv.es/~diaz/mn/node35.html). III. MATERIALES Y METODOS. En el Programa Nacional de Alimentacin se desea una formulacin de mezclas a base de arroz, habas y soya. En la cual se busca que el contenido de protena debe de ser 15% , carbohidratos 50%. Si se desea preparar 100 kg de mezcla. Se pide calcular las cantidades de cada componente. Conociendo los siguientes datos. Composicin qumica carbohidrato Protena
Fuente: Collazos, 1993.

Arroz 55,0 9,5

habas 55,0 19,4

Soya 34,0 20,3

IV. RESULTADOS Y DISCUSIONES. Considerando a X1, X2 y X3 como las fracciones de arrroz, habas y soya respectivamente en la mezcla, podemos aplicar los siguientes balances de materia: Balance de carbohidratos: 55 X1 + 55 X2 + 34 X3 = 50

13 Balance de protenas: Balance global: aumentada como:


55 9.5 1 55 19.4 1 34 20.3 1 50 15 1

9.5 X1 + X1 +

19.4 X2 + 20.3 X3 = 15 X2 + X3 = 1

Este sistema de ecuaciones lineales puede escribirse en forma de matriz

Estos datos se utilizaron para hallar el conjunto solucin de este sistema haciendo uso tanto de mtodos directos como iterativos de solucin empleando el lenguaje de programacin Visual Basic. Los formularios empleados se aprecian en la Figura 1. Los cdigos correspondientes a los mtodos directos de Gauss y Gauss-Jordan se aprecian en la Figura 3. As mismo, en la Figura 4 se presenta los cdigos correspondientes a los mtodos iterativos de Jacobi y Gauss-Seidel. Figura 1: Formulario aplicativo para Mtodos Directos ( Gauss y GaussJordan).

El vector solucin obtenido por la aplicacin de los mtodos directos es: (0.4660 0.2958 0.2380) que corresponde a las siguientes fracciones en la mezcla: arroz, 46,60%; habas, 29.58%; y soya, 23.80%. Los mtodos iterativos resultaron ineficientes para solucionar el sistema, debido a la no convergencia de las iteraciones, como puede observarse en las Tablas 1 y 2, para las primeras 10 iteraciones.

14

Tabla 1. Aproximaciones sucesivas empleando el mtodo de Jacobi. Iteracin 0 1 2 3 4 5 6 7 8 9 10 Xc1 Xc2 Xc3 | X1-Xc1| | X2-Xc2| | X3-Xc3| 0.000 0.000 0.000 0.909 0.773 1.000 0.909 0.773 1.000 -0.482 -0.718 -0.682 1.391 1.492 1.682 2.049 1.723 2.201 2.532 2.442 2.883 -2.175 -2.533 -2.773 4.224 4.256 4.973 5.156 4.739 5.708 7.331 7.272 8.480 -7.359 -7.724 -8.895 12.515 12.463 14.603 14.132 13.685 16.083 21.491 21.409 24.978 -22.718 -22.976 -26.817 36.850 36.661 42.899 40.463 39.959 46.694 63.180 62.935 73.510 -67.915 -67.901 -79.421 108.377 107.859 126.115

Tabla 2. Aproximaciones sucesivas empleando el mtodo de Gauss-Seidel . Iteracin 0 1 2 3 4 5 6 7 8 9 10 Xc1 0.000 0.909 0.728 0.487 0.231 0.009 -0.135 -0.167 -0.078 0.121 0.397 Xc2 0.000 0.328 0.665 0.946 1.113 1.128 0.983 0.696 0.318 -0.081 -0.426 Xc3 0.000 -0.237 -0.393 -0.432 -0.344 -0.137 0.152 0.471 0.760 0.960 1.029 | X1-Xc1| 0.909 0.181 0.241 0.256 0.222 0.143 0.033 0.089 0.199 0.276 | X2Xc2| 0.328 0.337 0.281 0.167 0.016 0.146 0.286 0.378 0.400 0.345 | X3-Xc3| 0.237 0.156 0.040 0.089 0.206 0.289 0.319 0.289 0.200 0.069

Nieves (1997) y Mathews (2000), sealan que la convergencia de un mtodo iterativo puede mejorar rearreglando las ecuaciones del sistema en estudio a fin de obtener una matriz coeficiente diagonalmente dominante, en la cual cada elemento de la diagonal principal es mayor (en valor absoluto) que la suma de los valores absolutos de todos los dems elementos de la misma fila o columna. Debido a que pocos sistemas de ecuaciones lineales poseen matrices coeficiente diagonalmente dominantes, si se arreglan las ecuaciones del sistema de modo que nos acerquemos lo ms posible a dicha condicin, se obtiene alguna mejora.

15 As, tomando como base de clculo 100 g de mezcla y considerando a X 1, X2 y X3 como las fracciones de soya, arroz y kiwicha en la mezcla; dividiendo los balances de protena y carbohidratos entre 10 y 100 respectivamente, se rearreglaron las ecuaciones del sistema para obtener la matriz aumentada:
2.03 1 0.34 0.95 1 0.55 1.94 1 0.55 1.5 1 0.5

Figura 2: Formulario aplicativo para Mtodos Iterativos ( Gauss - Seidel y Jacobi).

Empleando estos coeficientes, el mtodo de Gauss-Seidel converge, luego de 1001 iteraciones, al vector: (0.2380 0.4660 0.2958) que corresponde a las siguientes fracciones en la mezcla: arroz, 46.60%; kiwicha,29.58%; y soya, 23.80%. Dichos resultados coinciden con los obtenidos atravez de los mtodos directos, con la desventaja de que halla el resultado despus de 1001 iteraciones.

16 Nuevamente, el mtodo de Jacobi se mostr ineficiente, ya que no pudo converger. Esto se visualiza en la Tabla 4, donde se tabula las aproximaciones al vector solucin para las primeras 10 iteraciones. Las primeras 10 iteraciones se observan en la Tabla 3.

Tabla 3. Aproximaciones sucesivas empleando el mtodo de Gauss-Seidel despus del rearreglo del sistema. Iteracin 0 1 2 3 4 5 6 7 8 9 10 Xc1 0.000 0.739 0.321 0.039 -0.188 -0.395 -0.598 -0.805 -1.020 -1.244 -1.478 Xc2 0.000 0.261 0.370 0.410 0.419 0.413 0.402 0.386 0.369 0.350 0.329 Xc3 0.000 0.309 0.552 0.769 0.981 1.196 1.419 1.651 1.894 2.149 2.416 | X1-Xc1| 0.739 0.418 0.282 0.227 0.207 0.203 0.207 0.215 0.224 0.234 | X2-Xc2| 0.261 0.108 0.040 0.009 0.005 0.012 0.015 0.018 0.019 0.020 | X3-Xc3| 0.309 0.242 0.218 0.212 0.215 0.223 0.232 0.243 0.255 0.267

Tabla 4. Aproximaciones sucesivas empleando el mtodo de Jacobi despus del rearreglo del sistema. Iteracin 0 1 2 3 4 5 6 7 8 9 10 Xc1 0.000 0.739 -1.134 2.588 -5.917 11.915 -27.544 56.800 -127.561 269.609 -594.148 Xc2 0.000 1.000 -1.210 3.477 -6.850 15.257 -33.038 71.027 -155.271 333.870 -727.601 Xc3 0.000 1.471 -1.342 5.262 -8.340 22.123 -42.484 99.471 -205.309 458.992 -974.745 | X1-Xc1| 0.739 1.873 3.722 8.505 17.832 39.458 84.344 184.361 397.170 863.758 | X2-Xc2| 1.000 2.210 4.686 10.327 22.107 48.295 104.065 226.298 489.140 1061.471 | X3-Xc3| 1.471 2.813 6.605 13.602 30.463 64.607 141.954 304.779 664.301 1433.738

17 Nieves (1997), menciona que los mtodos iterativos son probablemente ms eficientes que los directos para sistemas de orden muy alto, siendo menos sensibles a los errores de redondeo. Para el ejemplo aplicacin ensayado, cuyo orden es igual a 3, los mtodos iterativos no resultaron ms eficientes que los directos, ya que solo se logr una convergencia lenta (luego de 1001iteraciones) en el mejor de los casos (GaussSeidel).

V. CONCLUSIONES Los mtodos directos de solucin de sistemas de ecuaciones lineales aseguran la convergencia a un vector solucin. En sistemas de orden pequeo, los mtodos directos son ms eficientes que los iterativos. La convergencia de los mtodos iterativos se halla fuertemente influenciada por la matriz coeficiente del sistema, obtenindose mejores resultados cuanto ms se aproxima a una matriz diagonalmente dominante. El mtodo de Gauss-Seidel requiere menos restricciones que el de Jacobi respecto a la matriz coeficiente del sistema, convergiendo ms rapidamente que este.

18

VI. BIBLIOGRAFIA Chapra. 1999. Mtodos numricos para ingenieros. Editorial Mc Graw Hill. 3ra. Edicin. Mxico. Mathews. 2000. Mtodos numricos con MatLab. Editorial Prentice Hall. 1ra Edcin. Espaa. Nieves. 1997. Mtodos numricos aplicados a la ingeniera. Ca. Editorial Continental. 1ra. Edicin. Mxico. http://www.uv.es/~diaz/mn/node30.html http://www.uv.es/~diaz/mn/node35.html http://luda.uam.mx/cursoc2/tema3/sistem04.html

19 ANEXOS Figura 3: Cdigos de los Mtodos Directos.

Mtodo de Gauss Private Sub Command1_Click() Dim a(3, 4) Dim b(3) Dim x(3) a(1, 1) = Val(Text1) a(1, 2) = Val(Text2) a(1, 3) = Val(Text3) b(1) = Val(Text4) a(2, 1) = Val(Text5) a(2, 2) = Val(Text6) a(2, 3) = Val(Text7) b(2) = Val(Text8) a(3, 1) = Val(Text9) a(3, 2) = Val(Text10) a(3, 3) = Val(Text11) b(3) = Val(Text12) n=3 For i = 1 To n - 1 For k = i + 1 To n For j = i + 1 To n a(k, j) = a(k, j) - a(k, i) * a(i, j) / a(i, i) Next j b(k) = b(k) - a(k, i) * b(i) / a(i, i) Next k Next i x(n) = b(n) / a(n, n) For i = n - 1 To 1 Step -1 x(i) = b(i) For j = i + 1 To n x(i) = x(i) - a(i, j) * x(j) Next j x(i) = x(i) / a(i, i) Next i Text13 = x(1) Text14 = x(2) Text15 = x(3) End Sub

Mtodo de Gauss-Jordan Private Sub Command2_Click() Dim a(3, 4) a(1, 1) = Val(Text1) a(1, 2) = Val(Text2) a(1, 3) = Val(Text3) a(1, 4) = Val(Text4) a(2, 1) = Val(Text5) a(2, 2) = Val(Text6) a(2, 3) = Val(Text7) a(2, 4) = Val(Text8) a(3, 1) = Val(Text9) a(3, 2) = Val(Text10) a(3, 3) = Val(Text11) a(3, 4) = Val(Text12) For k = 1 To 3 Pivot = a(k, k) For j = 1 To 4 a(k, j) = a(k, j) / Pivot Next j For i = 1 To 3 If i <> k Then Pivot = a(i, k) For j = 1 To 4 a(i, j) = a(i, j) - Pivot * a(k, j) Next j End If Next i Next k Text13 = a(1, 4) Text14 = a(2, 4) Text15 = a(3, 4) End Sub

Figura 4: Cdigos de los Mtodos Iterativos. Mtodo de Jacobi Private Sub Command1_Click() Dim a(3, 4), x(3), xc(3) a(1, 1) = Val(Text1) a(1, 2) = Val(Text2) a(1, 3) = Val(Text3) a(1, 4) = Val(Text4) a(2, 1) = Val(Text5) a(2, 2) = Val(Text6) a(2, 3) = Val(Text7) a(2, 4) = Val(Text8) a(3, 1) = Val(Text9) a(3, 2) = Val(Text10) a(3, 3) = Val(Text11) a(3, 4) = Val(Text12) xc(1) = Val(Text13) xc(2) = Val(Text14) xc(3) = Val(Text15) For j = 1 To 3 If a(j, j) = 0 Then MsgBox "Introduzca coeficientes diferentes de cero en la diagonal principal" End If Next j i=0 Do x(1) = xc(1) x(2) = xc(2) x(3) = xc(3) xc(1) = (a(1, 4) - a(1, 2) * x(2) - a(1, 3) * x(3)) / a(1, 1) xc(2) = (a(2, 4) - a(2, 1) * x(1) - a(2, 3) * x(3)) / a(2, 2) xc(3) = (a(3, 4) - a(3, 1) * x(1) - a(3, 2) * x(2)) / a(3, 3) i=i+1 Loop While Abs(x(1) - xc(1)) > 0.001 Or Abs(x(2) - xc(2)) > 0.001 Or Abs(x(3) - xc(3)) > 0.001 Or i <= 1000 Text16 = x(1) Text17 = x(2) Text18 = x(3) Text19 = i End Sub Mtodo de Gauss-Seidel Private Sub Command2_Click() Dim a(3, 4), x(3), xc(3) a(1, 1) = Val(Text1) a(1, 2) = Val(Text2) a(1, 3) = Val(Text3) a(1, 4) = Val(Text4) a(2, 1) = Val(Text5) a(2, 2) = Val(Text6) a(2, 3) = Val(Text7) a(2, 4) = Val(Text8) a(3, 1) = Val(Text9) a(3, 2) = Val(Text10) a(3, 3) = Val(Text11) a(3, 4) = Val(Text12) xc(1) = Val(Text13) xc(2) = Val(Text14) xc(3) = Val(Text15) For j = 1 To 3 If a(j, j) = 0 Then MsgBox "Introduzca coeficientes diferentes de cero en la diagonal principal" End If Next j i=0 Do x(1) = xc(1) x(2) = xc(2) x(3) = xc(3) xc(1) = (a(1, 4) - a(1, 2) * x(2) - a(1, 3) * x(3)) / a(1, 1) xc(2) = (a(2, 4) - a(2, 1) * xc(1) - a(2, 3) * x(3)) / a(2, 2) xc(3) = (a(3, 4) - a(3, 1) * xc(1) - a(3, 2) * xc(2)) / a(3, 3) i=i+1 Loop While Abs(x(1) - xc(1)) > 0.001 Or Abs(x(2) - xc(2)) > 0.001 Or Abs(x(3) - xc(3)) > 0.001 Or i <= 1000 Text16 = x(1) Text17 = x(2) Text18 = x(3) Text19 = i End Sub

También podría gustarte