P. 1
Metodos Numéricos :Solución de sistemas lineales

Metodos Numéricos :Solución de sistemas lineales

|Views: 4|Likes:
Publicado poromaroso1

More info:

Published by: omaroso1 on Oct 20, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/07/2015

pdf

text

original

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)

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

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

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

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

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

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

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

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

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

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

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

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->