Está en la página 1de 6

Universidad Nacional Mayor de San Marcos

Facultad de Ingeniería de Sistemas e Informática


E.P. de Ingeniería de Sistemas
Taller de Métodos Numéricos 2020 - 2
Resolución numérica de un sistema de ecuaciones lineaes

Taller 04

Resolución numérica de un
sistema de ecuaciones lineales
Matriz dispersa.

Objetivo: El objetivo de este taller1, es que el alumno implemente los métodos de solución
numérica para un sistema de ecuaciones lineales en el entorno de Octave2.

Duración de la sesión: 2 Horas.


Lugar de realización: Laboratorio Virtual de cómputo.

El conocimiento requerido para realizar esta sesión es de haber asimilado los conceptos
básicos de programación en Octave.

El desarrollo tendrá la siguiente estructura de temas:

1. Método Backward.
2. Método Forward.
3. Método de Eliminación Gaussiana.
4. Método de Jacobi.
5. Método de Gauss Seidel
6. Ejercicios propuestos.
7. Referencias.

1
Estos apuntes de laboratorio han sido redactados a fin de orientar y motivar al alumno en la implementación computacional de
los algoritmos tratados en el curso de Métodos Numéricos, sirviendo como guía de trabajo en cada sesión; no obstante, el alumno
debe ampliar los temas desarrollados con la ayuda de la bibliografía sugerida.
2
Octave es una herramienta computacional dotado de un lenguaje de programación propio muy parecido al lenguaje C, además
de poseer una sintaxis muy parecida al de Matab. https://www.gnu.org/software/octave/ apuntes.

Mg. Johnny R. Avendaño Q. Pag. No. 1


Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
E.P. de Ingeniería de Sistemas
Taller de Métodos Numéricos 2020 - 2
Resolución numérica de un sistema de ecuaciones lineaes

1. MÉTODO BACKWARD

También denominado de sustitución regresiva, esta permite resolver un sistema de


ecuaciones lineales cuya matriz es triangular superior con todos los elementos no nulos
en la diagonal.
El sistema de ecuaciones 𝐴𝑥 = 𝑏 tiene la siguiente presentación

a1;1 x1 + a1;2 x2 + a1;3 x3 + ¢ ¢ ¢ + a1;n¡1 xn¡1 + a1;n xn = b1


a2;2 x2 + a2;3 x3 + ¢ ¢ ¢ + a2;n¡1 xn¡1 + a2;n xn = b2
a3;3 x3 + ¢ ¢ ¢ + a3;n¡1 xn¡1 + a3;n xn = b3
..
.
an¡1;n¡1 xn¡1 + an¡1;n xn = bn¡1
an;n xn = bn

siendo el algoritmo
8
> bn
>
>xn =
>
> an;n
< n
X
> bi ¡ ai;j xj
>
>
>
> j=i+1
:xi = ; i = n ¡ 1; n ¡ 2; ¢ ¢ ¢ ; 2; 1
ai;i

a) Diseñe la función
backward(A,b)

esta debe permitir resolver un sistema triangular por sustitución regresiva.


Una versión sería

function sol=backward(a,b)
% la matriz "a" debe ser triangular superior
% "b" es un vector columna
n=length(a);
sol(n)=b(n)/a(n,n);
for i=n-1:-1:1,
suma=0;
for j=i+1:n,
suma=suma+a(i,j)*sol(j);
end
sol(i)=(b(i)-suma)/a(i,i);
end
sol=sol’;
endfunction

b) Implemente las modificaciones necesarias en la función backward para validar los


datos y resolver correctamente un sistema de ecuaciones lineales.

Mg. Johnny R. Avendaño Q. Pag. No. 2


Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
E.P. de Ingeniería de Sistemas
Taller de Métodos Numéricos 2020 - 2
Resolución numérica de un sistema de ecuaciones lineaes

c) Con su función diseñada en el ítem anterior (en Octave), escriba el código necesario
para resolver los siguientes ejercicios:
8
>
< 7; 6x1 + 0; 5x2 + 2; 4x3 = 1; 9
c.1) 9; 1x2 + 4; 4x3 = 9; 7
>
:
5; 8x3 = ¡1; 4
8
>
> 2x + 2y + 2z + 2w = 12
>
< 6y + 6z + 6w = 34
c.2)
>
> 16z + 16w = 82
>
:
14w = 42

2. MÉTODO FORWARD.

De manera análoga al método anterior, podemos obtener un algoritmo de solución para


un sistema de ecuaciones triangular inferior:

a1;1 x1 = b1
a2;1 x1 + a2;2 x2 = b2
a3;1 x1 + a3;2 x2 + a3;3 x3 = b3
..
.
an¡1;1 x1 + an¡1;2 x2 + ¢ ¢ ¢ + an¡1;n¡1 xn¡1 = bn¡1
an;1 x1 + an;2 x2 + an;3 x3 + ¢ ¢ ¢ + an;n¡1 xn¡1 + an;n xn = bn

y su correspondiente algoritmo

a) Diseñe la función
forward(A,b)

esta debe permitir resolver un sistema triangular por sustitución progresiva (hacia
adelante).

b) Resuelva los siguientes ejercicios:


8
>
< 3x = 7; 85
b.1) 0; 1x + 7y = 19; 3
>
:
0; 3x ¡ 0; 2y + 10z = 71; 4

Mg. Johnny R. Avendaño Q. Pag. No. 3


Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
E.P. de Ingeniería de Sistemas
Taller de Métodos Numéricos 2020 - 2
Resolución numérica de un sistema de ecuaciones lineaes

8
>
> x =4
>
< 2x + y =1
b.2)
>
> 3x ¡ y ¡ z = ¡3
>
:
¡x + 2y + 3z ¡ w =4

3. MÉTODO ELIMINACIÓN GAUSSIANA.

a) Diseñe la función
eliminaciongaussiana(A,b)

esta resolverá un sistema de ecuaciones lineales cualesquiera por el respectivo


método; para esto, deberá primero emplear transformaciones elementales para
obtener la forma escalonada de la matriz ampliada, luego deberá usar el método
backward para resolver este sistema equivalente. Se sugiere validar o identificar si
el sistema admite una única solución.

b) Resuelva los siguientes ejercicios:


8
>
> 2x + 2y + 2z + 2w = 12
>
< 4x + 6y + 6z + 6w = 34
b.1)
>
> 6x + 14y + 16z + 16w = 82
>
:
2x + 2y + 12z + 14w = 42
8
>
> 2x + y + w = 1
>
< 3x + 1 y + z + w = 2
2
b.2)
>
> 4x + 2y + 2z + w = ¡1
>
:
y + z + 2w = 0

4. MÉTODO DE JACOBI.

Este algoritmo aproxima la solución numérica de un sistema 𝐴𝑥 = 𝑏 mediante un


esquema iterativo
𝑥 (𝑚+1) = 𝐷𝑥 (𝑚) + 𝑏 , 𝑚 ≥ 0
{ (0)
𝑥 una aproximación inicial

donde 𝐴 es una matriz estrictamente diagonalmente dominante y esta se descompone


como 𝐴 = 𝐼𝑛 − 𝐷.

a) Diseñe la función
r=jacobi(A,b,x,error)

esta resolverá un sistema de ecuaciones lineales en la que todas las hipótesis se


cumplan (para garantizar la convergencia del algoritmo), x es el vector denominado de
aproximación inicial y la variable error será la exactitud en las aproximaciones.

Mg. Johnny R. Avendaño Q. Pag. No. 4


Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
E.P. de Ingeniería de Sistemas
Taller de Métodos Numéricos 2020 - 2
Resolución numérica de un sistema de ecuaciones lineaes

b) Escriba el código necesario para resolver los siguientes ejercicios:


8
>
<7:6x1 + 0:5x2 + 2:4x3 = 1:9
b.1) 2:2x1 + 9:1x2 + 4:4x3 = 9:7
>
:
¡1:3x1 + 0:2x2 + 5:8x3 = ¡1:4
8
>
<3x ¡ 0:1y ¡ 0:2z = 7:85
b.2) 0:1x + 7y ¡ 0:3z = ¡19:3
>
:
0:3x ¡ 0:2y + 10z = 71:4

5. MÉTODO DE GAUSS SEIDEL.

Con las mismas hipótesis del método anterior, este algoritmo aproxima la solución
numérica de un sistema 𝐴𝑥 = 𝑏 mediante el esquema iterativo

𝑥 (𝑚+1) = 𝐿𝑥 (𝑚+1) + 𝑈𝑥 (𝑚) + 𝑏 , 𝑚 ≥ 0


𝑥 (0) una aproximación inicial

donde 𝐴 = 𝐼𝑛 − 𝐿 − 𝑈; 𝐿 y 𝑈 son matrices triangulares inferior y superior


respectivamente.

a) Proceda como en el ejercicio anterior diseñando una función para resolver un sistema
de ecuaciones lineales por el método de Gauss Seidel.

b) Resuelva los ejercicios anteriores.

6. EJERCICIOS PROPUESTOS.

A continuación, resuelva los siguientes enunciados empleando los programas


desarrollados anteriormente. Para esto, primero realice un planteamiento analítico del
problema y luego tradúzcalo al algoritmo que considere apropiado.

1. Tres especies de bacterias se alimentan con tres productos diferentes A, B y C. Una


bacteria de la primera especie consume 1.3 unidades de los productos A y B, además
2.3 unidades del producto C diariamente. Una bacteria de la segunda especie consume
1.1 unidades del producto A, 2.4 unidades del producto B y 3.7 unidades del producto
C cada día. Una bacteria de la tercera especie consume 8.1 unidades del producto A,
2.9 unidades del producto B y 5.1 del producto C cada día. Si se suministran cada día
16000 unidades del producto A, 28000 unidades del B y 44000 unidades del C,
¿Cuántas bacterias de cada especie pueden mantenerse en este ambiente?
a) Formule el problema de forma clara, presentando la forma matricial. Sea explícito.
b) Resuelva empleando el método de Eliminación gaussiana con sustitución hacia
atrás (se debe indicar las operaciones). (A ≈ 2339, B ≈ 10128, A ≈ 224)

2. Considere el siguiente sistema de ecuaciones lineales

Mg. Johnny R. Avendaño Q. Pag. No. 5


Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
E.P. de Ingeniería de Sistemas
Taller de Métodos Numéricos 2020 - 2
Resolución numérica de un sistema de ecuaciones lineaes

0 1 0 1
8 9 ¡1 0 ¡1
B1 8 0 ¡2CC B C
B x = B¡5C
@¡1 0 4 ¡1A @0A
1 ¡2 3 5 ¡2

resuelva empleando un esquema iterativo, verificando que se cumplan las hipótesis,


considere el error relativo menor que 10−5, adjunte una tabla con las aproximaciones y
los respectivos errores.(Sol 𝑥 = (1; −1; 0; −1)𝑇 )

3. ¿El siguiente sistema de ecuaciones tiene solución? Diseñe un programa que permita
justificar su respuesta.
0 10 1 011
1 ¡ 12 0 : : : : P1 2
B¡ 1 1 ¡ 1 : : : : C B C B C
B 2 2 C B P2 C B0 C
B 0 ¡1 1 : : : : C B C B C
B 2 C B P3 C B0 C
B ... C B . C = B.C
B : : : : : : C B .. C B .. C
B CB C B C
@ : : : : ¡ 12 1 ¡ 12 A @pn¡1 A @0 A
: : : : 0 ¡ 12 1 Pn 0

7. REFERENCIAS.

• Burden R. L. & Douglas J. F. Métodos Numéricos. Internacional Thompson Editores.


2013

Mg. Johnny R. Avendaño Q. Pag. No. 6

También podría gustarte