M´todos Num´ricos (SC–854) e e Soluci´n de sistemas de ecuaciones lineales o

c M. Valenzuela 2007
(21 de agosto de 2007)

1.

Matrices

Definici´n. 1 Una matriz n × m es un arreglo rectangular de elementos con n filas (o renglones) y o m columnas en el cual no s´lo es importante el valor de los elementos sino tambi´n su posici´n en o e o el arreglo. Ejemplo: ⎡ ⎢ ⎢ A = (aij ) = ⎢ ⎣ a11 a21 . . . an1 a12 a22 . . . an2 ··· ··· .. . a1m a2m . . . ⎤ ⎥ ⎥ ⎥ ⎦ (1)

· · · anm

Las matrices se denotan con may´ sculas (con negritas) y sus elementos con min´ sculas. u u

2.

Vectores
B= b11 b12 · · · b1n , (2)

Definici´n. 2 Una matriz 1 × n, o

se le llama un vector rengl´n de n dimensiones. o Definici´n. 3 Una matriz n × 1, o ⎡ ⎢ ⎢ C=⎢ ⎣ se le llama un vector columna de n dimensiones. Usualmente, los sub´ ındices innecesarios se omiten, de manera que y= y1 y2 ⎡ · · · ym ⎤ ⎥ ⎥ ⎥, ⎦ (5) , (4) c11 c12 . . . c1n ⎤ ⎥ ⎥ ⎥, ⎦ (3)

denota un vector rengl´n de m dimensiones, y o

⎢ ⎢ x=⎢ ⎣

x1 x2 . . . xn

denota un vector columna de n dimensiones. Los vectores se denotan con min´sculas y negritas. u La norma de un vector x se define de la siguiente manera:
n 1/p

||x||p =
i=1

|xi |

p

(6)

N´tese que o
n

||x||2 =
i=1

|xi |2 = |x|,

(7)

voltajes. N´tese tambi´n que o e n 1/p es decir. . an1 an2 ⎡ b1 ⎢ b2 ⎢ b=⎢ . Por qu´ se requieren m´todos para resolver sistemas de e e ecuaciones lineales Muchos problemas pueden ser descritos mediante un sistemas de ecuaciones lineales. . ⎣ . ⎤ ⎥ ⎥ ⎥ ⎦ (10) · · · ann ⎤ ⎥ ⎥ ⎥ ⎦ (11) P´gina 2 a . . la corriente de la resistencia R es i1 − i2 . e Las ecuaciones de malla que describen a este circuito son las siguientes: 15ii −5i1 − 5i2 + 15i2 − 5i2 − + 5i3 20i3 = 20 = 0 = 0 (9) A partir de las ecuaciones de malla se pueden obtener todas las corrientes. . i (8) a1n a2n .Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e 10Ω 5Ω 10Ω 20V Figura 1: Circuito el´citrico que puede ser descrito mediante un sistema de ecuaciones simult´neas. a 3. . . y pontencial de los elementos del circuito. Por ejemplo. Valenzuela. . Por ejemplo. A partir de la matriz A y el vector b ⎡ a11 a12 · · · ⎢ a21 a22 · · · ⎢ A=⎢ . ⎣ . = b1 b2 bn puede representarse mediante una matriz n × (n + 1). . bn c M. e a es decir. Representaci´n de sistemas de ecuaciones o Un sistema de ecuaciones lineales simulat´neas de la forma a a11 x1 + a12 x2 + · · · + a1n xn a21 x1 + a22 x2 + · · · + a2n xn an1 x1 + an2 x2 + · · · + ann xn = = . 4. . el m´ximo de los valores absolutos de las componentes xi del vector.. la magnitud del vector. . . considere el circuito el´ctrico mostrado en la figura 1. 2007 (21 de agosto de 2007) − + R = 5Ω 5Ω 5Ω ||x||∞ = lim p→∞ |xi | i=1 p = max (|xi |) .

a1n a2n . . an2 ··· ··· . o 5. 2007 (21 de agosto de 2007) P´gina 3 a . . Ejemplo de circuitos el´ctricos e Definiendo R. bn ⎤ ⎥ ⎥ ⎥ ⎦ (12) · · · ann Esta matriz aumentada representa la ecuaci´n vectorial Ax = b. es posible rea alizar las siguientes operaciones elementales de rengl´n manteniendo las igualdades de las ecuaciones o representadas: Multiplicar un rengl´n por una constante o Multiplicar un rengl´n por una constante y sumarlo a otro rengl´n o o Los m´todos de soluciones de sistemas de ecuaciones aplican estas operaciones sobre la matriz e aumentada en forma ordenada y repetida. .. i. b1 b2 . . Operaciones elementales de rengl´n o ˜ Como la matriz aumentada A representa un sistema de ecuaciones simult´neas. y v: ⎤ 15 −5 0 R = ⎣ −5 15 −5 ⎦ 0 −5 20 ⎤ ⎡ ⎤ ⎡ 20 i1 i = ⎣ i2 ⎦ v = ⎣ 0 ⎦ i3 0 ⎡ (13) (14) Podemos expresar el juego de ecuaciones como ⎤ ⎡ ⎡ ⎤ ⎤⎡ 20 15 −5 0 i1 Ri = v = ⎣ −5 15 −5 ⎦ ⎣ i2 ⎦ = ⎣ 0 ⎦ i3 0 0 −5 20 Que puede representarse mediante la matriz aumentada: ⎡ ⎤ 15 −5 0 20 ˜ R = ⎣ −5 15 −5 0 ⎦ 0 −5 20 0 (15) (16) 6.Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e se forma la matriz aumentada ⎡ ⎢ ⎢ ˜ A=⎢ ⎣ a11 a21 . . En las siguientes secciones se explican los siguientes m´todos: e Eliminaci´n gaussiana (Gauss) o Gauss-Jordan Montante c M. Valenzuela. an1 a12 a22 . . . . .

:) − .1379 0 0 1 0.1379 (20) c M.5517 ⎦ ∼ ⎣ 0 1 0 0. ⎡ ⎤ ⎡ ⎤ 15 −5 0 20 15 −5 0 20 ˜ R = ⎣ −5 15 −5 0 ⎦ ∼ ⎣ 0 13.3333 −5 6. :) − A(i.5517 ⎦ 0. :) A(i. Eliminaci´n Gaussiana o Eliminaci´n gaussiana aplica operaciones de rengl´n para resolver un sistema de ecuaciones o o simulat´neas.5172 ⎣ 0 13. n + 1) .i de la matriz aumentada como el pivote. y hace ceros arriba del pivote (l´ ´ o ıneas 5 a 8). i) A(j. 7.1379 ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ 15 −5 0 20 15 0 0 22.6667 ⎦ ∼ (18) 0 0 18. su pseudoc´digo se presenta en la figura 2. :)A(j. return x 6 7 8 9 10 Figura 2: Pseudoc´digo que implementa el m´todo de eliminaci´n gaussiana para soluci´n de sistemas o e o o de ecuaciones lineales. A continuaci´n se presenta la soluci´n del ejemplo del circuito el´citrico mediante eliminaci´n o o e o gaussiana. i) // Hacer ceros arriba de pivote for j ← i − 1 downto 1 do A(j.Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e Function EGaussiana(A. A(i.6667 ⎦ ∼ ⎣ 0 13.1379 de donde se tiene que las corrientes de malla son: ⎡ ⎤ 1. y en la figura 3 su implementaci´n en a o o MATLAB.1379 0 0 1 0. o Para cada rengl´n.5 0 0 1 0. Segundo.3563 ⎦ ∼ ⎣ 0 1 0 0. Primero. La soluci´n o al sistema de ecuaciones queda en la ultima columna de la matriz aumentada (l´ ´ ınea 9). para cada rengl´n empezando por o el ultimo rengl´n.3333 −5 6. se define el elemento ai. hace el pivote igual a 1.3333 0 7.b) 1 2 3 4 5 A ← [Ab] . :) ← A(j. :) ← . 2007 (21 de agosto de 2007) P´gina 4 a . :) ← A(j. for i ← 1 to n do // Hacer ceros abajo de pivote for j ← i + 1 to n do A(i.7586 1 0 0 1. i) .6667 ⎦ ∼ (17) 0 −5 20 0 0 −5 20 0 ⎡ ⎤ ⎡ ⎤ 15 −5 0 20 15 −5 0 20 ⎣ 0 13. x ← A(:. Valenzuela. para cada rengl´n empezando por el primer rengl´n. A(i. :)A(j.1250 2. i) for i ← n downto 1 do // Hacer pivote 1 A(i. hace o o ceros en los elementos debajo del pivote (l´ ıneas 3 y 4).3333 −5 6.5517 ⎦ (19) 0 0 1 0. Eliminaci´n o gaussiana opera en dos fases.5172 i = ⎣ 0.

3333 0 1. for i=1:n % Hacer ceros en la columna i debajo de la fila i for j=i+1:n A(j . end end for i=n:−1:1 % Hacer uno el elemento i. x = EGauss(A. 8.:) = A(j.1250 2. a c M.3750 0.:)/A(i. Para resolver este problema se pueden intercambiar renglones para colocar o una elemento diferente de cero en la diagonal principal. Figura 3: Implementaci´n en MATLAB del m´todo de eliminaci´n gaussiana para soluci´n de siso e o o temas de ecuaciones lineales. i ). % 22 enero 2007 % Manuel Valenzuela % Crear la matriz aumentada A = [A b].3333 ˜ ⎦∼ 15 −5 0 R = ⎣ −5 15 −5 0 ⎦ ∼ ⎣ −5 (21) 0 −5 20 0 0 −5 20 0 ⎤ ⎡ ⎤ ⎡ 1 −0. El m´todo de o e e Gauss-Jordan es similar a eliminaci´n gaussiana.5000 ⎦ ∼ (23) 0 0 18. M´todo de Gauss-Jordan e En la figuras 4 y 5 se presenta en la implementaci´n del m´todo Gauss-Jordan.5000 ⎣ 0 1 −0.:) = A(i.3750 0.3750 0. pero primero hace el pivote igual a 1.:) − A(i. En el m´todo de Gauss-Jordan primero se hace el pivote igual e a 1 se hace el pivote igual a 1 (l´ ınea 3).b) Regresa x.3333 0 1.3333 ⎣ 0 13. end end x = A(:.1250 1. Despu´s se hacen cero los elementos arriba y abajo del e pivote l´ ıneas 4 a 6). y luego hace o ceros en toda la columna del pivote.:)∗A(j.b) % % % % % % % Implementacion del metodo de eliminacion gaussiana para resolver sistemas de ecuaciones lineales.1).i A(i .3333 1 −0.6667 ⎦ ∼ ⎣ 0 1 −0.5172 ⎣ 0 1 0 0.3333 0 1.5000 0 0 1 0. la solucion del sistema Ax=b. i ). n = size(A.5000 ⎦ ∼ ⎣ 0 1 −0. La soluci´n al sistema de ecuaciones queda en la ultima columna de la matriz o ´ aumentada (l´ ınea 7). En la figura 6 se presenta la implementaci´n o de Gauss-Jordan donde se escoge el elemento de m´ximo valor abosluto como pivote.1379 ⎡ ⎤ 1 0 0 1.n+1).:) − A(i.1379 9.5517 ⎦ (24) 0 0 1 0.:) = A(j.1250 1. i)/A(i. causando una divisi´n entre cero. % Hacer ceros en la columna i arriba de la fila i for j=i−1:−1:1 A(j .3333 −5 6. 2007 (21 de agosto de 2007) P´gina 5 a . i ). Valenzuela. Pivote m´ximo a Los algoritmos presentados pueden encontrar el problema de que el pivote sea cero. A contiuaci´n se muestra la soluci´n del ejemplo del circuito el´ctrico mediante Gauss-Jordan.:)∗A(j. o o e ⎡ ⎤ ⎡ ⎤ 15 −5 0 20 1 −0.5000 1 0 −0.Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e function x = EGauss(A.5000 ⎦ ∼ (22) 0 −5 20 0 0 −5 20 0 ⎡ ⎤ ⎡ ⎤ 1 0 −0.

A(i. x ← A(:. :) .n+1). Figura 5: Implementaci´n en MATLAB del m´todo Gauss-Jordan para soluci´n de sistemas de o e o ecuaciones lineales. i ). % 22 enero 2007 % Manuel Valenzuela % Se crea la matriz aumentada A = [A b]. n = size(A.b) Regresa x.:)/A(i.:) − A(i. end end end x = A(:. :) − A(j.Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e Function GaussJordan(A. i) for j ← 1 to n do if j = i then // Hacer ceros arriba y abajo del pivote A(j. return x Figura 4: Pseudoc´digo que implementa de m´todo Gauss-Jordan para la soluci´n de sistemas de o e o ecuaciones lineales. i)A(i.:) = A(j.1). % Hacer ceros en la columna i for j=1:n if i˜=j A(j . 2007 (21 de agosto de 2007) P´gina 6 a . :) A(i. i ). for i=1:n % Dividir renglon entre el pivote A(i . for i ← 1 to n do // Hacer pivote 1 A(i. la solucion del sistema Ax=b. c M.:)∗A(j. function x = GaussJ(A. n + 1) .b) 1 2 3 4 5 6 7 8 A ← [Ab] . Valenzuela. x = GaussJordan(A.b) % % % % % % % Implementacion del metodo Gauss−Jordan para resolver sistemas de ecuaciones lineales. :) ← A(j. :) ← .:) = A(i.

A(i. :) ← . Gauss-Jordan. Matriz inversa Los m´todos de eliminaci´n gaussiana. y Montante pueden ser utilizados para e o encontrar la inversa de una matriz.5172 ⎣ 0 1 0 0. Valenzuela. Montante El m´todo de Montante. la matriz aumentada ser´ la matriz de original y a la matriz identidad.b) 1 2 3 4 5 6 7 8 9 10 11 A ← [Ab] . n + 1) . i) for j ← 1 to n do // Hacer ceros arriba y abajo del pivote if j = i then A(j.5517 ⎦ (27) 0 0 1 0. k ← rengl´n de m en A . // Hacer pivote 1 A(i. o Intercambiar renglones i y k de A . ´ o Ejemplo del m´todo Montante: e ⎡ ⎤ ⎡ ⎤ 15 −5 0 20 15 −5 0 20 ˜ A = ⎣ −5 15 −5 0 ⎦ ∼ ⎣ 0 200 −75 100 ⎦ ∼ (25) 0 −5 20 0 0 −75 300 0 ⎡ ⎤ ⎡ ⎤ 200 0 −25 300 3625 0 0 5500 ⎣ 0 200 −75 100 ⎦ ∼ ⎣ 0 3625 0 2000 ⎦ ∼ (26) 0 0 3625 500 0 0 3625 500 ⎡ ⎤ 1 0 0 1. :) − A(j. :) A(i. En este caso. i)A(i. 2007 (21 de agosto de 2007) P´gina 7 a . donde se realiza la divisi´n entre el determinante. :) .Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e Function GaussJordan(A.1379 11. 10. ⎤ ⎡ ⎡ ⎤ 15 −5 0 1 0 0 15 −5 0 1 0 0 ⎣ −5 15 −5 0 1 0 ⎦ ∼ ⎣ 0 200 −75 5 15 0 ⎦ ∼ (28) 0 −5 20 0 0 1 0 −75 300 0 0 15 ⎡ ⎤ ⎡ ⎤ 200 0 −25 15 5 0 3625 0 0 275 100 25 ⎣ 0 200 −75 5 15 0 ⎦ ∼ ⎣ 0 3625 0 100 300 75 ⎦ (29) 0 0 3625 25 75 200 0 0 3625 25 75 200 c M. return x Figura 6: Pseudoc´digo que implementa el m´todo de Gauss-Jordan con pivote m´ximo para soluci´n o e a o de sistemas de ecuaciones lineales. que se presenta en las figuras 7 y 8. x ← A(:. i)|) . for i ← 1 to n do m ← max(|A(i : n. resuelve un sistema de ecuaciones e simult´neas haciendo operaciones que mantienen el n´ mero de decimales que tiene los datos originales a u hasta el ultimo paso. :) ← A(j.

:) = (A(j. c M. n + 1) .b) % % % % % % % Implementacion del metodo Montante para resolver sistemas de ecuaciones lineales.b) 1 2 3 4 5 6 7 8 A ← [Ab] . end % Dividir entre el ultimo pivote (determinante) A = A/piv. Figura 8: Implementaci´n en MATLAB del m´todo de Montante para la soluci´n de sistemas de o e o ecuaciones lineales. :) ← . A(:.b) Regresa x. x = Montante(A. i) A(j. n) . % pivote inicial for i=1:n % pivote actual piv = A(i. piv det ← A(n. i ))/pivAnt.1). end end % Guardar el pivote anterior pivAnt = piv. % Hacer ceros en la columna i for j=1:n if j˜=i A(j . x = A(:. det x← 9 10 11 Figura 7: Pseudoc´digo que implementa el m´todo de Montante para la soluci´n de sistemas de o e o ecuaciones lineales. pivAnt pivAnt ← piv . :)A(j. la solucion del sistema Ax=b. function x = Mont(A. n = size(A. 2007 (21 de agosto de 2007) P´gina 8 a .Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e Function Montante(A.:)∗piv − A(i. % 22 enero 2007 % Manuel Valenzuela % Se crea la matriz aumentada A = [A b]. Valenzuela. for i ← 1 to n do piv ← A(k. :)piv − A(i.i ). for j ← 1 to n do // Hacer ceros arriba y abajo del pivote if j = i then A(j. pivAnt ← 1 .n+1). pivAnt = 1. k) . return x.:)∗A(j.

0828 0..0276 0. ⎥ . M´todos Iterativos: Jacobi e a11 x1 + a12 x2 + · · · + a1n xn a21 x1 + a22 x2 + · · · + a2n xn an1 x1 + an2 x2 + · · · + ann xn = = .0207 ⎦ 0.0069 0. . ⎢ ⎥ ⎢ .0552 (31) 12. ⎢ ⎥ ⎢ .0207 0. .0207 0. 2007 (21 de agosto de 2007) (44) P´gina 9 a . ⎥ ⎢ ⎥ ⎢ ⎣ an1 ⎦ ⎣ bn ⎦ an2 an. ⎥ .0276 0. . . xn = − an1 an2 an.Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e 1 ∼⎣ 0 0 ⎡ 0 0 1 0 0 1 ⎤ 0. es decir. xn (t + 1) = an1 an2 an.0828 0. .0207 ⎦ 0. . ⎤ ⎡ ⎤ ⎡ a13 a1n a12 b1 − ··· 0 − ⎥ ⎢ ⎢ a a11 a11 a11 ⎥ ⎢ ⎥ ⎢ 11 ⎥ ⎢ ⎢ b ⎥ a21 a23 a1n ⎥ ⎢ − ⎢ 2 ⎥ ⎥ 0 − ··· − ⎥ ⎢ ⎥ ⎢ a22 a22 ⎥ ⎢ a22 ⎢ a22 ⎥ ⎥ ⎢ ⎥ ⎢ a3n ⎥ c = ⎢ b3 ⎥ T = ⎢ − a31 − a32 0 ··· − ⎥ ⎢ ⎥ ⎢ ⎢ a33 ⎢ a33 ⎥ a33 a33 ⎥ ⎢ ⎥ ⎢ . o x1 (t + 1) = x2 (t + 1) = .n−1 − ··· − 0 − ann ann ann ann c M.0276 0.0759 0. . ⎥ . = b1 b2 bn (32) (33) (34) (35) Dado un sistema de ecuaciones de la forma: si se despeja la variable xi de cada ecuaci´n se obtiene lo siguiente: o x1 x2 = = . Valenzuela.n−1 bn − x1 (t) − x2 (t) − · · · − xn−1 (t) + ann ann ann ann − − a12 a13 a1n b1 x2 (t) − x3 (t) − · · · − xn (t) + a11 a11 a11 a11 a21 a23 a2n b2 x1 (t) − x3 (t) − · · · − xn (t) + a22 a22 a22 a22 (40) (41) (42) (43) o puede usarse para obtener los valores de xi (t + 1) en funci´n de los valores de xi (t).0069 A−1 = ⎣ 0.0552 (30) La inversa son las ultimas n columnas de la matriz aumentada: ´ ⎡ ⎤ 0.0069 0. .0276 0.0069 0. . .n−1 bn x1 − x2 − · · · − xn−1 + ann ann ann ann − − a12 a13 a1n b1 x2 − x3 − · · · − xn + a11 a11 a11 a11 a21 a23 a2n b2 x1 − x3 − · · · − xn + a22 a22 a22 a22 (36) (37) (38) (39) El sistema anterior. Si definimos la matriz T y el vector c de la siguiente manera. .0759 0. puede usarse como una f´rmula recursiva.

Valenzuela. y la regla debe aplicarse en orden para i = 1. . 2007 (21 de agosto de 2007) P´gina 10 a . || · ||∞ . x1 (t + 1) = − x2 (t + 1) = − x3 (t + 1) = − . . ||x − xant ||∞ until <ε. n. xn (t + 1) = − an1 an2 an. o se pueden escribir las ecuaciones recursivas en forma matricial: x(t + 1) = Tx(t) + c Para evitar el uso de la variable t podemos escribir la ecuaci´n en forma de asignaci´n: o o x ← Tx + c En las figuras 9 y 10 se presenta la implementaci´n del m´todo de Jacobi. repeat xant ← x . En las figuras 11 y 12 se presenta la implementaci´n del m´todo de Gauss-Seidel. ||x||∞ return x Figura 9: Pseudoc´digo que implementa el m´todo de Jacobi para resolver en forma iterativa sistemas o e de ecuaciones lineales. o e c M. es decir. M´todos Iterativos: Gauss-Seidel e En las ecuaciones recursivas. o e (46) (45) 13. . x ← Tx + c . es posible utilizar inmediatamente los valores obtenidos para calcular los siguientes valores.n−1 bn x1 (t + 1) − x2 (t + 1) − · · · − xn−1 (t + 1) + ann ann ann ann a12 a13 a1n b1 x2 (t) − x3 (t) − · · · − xn (t) + a11 a11 a11 a11 a21 a23 a2n b2 x1 (t + 1) − x3 (t) − · · · − xn (t) + a22 a22 a22 a22 a31 a32 a3n b3 x1 (t + 1) − x2 (t + 1) − · · · − xn (t) + a33 a33 a33 a33 (47) (48) (49) (50) (51) El uilizar los valores de xi que se acaban de calcular para calcular los siguientes valores permite que el m´todo converja m´s r´pidamente a una soluci´n. :) representa la fila i de la matriz T.x0 ) 1 2 3 4 5 6 7 8 Obtener matriz T . x ← x0 . pero es posible tomar otra norma. e a a o Las ecuaciones recursivas se pueden escribir en forma matricial de la siguiente manera: xi ← T(i. En la l´ ınea 7 se ha tomado la norma infinita. . Obtener vector c .Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e Function Jacobi(A. .b. 2. :)x + ci (52) donde T(i. para definir el criterio de terminaci´n.

while 1 x = T∗x + c.b.Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e function x = Jaco(A. Valenzuela. if (norm(x−xAnt.:)/A(i. ||x||∞ return x Figura 11: Pseudoc´digo que implementa el m´todo de Gauss-Seidel para resolver en forma iterativa o e sistemas de ecuaciones lineales. ||x − xant || until <ε. xant ← x0 . tomando como aproximacion inicial x0. T = zeros(n). eps = 0. Function GaussSeidel(A.Inf)<eps. repeat for i ← n do xi ← T(i. El criterio de terminacion es que norm(x−xAnt. 2007 (21 de agosto de 2007) P´gina 11 a . Obtener vector c . % Se obtienen el vector c y la matriz T c = b. end T = −T−eye(n).001. Figura 10: Implementaci´n en MATLAB del m´todo de Jacobi para resolver en forma iterativa o e sistemas de ecuaciones lineales.:) = A(i. for i=1:n T(i . la solucion del sistema Ax=b.b. x = x0.b. x = Jaco(A. xant ← x .Inf)/norm(x.Inf)<eps) break end xAnt = x. :)x + ci ./diag(A). end % 17 agosto 2007 % Manuel Valenzuela n = size(A. c M.Inf)/norm(x.x0) % % % % % % % % % Implementacion del metodo Jacobi para la solucion de sistemas de ecuaciones. i ).x0) Regresa x.x0 ) 1 2 3 4 5 6 7 8 9 Obtener matriz T . xAnt = x.1).

3333 ⎦ 0 c=⎣ 0 ⎡ Para el ejemplo del circuito el´ctrico se tiene que e ⎡ ⎤ 0 0. % la solucion de sistemas de ecuaciones. end % tomando como aproximacion inicial x0.Inf)<eps.5159 0.5309 0.5477 0.5309 0.Inf)/norm(x.Inf)<eps) n = size(A. end xAnt = x. % % x = GaussSeidel(A. % Regresa x.x0) 14.x0) x = x0. % El criterio de terminacion es que while 1 % norm(x−xAnt.5170 0.3333 0. converge en menos iteraciones a la a a soluci´n correcta.4815 0.1379 En general.1327 (53) 7 1. for i=1:n % 17 agosto 2007 x(i ) = T(i.Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e T = zeros(n).1327 6 1. % Se obtienen el vector c y la matriz T end c = b. j = j+1.5477 0.4444 0.3333 0 0 0.1111 5 1. function x = GaussS(A.5516 0.4815 0.5103 0. j = 0.5509 0.5509 0.1369 8 1.1377 Gauss-Seidel i1 i2 i3 1 1.:)/A(i.1377 5 1. Figura 12: Implementaci´n en MATLAB del m´todo de Gauss-Seidel para resolver en forma iterativa o e sistemas de ecuaciones lineales. for i=1:n % Implementacion del metodo Gauss−Seidel para T(i .4444 0. la solucion del sistema Ax=b.5170 0.1).001.5477 0.5509 0. break eps = 0.3333 0 0.3333 0 0 2 1.5509 0. Gauss-Seidel es m´s r´pido que Jacobi.:) = A(i. Ejemplo de Jacobi y Gauss-Seidel ⎤ 1.2500 0 Jacobi: i1 i2 i3 1 1. o c M.Inf)/norm(x.−eye(n).b. T = −T.3333 ⎦ T = ⎣ 0.1377 10 1. i ).1369 9 1.4815 0.5103 0.1111 2 1.4444 0 3 1.1327 3 1./diag(A). 2007 (21 de agosto de 2007) P´gina 12 a .1111 4 1.5309 0. Valenzuela. es decir. % Manuel Valenzuela end if (norm(x−xAnt.5170 0.5159 0.b.3333 0. % xAnt = x.5103 0.5159 0.1369 4 1.:)∗x + c(i ).

Sign up to vote on this title
UsefulNot useful