SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
METODO MMMEEETTTOOODDDOOO DDDDEEEE GGGGAAAAUUUUSSSSSSSS SSSSEEEEIIIIDDDDEEEELLLL 
UUUUNNNNIIIIVVVVEEEERRRRSSSSIIIIDDDDAAAADDDD SSSSAAAANNNN MMMMAAAARRRRTTTTIIIINNNN 
IIIINNNNGGGGEEEENNNNIIIIEEEERRRRIIIIAAAA DDDDEEEE SSSSIIIISSSSTTTTEEEEMMMMAAAASSSS 
MMMMEEEETTTTOOOODDDDOOOOSSSS NNNNUUUUMMMMEEEERRRRIIIICCCCOOOOSSSS 
2222000011114444
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
METODO MMMEEETTTOOODDDOOO DDDDEEEE GGGGAAAAUUUUSSSSSSSS SSSSEEEEIIIIDDDDEEEELLLL 
En análisis numérico el método de Gauss-Seidel es un método iterativo utilizado para 
resolver sistemas de ecuaciones lineales. El método se llama así en honor a los matemáticos 
alemanes Carl Friedrich Gauss y Philipp Ludwig von Seidel y es similar al método de 
Jacobi. 
Aunque este método puede aplicarse a cualquier sistema de ecuaciones lineales que 
produzca una matriz (cuadrada, naturalmente pues para que exista solución única, el 
sistema debe tener tantas ecuaciones como incógnitas). 
Iremos realizando un ejemplo práctico para lograr su mejor comprensión: 
Ecuaciones Originales: 
a) 3x1 – 0,2x2 – 0,5x3 = 8 
b) 0,1x1 + 7x2 + 0,4x3 = -19,5 
c) 0,4x1 + 0,1x2 + 10x3 = 72,4 
El método de Gauss-Seidel nos dice que en primera instancia debemos despejar la variable 
x1 de la ecuación a, la variable x2 de la ecuación b y la variable x3 de la ecuación c, para 
hallar los valores aproximados de cada variable en las diferentes iteraciones. 
Ecuaciones Despejadas 
a) x1 = (0,2x2 + 0,5x3 + 8) / 3 
b) x2 = (-0,1x1 - 0,4x3 -19,5) / 7 
c) x3 = (-0,4x1 - 0,1x2 + 72,4) / 10
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
Iteración Principal 
Una vez contamos con las 3 ecuaciones debidamente despejadas procederemos a hallar los 
valores iniciales (Iteración No. 1) de las variables x1, x2 y x3: 
a) En la ecuación a donde tenemos despejada la variable x1, vamos a asignarle valores 
iniciales a x2=0 y x3=0, hallando de esta forma el valor de x1. 
x1 = (0,2*(0) + 0,5*(0) + 8) / 3 donde x1 =2,6667 
b) Teniendo el valor de x1, vamos a reemplazar su valor en el ecuación b donde 
tenemos despejada la variable x2 y le asignamos valor inicial a x3=0, hallando de 
esta forma el valor de x2 
x2 = (-0,1*(2,6667) - 0,4*(0) -19,5) / 7 donde x2 =-2,8238 
c) Con el valor de x1 encontrado en el literal a y el valor de x2 encontrado en el literal 
b, reemplazamos en la ecuación c donde tenemos despejada la variable x3 y 
hallamos su valor 
x3 = (-0,4*(2,6667) - 0,1*(-2,8238) + 72,4) / 10 donde x3 = 7,1615 
Iteraciones Subsiguientes 
Una vez contamos con los resultados iniciales para x1 (2,6667), x2 (-2,8238) y x3 (7,1615) 
procederemos a hallar los valores para las iteraciones subsiguientes (Iteración No. 2) de las 
variables x1, x2 y x3: 
a) En la ecuación a donde tenemos despejada la variable x1, vamos a asignarle a x2 y x3 
los valores encontrados en la Iteración 1, hallando de esta forma el valor de x1. 
x1 = (0,2*(-2,8238) + 0,5*(7,1615) + 8) / 3 donde x1 =3,672 
b) Teniendo el valor de x1 de la segunda iteración, vamos a reemplazar su valor en el 
ecuación b donde tenemos despejada la variable x2 y le asignamos a x3 el valor 
encontrado en la Iteración 1, hallando de esta forma el valor de x2 
x2 = (-0,1*(3,672) - 0,4*(7,1615) -19,5) / 7 donde x2 =-3,2474
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
c) Con el valor de x1 y x2 encontrado en el literal a y b de la Iteración No. 2, 
reemplazamos en la ecuación c donde tenemos despejada la variable x3 y hallamos 
su valor 
x3 = (-0,4*(3,672) - 0,1*(-3,2474) + 72,4) / 10 donde x3 = 7,1256 
De esta forma tenemos los siguientes resultados para las primeras dos iteraciones: 
x1 x2 x3 
Iteración No 1 2,6667 -2,8238 7,1615 
Iteración No 2 3,672 -3,2474 7,1256 
Y con los cuales calcularemos el porcentaje de error para cada una de las variables, usando 
la siguiente fórmula: 
Ea = | [(Vf - Vi) / Vf ] * 100 | 
Donde Vf hace referencia al valor de x1, x2 ó x3 de la Iteración No 2 respectivamente y Vi al 
valor de x1, x2 ó x3 de la Iteración No 1: 
Ea1 = | [(3,672 – 2,6667) / 3,672] * 100 | => Ea1 = 27,38% 
Ea2 = | [(-3,2474 – (-2,8238)) / -3,2474] * 100 | => Ea2 = 13,04% 
Ea3 = | [(7,1256 – 7,1615) / 7,1256] * 100 | => Ea3 = -0,50% 
Si el porcentaje de error de cualquiera de las 3 variables es superior a 1% se debe calcular 
una 3ra Iteración, tomando como referencia los valores de x1, x2 y x3 de la Iteración 2; que 
en el caso práctico de este ejercicio sería: 
a) En la ecuación a donde tenemos despejada la variable x1, vamos a asignarle a x2 y x3 
los valores encontrados en la Iteración 2, hallando de esta forma el valor de x1. 
x1 = (0,2*(-3,2474) + 0,5*(7,1256) + 8) / 3 donde x1 =3,6377
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
b) Teniendo el valor de x1 de la tercera iteración, vamos a reemplazar su valor en el 
ecuación b donde tenemos despejada la variable x2 y le asignamos a x3 el valor 
encontrado en la Iteración 2, hallando de esta forma el valor de x2 
x2 = (-0,1*(3,6377) - 0,4*(7,1256) -19,5) / 7 donde x2 =-3,2448 
c) Con el valor de x1 y x2 encontrado en el literal a y b de la Iteración No. 3, 
reemplazamos en la ecuación c donde tenemos despejada la variable x3 y hallamos 
su valor 
x3 = (-0,4*(3,6377) - 0,1*(-3,2448) + 72,4) / 10 donde x3 = 7,1269 
De esta forma tenemos los siguientes resultados para las primeras tres iteraciones: 
x1 x2 x3 
Iteración No 1 2,6667 -2,8238 7,1615 
Iteración No 2 3,672 -3,2474 7,1256 
Iteración No 3 3,6377 -3,2448 7,1269 
Y con los cuales calcularemos el porcentaje de error para cada una de las variables, pero 
esta vez con los resultados de las Iteraciones No. 2 y 3: 
Ea = | [(Vf - Vi) / Vf ] * 100 |, 
Donde Vf hace referencia al valor de x1, x2 ó x3 de la Iteración No 3 respectivamente y Vi al 
valor de x1, x2 ó x3 de la Iteración No 2: 
Ea1 = | [(3,6377 – 3,672) / 3,6377] * 100 | => Ea1 = -0,94% 
Ea2 = | [(-3,2448 – (-3,2474)) / -3,2448] * 100 | => Ea2 = -0,07% 
Ea3 = | [(7,1269 – 7,1256) / 7,1269] * 100 | => Ea3 = 0,01% 
Como podemos observar los porcentajes de error en este punto son menores a 1% por lo 
que podemos deducir que los valores más óptimos de las variables x1, x2 y x3 son los de la
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
Iteración No 3. Si alguno de los 3 porcentajes de error hubiese sido mayor a 1% deberíamos 
calcular una nueva iteración y hacer el mismo proceso iterativo. 
Con el objetivo de sistematizar este procedimiento para ecuaciones lineales de 3x3 hemos 
diseñado un sistema desarrollado en Visual Basic que implementa este método y el cuál 
explicaremos con el mismo ejemplo literal planteado durante este documento. 
Interfaz inicial del sistema: 
Al costado izquierdo de la ventana, en la sección de “Ecuaciones Originales” introducimos 
las constantes de las variables para cada una de las ecuaciones. Inicialmente el sistema 
validará que ninguno de los valores sea 0, en caso de encontrar alguno y dar clic en el botón 
Despejar, generará un mensaje de alerta como el siguiente:
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
De lo contrario el sistema automáticamente despejara las variables x1, x2 y x3 para cada una 
de las ecuaciones y nos las mostrará al costado derecho en la sección “Ecuaciones 
Despejadas”, como se ve muestra a continuación, activando a su vez el botón calcular para 
iniciar el proceso iterativo: 
Al dar clic en el Botón Calcular se inicia el proceso iterativo y cálculo de los valores para 
x1, x2 y x3 en las diferentes iteraciones con su respectivo porcentaje de error, así como se 
muestra en las siguientes imágenes:
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
Iteración 1 y 2 
Iteración 2 y 3
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
Como el sistema detecta que el porcentaje de error para las 3 variables es menor a 1% 
muestra el mensaje con los valores óptimos. 
CÓDIGO FUENTE DEL PROGRAMA: 
-------------------------------------------------------------------------------------------------------------- 
Dim X1I1 As Single, X2I1 As Single, X3I1 As Single, X1I2 As Single, X2I2 As Single 
Dim X3I2 As Single, Ea1 As Single, Ea2 As Single, Ea3 As Single 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Calcular_Click() 
cont = 1 
X2 = 0 
X3 = 0 
X1I1 = (X2 + X3 + Const1.Text) / ValEc1X1.Text 
X2I1 = ((ValEc2X1.Text * X1I1) + 0 + Const2.Text) / ValEc2X2.Text 
X3I1 = ((ValEc3X1.Text * X1I1) + (ValEc3X2.Text * X2I1) + Const3.Text) / 
ValEc3X3.Text 
X1I2 = ((ValEc1X2.Text * X2I1) + (ValEc1X3.Text * X3I1) + Const1.Text) / 
ValEc1X1.Text 
X2I2 = ((ValEc2X1.Text * X1I2) + (ValEc2X3.Text * X3I1) + Const2.Text) / 
ValEc2X2.Text 
X3I2 = ((ValEc3X1.Text * X1I2) + (ValEc3X2.Text * X2I2) + Const3.Text) / 
ValEc3X3.Text 
If (X1I1 < 0) Then 
VAbX1I1 = X1I1 * -1
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
Else: VAbX1I1 = X1I1 
End If 
If (X2I1 < 0) Then 
VAbX2I1 = X2I1 * -1 
Else: VAbX2I1 = X2I1 
End If 
If (X3I1 < 0) Then 
VAbX3I1 = X3I1 * -1 
Else: VAbX3I1 = X3I1 
End If 
If (X1I2 < 0) Then 
VAbX1I2 = X1I2 * -1 
Else: VAbX1I2 = X1I2 
End If 
If (X2I2 < 0) Then 
VAbX2I2 = X2I2 * -1 
Else: VAbX2I2 = X2I2 
End If 
If (X3I2 < 0) Then 
VAbX3I2 = X3I2 * -1 
Else: VAbX3I2 = X3I2 
End If 
Ea1 = ((VAbX1I2 - VAbX1I1) / VAbX1I2) * 100 
Ea2 = ((VAbX2I2 - VAbX2I1) / VAbX2I2) * 100 
Ea3 = ((VAbX3I2 - VAbX3I1) / VAbX3I2) * 100 
MsgBox "Iteracion No. " & cont & vbNewLine & "X1 =" & X1I1 & vbNewLine & "X2 =" 
& X2I1 & vbNewLine & "X3 =" & X3I1 & vbNewLine & vbNewLine & "Iteracion No. " 
& cont + 1 & vbNewLine & "X1 =" & X1I2 & vbNewLine & "X2 =" & X2I2 & 
vbNewLine & "X3 =" & X3I2 & vbNewLine & vbNewLine & "Porcentajes de error:" & 
vbNewLine & vbNewLine & "Ea1 =" & Ea1 & "%" & vbNewLine & "Ea2 =" & Ea2 & 
"%" & vbNewLine & "Ea3 =" & Ea3 & "%", , "Resultados Iteracion" 
Do While Ea1 > 1 Or Ea2 > 1 Or Ea3 > 1 
Ea1 = 0 
Ea2 = 0 
Ea3 = 0 
cont = cont + 1 
X1I1 = X1I2 
X2I1 = X2I2 
X3I1 = X3I2
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
X1I2 = ((ValEc1X2.Text * X2I1) + (ValEc1X3.Text * X3I1) + Const1.Text) / 
ValEc1X1.Text 
X2I2 = ((ValEc2X1.Text * X1I2) + (ValEc2X3.Text * X3I1) + Const2.Text) / 
ValEc2X2.Text 
X3I2 = ((ValEc3X1.Text * X1I2) + (ValEc3X2.Text * X2I2) + Const3.Text) / 
ValEc3X3.Text 
If (X1I1 < 0) Then 
VAbX1I1 = X1I1 * -1 
Else: VAbX1I1 = X1I1 
End If 
If (X2I1 < 0) Then 
VAbX2I1 = X2I1 * -1 
Else: VAbX2I1 = X2I1 
End If 
If (X3I1 < 0) Then 
VAbX3I1 = X3I1 * -1 
Else: VAbX3I1 = X3I1 
End If 
If (X1I2 < 0) Then 
VAbX1I2 = X1I2 * -1 
Else: VAbX1I2 = X1I2 
End If 
If (X2I2 < 0) Then 
VAbX2I2 = X2I2 * -1 
Else: VAbX2I2 = X2I2 
End If 
If (X3I2 < 0) Then 
VAbX3I2 = X3I2 * -1 
Else: VAbX3I2 = X3I2 
End If 
Ea1 = ((VAbX1I2 - VAbX1I1) / VAbX1I2) * 100 
Ea2 = ((VAbX2I2 - VAbX2I1) / VAbX2I2) * 100 
Ea3 = ((VAbX3I2 - VAbX3I1) / VAbX3I2) * 100 
MsgBox "Iteracion No. " & cont & vbNewLine & "X1 =" & X1I1 & vbNewLine & "X2 =" 
& X2I1 & vbNewLine & "X3 =" & X3I1 & vbNewLine & vbNewLine & "Iteracion No. " 
& cont + 1 & vbNewLine & "X1 =" & X1I2 & vbNewLine & "X2 =" & X2I2 & 
vbNewLine & "X3 =" & X3I2 & vbNewLine & vbNewLine & "Porcentajes de error:" & 
vbNewLine & vbNewLine & "Ea1 =" & Ea1 & "%" & vbNewLine & "Ea2 =" & Ea2 & 
"%" & vbNewLine & "Ea3 =" & Ea3 & "%", , "Resultados Iteracion" 
Loop
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
MsgBox "Los valores más óptimos con un porcentaje de error menor a 1% son:" & 
vbNewLine & vbNewLine & "X1 =" & X1I2 & vbNewLine & "X2 =" & X2I2 & 
vbNewLine & "X3 =" & X3I2, , "Valores Optimos" 
Calcular.Enabled = False 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub C1_GotFocus() 
C1 = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub C1_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub C2_GotFocus() 
C2 = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub C2_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub C3_GotFocus() 
C3 = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub C3_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Despejar_Click() 
If (Ec1X1.Text = "") Then Ec1X1.Text = 0 
If (Ec1X2.Text = "") Then Ec1X2.Text = 0 
If (Ec1X3.Text = "") Then Ec1X3.Text = 0 
If (Ec2X1.Text = "") Then Ec2X1.Text = 0 
If (Ec2X2.Text = "") Then Ec2X2.Text = 0 
If (Ec2X3.Text = "") Then Ec2X3.Text = 0 
If (Ec3X1.Text = "") Then Ec3X1.Text = 0 
If (Ec3X2.Text = "") Then Ec3X2.Text = 0
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
If (Ec3X3.Text = "") Then Ec3X3.Text = 0 
If (C1.Text = "") Then C1.Text = 0 
If (C2.Text = "") Then C2.Text = 0 
If (C3.Text = "") Then C3.Text = 0 
ValEc1X1 = Ec1X1 
ValEc1X2 = Ec1X2 * -1 
ValEc1X3 = Ec1X3 * -1 
Const1 = C1 
ValEc2X1 = Ec2X1 * -1 
ValEc2X2 = Ec2X2 
ValEc2X3 = Ec2X3 * -1 
Const2 = C2 
ValEc3X1 = Ec3X1 * -1 
ValEc3X2 = Ec3X2 * -1 
ValEc3X3 = Ec3X3 
Const3 = C3 
If (Ec1X1.Text = 0 Or Ec1X2.Text = 0 Or Ec1X3.Text = 0 Or Ec2X1.Text = 0 Or 
Ec2X2.Text = 0 Or Ec2X3.Text = 0 Or Ec3X1.Text = 0 Or Ec3X2.Text = 0 Or Ec3X3.Text 
= 0 Or C1.Text = 0 Or C2.Text = 0 Or C3.Text = 0) Then 
MsgBox "Verifique los valores introducidos:" & vbNewLine & "No se puede operar con 
valores en 0", , "Alerta" 
Else 
Calcular.Enabled = True 
End If 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Limpiar_Click() 
Ec1X1.Text = 0 
Ec1X2.Text = 0 
Ec1X3.Text = 0 
Ec2X1.Text = 0 
Ec2X2.Text = 0 
Ec2X3.Text = 0 
Ec3X1.Text = 0 
Ec3X2.Text = 0 
Ec3X3.Text = 0 
C1.Text = 0 
C2.Text = 0
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
C3.Text = 0 
ValEc1X1.Text = 0 
ValEc1X2.Text = 0 
ValEc1X3.Text = 0 
ValEc2X1.Text = 0 
ValEc2X2.Text = 0 
ValEc2X3.Text = 0 
ValEc3X1.Text = 0 
ValEc3X2.Text = 0 
ValEc3X3.Text = 0 
Const1.Text = 0 
Const2.Text = 0 
Const3.Text = 0 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec1X1_GotFocus() 
Ec1X1.Text = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec1X1_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec1X2_GotFocus() 
Ec1X2.Text = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec1X2_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Public Function Numeros(Tecla As Integer) As Integer 
Dim strValido As String 
strValido = "0123456789,-" 
If Tecla > 26 Then 
If InStr(strValido, Chr(Tecla)) = 0 Then 
Tecla = 0 
End If 
End If 
Numeros = Tecla 
End Function 
--------------------------------------------------------------------------------------------------------------
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
Private Sub Ec1X3_GotFocus() 
Ec1X3.Text = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec1X3_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec2X1_GotFocus() 
Ec2X1.Text = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec2X1_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec2X2_GotFocus() 
Ec2X2.Text = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec2X2_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec2X3_GotFocus() 
Ec2X3.Text = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec2X3_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec3X1_GotFocus() 
Ec3X1.Text = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec3X1_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec3X2_GotFocus() 
Ec3X2.Text = "" 
End Sub 
--------------------------------------------------------------------------------------------------------------
UNIVERSIDAD SAN MARTÍN 
Ingeniería de Sistemas - Distancia 
METODOS NUMERICOS 
Private Sub Ec3X2_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec3X3_GotFocus() 
Ec3X3.Text = "" 
End Sub 
-------------------------------------------------------------------------------------------------------------- 
Private Sub Ec3X3_KeyPress(KeyAscii As Integer) 
KeyAscii = Numeros(KeyAscii) 
End Sub

Más contenido relacionado

La actualidad más candente

Método de jacobi
Método de jacobiMétodo de jacobi
Método de jacobiTensor
 
Resumen de la unidad iii (analisis numerico) Mirian Rodriguez
Resumen de la unidad iii (analisis numerico) Mirian RodriguezResumen de la unidad iii (analisis numerico) Mirian Rodriguez
Resumen de la unidad iii (analisis numerico) Mirian Rodriguezthaiz050681
 
Metodos iterativos para solucion de sistemas de ecuaciones lineales lina
Metodos iterativos para solucion de sistemas de ecuaciones lineales linaMetodos iterativos para solucion de sistemas de ecuaciones lineales lina
Metodos iterativos para solucion de sistemas de ecuaciones lineales linalinagora1288
 
Método de gauss y gauss seidel
Método de gauss y gauss seidelMétodo de gauss y gauss seidel
Método de gauss y gauss seidelLilly Kwang
 
3.2.5.1 metodo de jacobi
3.2.5.1 metodo de jacobi3.2.5.1 metodo de jacobi
3.2.5.1 metodo de jacobiRoger Burgos
 
Teoría de un método Iterativo
Teoría de un método IterativoTeoría de un método Iterativo
Teoría de un método IterativoErik Orozco Valles
 
Método de jacobi Métodos Númericos
Método de jacobi Métodos NúmericosMétodo de jacobi Métodos Númericos
Método de jacobi Métodos NúmericosTensor
 
2.metodo iterativo
2.metodo iterativo2.metodo iterativo
2.metodo iterativorjvillon
 
Jacobi
JacobiJacobi
JacobiFredy
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativoscyndy
 
Sistemas de Ecuaciones Lineales y Matriz Inversa por Método de Gauss-Jordan. ...
Sistemas de Ecuaciones Lineales y Matriz Inversa por Método de Gauss-Jordan. ...Sistemas de Ecuaciones Lineales y Matriz Inversa por Método de Gauss-Jordan. ...
Sistemas de Ecuaciones Lineales y Matriz Inversa por Método de Gauss-Jordan. ...JAVIER SOLIS NOYOLA
 
Ecuaciones lineales
Ecuaciones linealesEcuaciones lineales
Ecuaciones linealesJesusS14
 
Método de Gauss Jordan
Método de Gauss JordanMétodo de Gauss Jordan
Método de Gauss JordanKike Prieto
 

La actualidad más candente (18)

Método de jacobi
Método de jacobiMétodo de jacobi
Método de jacobi
 
Resumen de la unidad iii (analisis numerico) Mirian Rodriguez
Resumen de la unidad iii (analisis numerico) Mirian RodriguezResumen de la unidad iii (analisis numerico) Mirian Rodriguez
Resumen de la unidad iii (analisis numerico) Mirian Rodriguez
 
Metodos iterativos para solucion de sistemas de ecuaciones lineales lina
Metodos iterativos para solucion de sistemas de ecuaciones lineales linaMetodos iterativos para solucion de sistemas de ecuaciones lineales lina
Metodos iterativos para solucion de sistemas de ecuaciones lineales lina
 
Método de gauss y gauss seidel
Método de gauss y gauss seidelMétodo de gauss y gauss seidel
Método de gauss y gauss seidel
 
El metodo doolittle
El metodo doolittleEl metodo doolittle
El metodo doolittle
 
Metodo Jacobiano
Metodo JacobianoMetodo Jacobiano
Metodo Jacobiano
 
3.2.5.1 metodo de jacobi
3.2.5.1 metodo de jacobi3.2.5.1 metodo de jacobi
3.2.5.1 metodo de jacobi
 
Teoría de un método Iterativo
Teoría de un método IterativoTeoría de un método Iterativo
Teoría de un método Iterativo
 
Método de jacobi Métodos Númericos
Método de jacobi Métodos NúmericosMétodo de jacobi Métodos Númericos
Método de jacobi Métodos Númericos
 
Método gauss seidel
Método gauss seidelMétodo gauss seidel
Método gauss seidel
 
2.metodo iterativo
2.metodo iterativo2.metodo iterativo
2.metodo iterativo
 
Gauss con pivoteo
Gauss con pivoteoGauss con pivoteo
Gauss con pivoteo
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Jacobi
JacobiJacobi
Jacobi
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Sistemas de Ecuaciones Lineales y Matriz Inversa por Método de Gauss-Jordan. ...
Sistemas de Ecuaciones Lineales y Matriz Inversa por Método de Gauss-Jordan. ...Sistemas de Ecuaciones Lineales y Matriz Inversa por Método de Gauss-Jordan. ...
Sistemas de Ecuaciones Lineales y Matriz Inversa por Método de Gauss-Jordan. ...
 
Ecuaciones lineales
Ecuaciones linealesEcuaciones lineales
Ecuaciones lineales
 
Método de Gauss Jordan
Método de Gauss JordanMétodo de Gauss Jordan
Método de Gauss Jordan
 

Similar a Metodo Gauss Seidel

SISTEMA DE ECUACIONES.
SISTEMA DE ECUACIONES.SISTEMA DE ECUACIONES.
SISTEMA DE ECUACIONES.lmvn11
 
Algebra lineal Alejandro Maciel Dominguez
Algebra lineal Alejandro Maciel DominguezAlgebra lineal Alejandro Maciel Dominguez
Algebra lineal Alejandro Maciel DominguezKeily Solano
 
Metodos numericos 4
Metodos numericos 4Metodos numericos 4
Metodos numericos 4monica
 
NÚMEROS REALES II
NÚMEROS REALES IINÚMEROS REALES II
NÚMEROS REALES IICESAR V
 
Solucione s d einecuaciones
Solucione s d einecuacionesSolucione s d einecuaciones
Solucione s d einecuacionesharal1
 
Actividad competencias básicas
Actividad competencias básicasActividad competencias básicas
Actividad competencias básicasfer060863
 
Metodos de eliminacion
Metodos de eliminacionMetodos de eliminacion
Metodos de eliminacionk4ndo
 
Inecuaciones grado2 blog
Inecuaciones grado2 blogInecuaciones grado2 blog
Inecuaciones grado2 blogMarta Martín
 
FICHA 02 - Sistema de Ecuaciones.doc
FICHA 02 - Sistema de Ecuaciones.docFICHA 02 - Sistema de Ecuaciones.doc
FICHA 02 - Sistema de Ecuaciones.docjhonnyagreda1
 
N cap 7 desigualdades
N cap 7 desigualdadesN cap 7 desigualdades
N cap 7 desigualdadesStudent
 

Similar a Metodo Gauss Seidel (20)

SISTEMA DE ECUACIONES.
SISTEMA DE ECUACIONES.SISTEMA DE ECUACIONES.
SISTEMA DE ECUACIONES.
 
Algebra lineal Alejandro Maciel Dominguez
Algebra lineal Alejandro Maciel DominguezAlgebra lineal Alejandro Maciel Dominguez
Algebra lineal Alejandro Maciel Dominguez
 
Metodos numericos 4
Metodos numericos 4Metodos numericos 4
Metodos numericos 4
 
59563233 algoritmo-bresenham
59563233 algoritmo-bresenham59563233 algoritmo-bresenham
59563233 algoritmo-bresenham
 
NÚMEROS REALES II
NÚMEROS REALES IINÚMEROS REALES II
NÚMEROS REALES II
 
Sistema de ecuaciones de primer grado con dos varialbes
Sistema de ecuaciones de primer grado con dos varialbesSistema de ecuaciones de primer grado con dos varialbes
Sistema de ecuaciones de primer grado con dos varialbes
 
Solucione s d einecuaciones
Solucione s d einecuacionesSolucione s d einecuaciones
Solucione s d einecuaciones
 
Actividad competencias básicas
Actividad competencias básicasActividad competencias básicas
Actividad competencias básicas
 
Metodos de eliminacion
Metodos de eliminacionMetodos de eliminacion
Metodos de eliminacion
 
Inecuaciones grado2 blog
Inecuaciones grado2 blogInecuaciones grado2 blog
Inecuaciones grado2 blog
 
FICHA 02 - Sistema de Ecuaciones.doc
FICHA 02 - Sistema de Ecuaciones.docFICHA 02 - Sistema de Ecuaciones.doc
FICHA 02 - Sistema de Ecuaciones.doc
 
Funciones cuadráticas
Funciones cuadráticasFunciones cuadráticas
Funciones cuadráticas
 
Nm1 algebra + valoriación
Nm1 algebra + valoriaciónNm1 algebra + valoriación
Nm1 algebra + valoriación
 
Nm1 algebra
Nm1 algebra Nm1 algebra
Nm1 algebra
 
Termino algebraico
Termino algebraicoTermino algebraico
Termino algebraico
 
N cap 7 desigualdades
N cap 7 desigualdadesN cap 7 desigualdades
N cap 7 desigualdades
 
Cap 7 desigualdades
Cap 7 desigualdadesCap 7 desigualdades
Cap 7 desigualdades
 
Ecuaciones 001
Ecuaciones 001Ecuaciones 001
Ecuaciones 001
 
Matematica
Matematica Matematica
Matematica
 
MATEMÁTICA SEMANA 1
MATEMÁTICA SEMANA 1MATEMÁTICA SEMANA 1
MATEMÁTICA SEMANA 1
 

Último

plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 

Último (20)

plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 

Metodo Gauss Seidel

  • 1. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS METODO MMMEEETTTOOODDDOOO DDDDEEEE GGGGAAAAUUUUSSSSSSSS SSSSEEEEIIIIDDDDEEEELLLL UUUUNNNNIIIIVVVVEEEERRRRSSSSIIIIDDDDAAAADDDD SSSSAAAANNNN MMMMAAAARRRRTTTTIIIINNNN IIIINNNNGGGGEEEENNNNIIIIEEEERRRRIIIIAAAA DDDDEEEE SSSSIIIISSSSTTTTEEEEMMMMAAAASSSS MMMMEEEETTTTOOOODDDDOOOOSSSS NNNNUUUUMMMMEEEERRRRIIIICCCCOOOOSSSS 2222000011114444
  • 2. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS METODO MMMEEETTTOOODDDOOO DDDDEEEE GGGGAAAAUUUUSSSSSSSS SSSSEEEEIIIIDDDDEEEELLLL En análisis numérico el método de Gauss-Seidel es un método iterativo utilizado para resolver sistemas de ecuaciones lineales. El método se llama así en honor a los matemáticos alemanes Carl Friedrich Gauss y Philipp Ludwig von Seidel y es similar al método de Jacobi. Aunque este método puede aplicarse a cualquier sistema de ecuaciones lineales que produzca una matriz (cuadrada, naturalmente pues para que exista solución única, el sistema debe tener tantas ecuaciones como incógnitas). Iremos realizando un ejemplo práctico para lograr su mejor comprensión: Ecuaciones Originales: a) 3x1 – 0,2x2 – 0,5x3 = 8 b) 0,1x1 + 7x2 + 0,4x3 = -19,5 c) 0,4x1 + 0,1x2 + 10x3 = 72,4 El método de Gauss-Seidel nos dice que en primera instancia debemos despejar la variable x1 de la ecuación a, la variable x2 de la ecuación b y la variable x3 de la ecuación c, para hallar los valores aproximados de cada variable en las diferentes iteraciones. Ecuaciones Despejadas a) x1 = (0,2x2 + 0,5x3 + 8) / 3 b) x2 = (-0,1x1 - 0,4x3 -19,5) / 7 c) x3 = (-0,4x1 - 0,1x2 + 72,4) / 10
  • 3. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS Iteración Principal Una vez contamos con las 3 ecuaciones debidamente despejadas procederemos a hallar los valores iniciales (Iteración No. 1) de las variables x1, x2 y x3: a) En la ecuación a donde tenemos despejada la variable x1, vamos a asignarle valores iniciales a x2=0 y x3=0, hallando de esta forma el valor de x1. x1 = (0,2*(0) + 0,5*(0) + 8) / 3 donde x1 =2,6667 b) Teniendo el valor de x1, vamos a reemplazar su valor en el ecuación b donde tenemos despejada la variable x2 y le asignamos valor inicial a x3=0, hallando de esta forma el valor de x2 x2 = (-0,1*(2,6667) - 0,4*(0) -19,5) / 7 donde x2 =-2,8238 c) Con el valor de x1 encontrado en el literal a y el valor de x2 encontrado en el literal b, reemplazamos en la ecuación c donde tenemos despejada la variable x3 y hallamos su valor x3 = (-0,4*(2,6667) - 0,1*(-2,8238) + 72,4) / 10 donde x3 = 7,1615 Iteraciones Subsiguientes Una vez contamos con los resultados iniciales para x1 (2,6667), x2 (-2,8238) y x3 (7,1615) procederemos a hallar los valores para las iteraciones subsiguientes (Iteración No. 2) de las variables x1, x2 y x3: a) En la ecuación a donde tenemos despejada la variable x1, vamos a asignarle a x2 y x3 los valores encontrados en la Iteración 1, hallando de esta forma el valor de x1. x1 = (0,2*(-2,8238) + 0,5*(7,1615) + 8) / 3 donde x1 =3,672 b) Teniendo el valor de x1 de la segunda iteración, vamos a reemplazar su valor en el ecuación b donde tenemos despejada la variable x2 y le asignamos a x3 el valor encontrado en la Iteración 1, hallando de esta forma el valor de x2 x2 = (-0,1*(3,672) - 0,4*(7,1615) -19,5) / 7 donde x2 =-3,2474
  • 4. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS c) Con el valor de x1 y x2 encontrado en el literal a y b de la Iteración No. 2, reemplazamos en la ecuación c donde tenemos despejada la variable x3 y hallamos su valor x3 = (-0,4*(3,672) - 0,1*(-3,2474) + 72,4) / 10 donde x3 = 7,1256 De esta forma tenemos los siguientes resultados para las primeras dos iteraciones: x1 x2 x3 Iteración No 1 2,6667 -2,8238 7,1615 Iteración No 2 3,672 -3,2474 7,1256 Y con los cuales calcularemos el porcentaje de error para cada una de las variables, usando la siguiente fórmula: Ea = | [(Vf - Vi) / Vf ] * 100 | Donde Vf hace referencia al valor de x1, x2 ó x3 de la Iteración No 2 respectivamente y Vi al valor de x1, x2 ó x3 de la Iteración No 1: Ea1 = | [(3,672 – 2,6667) / 3,672] * 100 | => Ea1 = 27,38% Ea2 = | [(-3,2474 – (-2,8238)) / -3,2474] * 100 | => Ea2 = 13,04% Ea3 = | [(7,1256 – 7,1615) / 7,1256] * 100 | => Ea3 = -0,50% Si el porcentaje de error de cualquiera de las 3 variables es superior a 1% se debe calcular una 3ra Iteración, tomando como referencia los valores de x1, x2 y x3 de la Iteración 2; que en el caso práctico de este ejercicio sería: a) En la ecuación a donde tenemos despejada la variable x1, vamos a asignarle a x2 y x3 los valores encontrados en la Iteración 2, hallando de esta forma el valor de x1. x1 = (0,2*(-3,2474) + 0,5*(7,1256) + 8) / 3 donde x1 =3,6377
  • 5. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS b) Teniendo el valor de x1 de la tercera iteración, vamos a reemplazar su valor en el ecuación b donde tenemos despejada la variable x2 y le asignamos a x3 el valor encontrado en la Iteración 2, hallando de esta forma el valor de x2 x2 = (-0,1*(3,6377) - 0,4*(7,1256) -19,5) / 7 donde x2 =-3,2448 c) Con el valor de x1 y x2 encontrado en el literal a y b de la Iteración No. 3, reemplazamos en la ecuación c donde tenemos despejada la variable x3 y hallamos su valor x3 = (-0,4*(3,6377) - 0,1*(-3,2448) + 72,4) / 10 donde x3 = 7,1269 De esta forma tenemos los siguientes resultados para las primeras tres iteraciones: x1 x2 x3 Iteración No 1 2,6667 -2,8238 7,1615 Iteración No 2 3,672 -3,2474 7,1256 Iteración No 3 3,6377 -3,2448 7,1269 Y con los cuales calcularemos el porcentaje de error para cada una de las variables, pero esta vez con los resultados de las Iteraciones No. 2 y 3: Ea = | [(Vf - Vi) / Vf ] * 100 |, Donde Vf hace referencia al valor de x1, x2 ó x3 de la Iteración No 3 respectivamente y Vi al valor de x1, x2 ó x3 de la Iteración No 2: Ea1 = | [(3,6377 – 3,672) / 3,6377] * 100 | => Ea1 = -0,94% Ea2 = | [(-3,2448 – (-3,2474)) / -3,2448] * 100 | => Ea2 = -0,07% Ea3 = | [(7,1269 – 7,1256) / 7,1269] * 100 | => Ea3 = 0,01% Como podemos observar los porcentajes de error en este punto son menores a 1% por lo que podemos deducir que los valores más óptimos de las variables x1, x2 y x3 son los de la
  • 6. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS Iteración No 3. Si alguno de los 3 porcentajes de error hubiese sido mayor a 1% deberíamos calcular una nueva iteración y hacer el mismo proceso iterativo. Con el objetivo de sistematizar este procedimiento para ecuaciones lineales de 3x3 hemos diseñado un sistema desarrollado en Visual Basic que implementa este método y el cuál explicaremos con el mismo ejemplo literal planteado durante este documento. Interfaz inicial del sistema: Al costado izquierdo de la ventana, en la sección de “Ecuaciones Originales” introducimos las constantes de las variables para cada una de las ecuaciones. Inicialmente el sistema validará que ninguno de los valores sea 0, en caso de encontrar alguno y dar clic en el botón Despejar, generará un mensaje de alerta como el siguiente:
  • 7. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS De lo contrario el sistema automáticamente despejara las variables x1, x2 y x3 para cada una de las ecuaciones y nos las mostrará al costado derecho en la sección “Ecuaciones Despejadas”, como se ve muestra a continuación, activando a su vez el botón calcular para iniciar el proceso iterativo: Al dar clic en el Botón Calcular se inicia el proceso iterativo y cálculo de los valores para x1, x2 y x3 en las diferentes iteraciones con su respectivo porcentaje de error, así como se muestra en las siguientes imágenes:
  • 8. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS Iteración 1 y 2 Iteración 2 y 3
  • 9. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS Como el sistema detecta que el porcentaje de error para las 3 variables es menor a 1% muestra el mensaje con los valores óptimos. CÓDIGO FUENTE DEL PROGRAMA: -------------------------------------------------------------------------------------------------------------- Dim X1I1 As Single, X2I1 As Single, X3I1 As Single, X1I2 As Single, X2I2 As Single Dim X3I2 As Single, Ea1 As Single, Ea2 As Single, Ea3 As Single -------------------------------------------------------------------------------------------------------------- Private Sub Calcular_Click() cont = 1 X2 = 0 X3 = 0 X1I1 = (X2 + X3 + Const1.Text) / ValEc1X1.Text X2I1 = ((ValEc2X1.Text * X1I1) + 0 + Const2.Text) / ValEc2X2.Text X3I1 = ((ValEc3X1.Text * X1I1) + (ValEc3X2.Text * X2I1) + Const3.Text) / ValEc3X3.Text X1I2 = ((ValEc1X2.Text * X2I1) + (ValEc1X3.Text * X3I1) + Const1.Text) / ValEc1X1.Text X2I2 = ((ValEc2X1.Text * X1I2) + (ValEc2X3.Text * X3I1) + Const2.Text) / ValEc2X2.Text X3I2 = ((ValEc3X1.Text * X1I2) + (ValEc3X2.Text * X2I2) + Const3.Text) / ValEc3X3.Text If (X1I1 < 0) Then VAbX1I1 = X1I1 * -1
  • 10. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS Else: VAbX1I1 = X1I1 End If If (X2I1 < 0) Then VAbX2I1 = X2I1 * -1 Else: VAbX2I1 = X2I1 End If If (X3I1 < 0) Then VAbX3I1 = X3I1 * -1 Else: VAbX3I1 = X3I1 End If If (X1I2 < 0) Then VAbX1I2 = X1I2 * -1 Else: VAbX1I2 = X1I2 End If If (X2I2 < 0) Then VAbX2I2 = X2I2 * -1 Else: VAbX2I2 = X2I2 End If If (X3I2 < 0) Then VAbX3I2 = X3I2 * -1 Else: VAbX3I2 = X3I2 End If Ea1 = ((VAbX1I2 - VAbX1I1) / VAbX1I2) * 100 Ea2 = ((VAbX2I2 - VAbX2I1) / VAbX2I2) * 100 Ea3 = ((VAbX3I2 - VAbX3I1) / VAbX3I2) * 100 MsgBox "Iteracion No. " & cont & vbNewLine & "X1 =" & X1I1 & vbNewLine & "X2 =" & X2I1 & vbNewLine & "X3 =" & X3I1 & vbNewLine & vbNewLine & "Iteracion No. " & cont + 1 & vbNewLine & "X1 =" & X1I2 & vbNewLine & "X2 =" & X2I2 & vbNewLine & "X3 =" & X3I2 & vbNewLine & vbNewLine & "Porcentajes de error:" & vbNewLine & vbNewLine & "Ea1 =" & Ea1 & "%" & vbNewLine & "Ea2 =" & Ea2 & "%" & vbNewLine & "Ea3 =" & Ea3 & "%", , "Resultados Iteracion" Do While Ea1 > 1 Or Ea2 > 1 Or Ea3 > 1 Ea1 = 0 Ea2 = 0 Ea3 = 0 cont = cont + 1 X1I1 = X1I2 X2I1 = X2I2 X3I1 = X3I2
  • 11. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS X1I2 = ((ValEc1X2.Text * X2I1) + (ValEc1X3.Text * X3I1) + Const1.Text) / ValEc1X1.Text X2I2 = ((ValEc2X1.Text * X1I2) + (ValEc2X3.Text * X3I1) + Const2.Text) / ValEc2X2.Text X3I2 = ((ValEc3X1.Text * X1I2) + (ValEc3X2.Text * X2I2) + Const3.Text) / ValEc3X3.Text If (X1I1 < 0) Then VAbX1I1 = X1I1 * -1 Else: VAbX1I1 = X1I1 End If If (X2I1 < 0) Then VAbX2I1 = X2I1 * -1 Else: VAbX2I1 = X2I1 End If If (X3I1 < 0) Then VAbX3I1 = X3I1 * -1 Else: VAbX3I1 = X3I1 End If If (X1I2 < 0) Then VAbX1I2 = X1I2 * -1 Else: VAbX1I2 = X1I2 End If If (X2I2 < 0) Then VAbX2I2 = X2I2 * -1 Else: VAbX2I2 = X2I2 End If If (X3I2 < 0) Then VAbX3I2 = X3I2 * -1 Else: VAbX3I2 = X3I2 End If Ea1 = ((VAbX1I2 - VAbX1I1) / VAbX1I2) * 100 Ea2 = ((VAbX2I2 - VAbX2I1) / VAbX2I2) * 100 Ea3 = ((VAbX3I2 - VAbX3I1) / VAbX3I2) * 100 MsgBox "Iteracion No. " & cont & vbNewLine & "X1 =" & X1I1 & vbNewLine & "X2 =" & X2I1 & vbNewLine & "X3 =" & X3I1 & vbNewLine & vbNewLine & "Iteracion No. " & cont + 1 & vbNewLine & "X1 =" & X1I2 & vbNewLine & "X2 =" & X2I2 & vbNewLine & "X3 =" & X3I2 & vbNewLine & vbNewLine & "Porcentajes de error:" & vbNewLine & vbNewLine & "Ea1 =" & Ea1 & "%" & vbNewLine & "Ea2 =" & Ea2 & "%" & vbNewLine & "Ea3 =" & Ea3 & "%", , "Resultados Iteracion" Loop
  • 12. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS MsgBox "Los valores más óptimos con un porcentaje de error menor a 1% son:" & vbNewLine & vbNewLine & "X1 =" & X1I2 & vbNewLine & "X2 =" & X2I2 & vbNewLine & "X3 =" & X3I2, , "Valores Optimos" Calcular.Enabled = False End Sub -------------------------------------------------------------------------------------------------------------- Private Sub C1_GotFocus() C1 = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub C1_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Private Sub C2_GotFocus() C2 = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub C2_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Private Sub C3_GotFocus() C3 = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub C3_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Despejar_Click() If (Ec1X1.Text = "") Then Ec1X1.Text = 0 If (Ec1X2.Text = "") Then Ec1X2.Text = 0 If (Ec1X3.Text = "") Then Ec1X3.Text = 0 If (Ec2X1.Text = "") Then Ec2X1.Text = 0 If (Ec2X2.Text = "") Then Ec2X2.Text = 0 If (Ec2X3.Text = "") Then Ec2X3.Text = 0 If (Ec3X1.Text = "") Then Ec3X1.Text = 0 If (Ec3X2.Text = "") Then Ec3X2.Text = 0
  • 13. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS If (Ec3X3.Text = "") Then Ec3X3.Text = 0 If (C1.Text = "") Then C1.Text = 0 If (C2.Text = "") Then C2.Text = 0 If (C3.Text = "") Then C3.Text = 0 ValEc1X1 = Ec1X1 ValEc1X2 = Ec1X2 * -1 ValEc1X3 = Ec1X3 * -1 Const1 = C1 ValEc2X1 = Ec2X1 * -1 ValEc2X2 = Ec2X2 ValEc2X3 = Ec2X3 * -1 Const2 = C2 ValEc3X1 = Ec3X1 * -1 ValEc3X2 = Ec3X2 * -1 ValEc3X3 = Ec3X3 Const3 = C3 If (Ec1X1.Text = 0 Or Ec1X2.Text = 0 Or Ec1X3.Text = 0 Or Ec2X1.Text = 0 Or Ec2X2.Text = 0 Or Ec2X3.Text = 0 Or Ec3X1.Text = 0 Or Ec3X2.Text = 0 Or Ec3X3.Text = 0 Or C1.Text = 0 Or C2.Text = 0 Or C3.Text = 0) Then MsgBox "Verifique los valores introducidos:" & vbNewLine & "No se puede operar con valores en 0", , "Alerta" Else Calcular.Enabled = True End If End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Limpiar_Click() Ec1X1.Text = 0 Ec1X2.Text = 0 Ec1X3.Text = 0 Ec2X1.Text = 0 Ec2X2.Text = 0 Ec2X3.Text = 0 Ec3X1.Text = 0 Ec3X2.Text = 0 Ec3X3.Text = 0 C1.Text = 0 C2.Text = 0
  • 14. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS C3.Text = 0 ValEc1X1.Text = 0 ValEc1X2.Text = 0 ValEc1X3.Text = 0 ValEc2X1.Text = 0 ValEc2X2.Text = 0 ValEc2X3.Text = 0 ValEc3X1.Text = 0 ValEc3X2.Text = 0 ValEc3X3.Text = 0 Const1.Text = 0 Const2.Text = 0 Const3.Text = 0 End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec1X1_GotFocus() Ec1X1.Text = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec1X1_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec1X2_GotFocus() Ec1X2.Text = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec1X2_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Public Function Numeros(Tecla As Integer) As Integer Dim strValido As String strValido = "0123456789,-" If Tecla > 26 Then If InStr(strValido, Chr(Tecla)) = 0 Then Tecla = 0 End If End If Numeros = Tecla End Function --------------------------------------------------------------------------------------------------------------
  • 15. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS Private Sub Ec1X3_GotFocus() Ec1X3.Text = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec1X3_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec2X1_GotFocus() Ec2X1.Text = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec2X1_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec2X2_GotFocus() Ec2X2.Text = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec2X2_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec2X3_GotFocus() Ec2X3.Text = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec2X3_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec3X1_GotFocus() Ec3X1.Text = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec3X1_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec3X2_GotFocus() Ec3X2.Text = "" End Sub --------------------------------------------------------------------------------------------------------------
  • 16. UNIVERSIDAD SAN MARTÍN Ingeniería de Sistemas - Distancia METODOS NUMERICOS Private Sub Ec3X2_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec3X3_GotFocus() Ec3X3.Text = "" End Sub -------------------------------------------------------------------------------------------------------------- Private Sub Ec3X3_KeyPress(KeyAscii As Integer) KeyAscii = Numeros(KeyAscii) End Sub