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)

⎤ ⎥ ⎥ ⎥ ⎦ (10) · · · ann ⎤ ⎥ ⎥ ⎥ ⎦ (11) P´gina 2 a . e a es decir. la corriente de la resistencia R es i1 − i2 . a 3. . i (8) a1n a2n . . bn c M.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. Por ejemplo. ⎣ . N´tese tambi´n que o e n 1/p es decir. . 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. 2007 (21 de agosto de 2007) − + R = 5Ω 5Ω 5Ω ||x||∞ = lim p→∞ |xi | i=1 p = max (|xi |) . = b1 b2 bn puede representarse mediante una matriz n × (n + 1). . A partir de la matriz A y el vector b ⎡ a11 a12 · · · ⎢ a21 a22 · · · ⎢ A=⎢ . el m´ximo de los valores absolutos de las componentes xi del vector. 4. 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. voltajes. la magnitud del vector. . an1 an2 ⎡ b1 ⎢ b2 ⎢ b=⎢ . y pontencial de los elementos del circuito. ⎣ . 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 = = . . . Valenzuela. . Por ejemplo. . considere el circuito el´ctrico mostrado en la figura 1. . ..

. . Ejemplo de circuitos el´ctricos e Definiendo R. o 5. . Operaciones elementales de rengl´n o ˜ Como la matriz aumentada A representa un sistema de ecuaciones simult´neas. . . En las siguientes secciones se explican los siguientes m´todos: e Eliminaci´n gaussiana (Gauss) o Gauss-Jordan Montante c M. .. 2007 (21 de agosto de 2007) P´gina 3 a . an2 ··· ··· . . . i. 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. bn ⎤ ⎥ ⎥ ⎥ ⎦ (12) · · · ann Esta matriz aumentada representa la ecuaci´n vectorial Ax = b. . an1 a12 a22 . Valenzuela.Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e se forma la matriz aumentada ⎡ ⎢ ⎢ ˜ A=⎢ ⎣ a11 a21 . 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. a1n a2n . b1 b2 .

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

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

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

donde se realiza la divisi´n entre el determinante. la matriz aumentada ser´ la matriz de original y a la matriz identidad.1379 11. :) ← . i)A(i.5517 ⎦ (27) 0 0 1 0. :) − A(j.b) 1 2 3 4 5 6 7 8 9 10 11 A ← [Ab] . :) A(i. A(i. x ← A(:. y Montante pueden ser utilizados para e o encontrar la inversa de una matriz. i)|) . 2007 (21 de agosto de 2007) P´gina 7 a . Montante El m´todo de Montante. Gauss-Jordan. ´ 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. :) . 10. k ← rengl´n de m en A . 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. for i ← 1 to n do m ← max(|A(i : n. En este caso. Matriz inversa Los m´todos de eliminaci´n gaussiana. i) for j ← 1 to n do // Hacer ceros arriba y abajo del pivote if j = i then A(j.5172 ⎣ 0 1 0 0. :) ← A(j. 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. ⎤ ⎡ ⎡ ⎤ 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. que se presenta en las figuras 7 y 8.Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e Function GaussJordan(A. Valenzuela. o Intercambiar renglones i y k de A . n + 1) . // Hacer pivote 1 A(i.

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

.0828 0. ⎢ ⎥ ⎢ . .0276 0. ⎥ . o x1 (t + 1) = x2 (t + 1) = .0276 0. .0552 (31) 12. es decir. ⎢ ⎥ ⎢ .0552 (30) La inversa son las ultimas n columnas de la matriz aumentada: ´ ⎡ ⎤ 0.0207 0. M´todos Iterativos: Jacobi e a11 x1 + a12 x2 + · · · + a1n xn a21 x1 + a22 x2 + · · · + a2n xn an1 x1 + an2 x2 + · · · + ann xn = = .n−1 − ··· − 0 − ann ann ann ann c M. ⎥ . ⎤ ⎡ ⎤ ⎡ 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 ⎥ ⎢ ⎥ ⎢ .0759 0. puede usarse como una f´rmula recursiva.0276 0.0828 0. . ..0759 0.0069 0. ⎥ ⎢ ⎥ ⎢ ⎣ an1 ⎦ ⎣ bn ⎦ an2 an.0207 ⎦ 0.0207 0. 2007 (21 de agosto de 2007) (44) P´gina 9 a . = 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 = = . xn = − an1 an2 an.0069 0. .0207 ⎦ 0. xn (t + 1) = 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.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. .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. . Si definimos la matriz T y el vector c de la siguiente manera. Valenzuela.

Soluci´n de sistemas de ecuaciones lineales o M´todos Num´ricos (SC–854) e e Function Jacobi(A. Obtener vector c . e a a o Las ecuaciones recursivas se pueden escribir en forma matricial de la siguiente manera: xi ← T(i. pero es posible tomar otra norma. En la l´ ınea 7 se ha tomado la norma infinita. :) representa la fila i de la matriz T. es decir. Valenzuela. ||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. ||x − xant ||∞ until <ε. . || · ||∞ .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. En las figuras 11 y 12 se presenta la implementaci´n del m´todo de Gauss-Seidel. n.x0 ) 1 2 3 4 5 6 7 8 Obtener matriz T . o e c M. es posible utilizar inmediatamente los valores obtenidos para calcular los siguientes valores. :)x + ci (52) donde T(i. . x ← x0 . xn (t + 1) = − an1 an2 an. . . x ← Tx + c . 2007 (21 de agosto de 2007) P´gina 10 a . 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. x1 (t + 1) = − x2 (t + 1) = − x3 (t + 1) = − . repeat xant ← x . 2. M´todos Iterativos: Gauss-Seidel e En las ecuaciones recursivas. .b. o e (46) (45) 13. para definir el criterio de terminaci´n. y la regla debe aplicarse en orden para i = 1.

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

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

Sign up to vote on this title
UsefulNot useful