Está en la página 1de 10

Unidad 3 Resolución de sistemas lineales de

ecuaciones

Clase 1 y 2: Antecedentes matemáticos y sistemas fáciles de resolver


plicaciones a la ingenierı́a

Mario Audelo Guevara


Consideremos el sistema lineal de ecuaciones:


 a1,1 x1 + a1,2 x2 + ··· + a1,n xn = b1

 a2,1 x1 + a2,2 x2 + ··· + a2,n xn = b2

.. (1)


 .

an,1 x1 + an,2 x2 + ··· + an,n xn = bn

sea la matriz A formada por todos los coeficientes de las variables


 
a1,1 a1,2 · · · a1,n
 a2,1 a2,2 · · · a2,n 
 
A= . .. .. .. 
 .. .

. . 
an,1 an,2 · · · an,n


el vector →

x formado por las incógnitas y el vector b formado por todos los términos independientes.
   
x1 b1
 x2  →  b2 
   


x =  −
 ..  , b =  .. 
 
 .  .
xn bn

El sistema de ecuaciones ?? puede ser representado en forma matricial como:



A→ −
x = b (2)
    
a1,1 a1,2 · · · a1,n x1 b1
 a2,1 a2,2 · · · a2,n   x2   b2 
    
 .  =  . 
 . .. .. 
..
   
 .
 . . . .   ..   .. 
an,1 an,2 · · · an,n xn bn

Un sistema de n ecuaciones lineales con n incógnitas tiene una solución única, siempre que el determinante
de la matriz de coeficientes sea no singular, es decir:

det A = |A| = 0

Si la matriz de coeficientes es singular, el sistema de ecuaciones lineal puede tener un número infinito de
soluciones o ninguna solución.
El sistema ?? de ecuaciones puede ser resuelto por métodos directos o iterativos.

Los métodos directos son algoritmos finitos y permiten resolver un sistema lineal de ecuaciones en un
número finito de operaciones aritméticas, estos métodos no se aplican a sistemas muy grandes (de orden
hasta 103 ) por la cantidad de operaciones y errores de redondeo que se pueden presentar en su resolu-
ción. Para resolver sistemas grandes es mejor utilizar métodos iterativos (de orden hasta 106 ), que son
algoritmos infinitos que generan una sucesión que converge a la solución, estos métodos no determinan
la solución exacta pero nos permiten acercarnos lo suficiente a la solución como se desee.
 



  - Sistemas fáciles de resolver
 - Métodos Directos  - Métodos de eliminación gaussiana


Métodos de resolución - Métodos de factorización
 
 - Métodos Iterativos - Método de Jacobi



- Método de Gauss Seidel

1
0.1. Métodos directos

0.1.1. Sistemas fáciles de resolver

Resolución numérica de un sistema diagonal

Consideramos en forma explicita el sistema de ecuaciones:



 a1,1 x1


= b1
a2,2 x2 = b2


..


 .

an,n xn = bn



A→−x = b


Con A = (ai,j ) ∈ Mn×n [R] una matriz diagonal, b T = (b1 , . . . , bn ) ∈ Rn .

La solución →

x T = (x1 , . . . , xn ), siempre que esta exista, se obtiene con el siguiente procedimiento:
b1
x1 = a1,1 a1,1 6= 0
b2
x2 = a2,2 a2,2 6= 0
..
.
bi (3)
xi = ai,i ai,i 6= 0
..
.
bn
xn = an,n an,n 6= 0

De lo anterior se deduce que el sistema de ecuaciones tiene solución única si y solo si ai,i 6= 0 para
i = 1, . . . , n.
El número de operaciones aritméticas que se requieren para resolver un sistema diagonal:

Divisiones: Una división para determinar cada incógnita (n incógnitas). Por tanto el total de divisiones:
1 + 1 + ··· + 1 = n
Multiplicaciones: no se realiza ninguna multiplicación.
Sumas algebraicas: no se realiza ninguna suma algebraica.

El número total de operaciones para resolver un sistema diagonal es:

Q(n) = n (4)

El procedimiento descrito por las Ec. (??) se resume en el siguiente algoritmo:



ENTRADA: n ∈ Z+ ,A = (ai,j ) ∈ Mn×n [R], b T = (b1 , . . . , bn ) ∈ Rn

− T n
SALIDA: x = (x1 , . . . , xn ) ∈ R , Mensaje de error: Matriz Singular
1 Para i = 1 a n hacer
2 Si ai,i 6= 0 entonces
3 xi = abi,i
i

4 de lo contrario
5 Imprimir Mensaje de error, ir a 7
6 Imprimir La solución es: →

x T = (x1 , . . . , xn )
7 FIN
Algoritmo 1: Sistema diagonal

2
En Octave la solución del sistema (??)


 x1 =2

 − x2 = −1
(5)


 2x3 =2
x4 =0

1 clear;
2 clc;
3 disp('Sistema lineal de ecuaciones diagonal');
4 % Ingresa la dimensión de la matriz
5 n=input('n = ');
6 fprintf('\n');
7 for i=1:n
8 fprintf('a( %d, %d) = ',i,i);
9 a(i,i)=input('');
10 end
11 for i=1:n
12 fprintf('b( %d) = ',i);
13 b(i)=input('');
14 end
15 aux=0;
16 for i=1:n
17 if a(i,i)˜=0
18 x(i)=b(i)/a(i,i);
19 else
20 aux=1;
21 break;
22 end
23 end
24 if aux==0
25 fprintf('La Solución es: \n');
26 x
27 else
28 disp('Matriz singular');
29 end

Sistema lineal de ecuaciones diagonal


n = 4

a(1,1) = 1
a(2,2) = -1
a(3,3) = 2
a(4,4) = 1
b(1) = 2
b(2) = -1
b(3) = 2
b(4) = 0
La Solución es:
x =

2 1 1 0

Resolución numérica de un sistema triangular superior

Consideramos en forma explicita el sistema de ecuaciones lineal



 a1,1 x1 + a1,2 x2 + · · · + a1,n xn


= b1
a2,2 x2 + · · · + a2,n xn = b2


.. (6)


 .

an,n xn = bn

3


A→

x = b


Con b T = (b1 , . . . , bn ) ∈ Rn y A = (ai,j ) ∈ Mn×n [R] que tiene la forma
 
a1,1 a1,1 ··· a1,n
 0 a2,2 ··· a2,n 
 
A=
 .. .. .. .. 
.

 . . . 
0 0 ··· an,n

que satisface ai,j = 0, para i > j, i = 1, . . . , n j = 1, . . . , n. La matriz A se llama triangular superior,


por tanto el sistema Ec. (??) se denomina sistema triangular superior.
La solución →

x T = (x1 , . . . , xn ), siempre que esta exista, se obtiene con el procedimiento de vuelta hacia
atrás, como sigue:
bn
xn = an,n an,n 6= 0
bn−1 −an−1,n xn
xn−1 = an−1,n−1 an−1,n−1 6= 0
..
.
n
P
bi − ai,k xk (7)
bi −ai,i+1 xi+1 −ai,i+2 xi+2 −···−ai,n xn k=i+1
xi = ai,i = ai,i ai,i 6= 0
..
.
n
P
b1 − a1,k xk
b1 −a1,2 x2 −a1,3 x3 −···−a1,n xn k=2
x1 = a1,1 = a1,1 a1,1 6= 0

De lo anterior se deduce que el sistema de ecuaciones lineal triangular superior tiene solución única si y
solo si ai,i 6= 0 para i = 1, . . . , n.
El número de operaciones aritméticas que se requieren para resolver un sistema triangular superior:
Divisiones: 1 división para determinar cada incógnita (n incógnitas). Por tanto el total de divisiones:

1 + 1 + ··· + 1 = n

Multiplicaciones: Para determinar xn no se realiza ninguna multiplicación, para determinar xn−1 se


realiza 1 multiplicación, para determinar xn−2 se realiza 2 multiplicaciones, hasta cuando se determina
x1 y se realiza (n − 1) multiplicaciones. Por tanto, el total de multiplicaciones:

n(n − 1)
0 + 1 + 2 + · · · + (n − 1) =
2
Sumas algebraicas: Para determinar xn no se realiza ninguna suma algebraica, para determinar xn−1 se
realiza 1 suma algebraica, para determinar xn−2 se realiza 2 sumas algebraicas, hasta cuando se determina
x1 y se realiza (n − 1) sumas algebraicas. Por tanto, el total de sumas:

n(n − 1)
0 + 1 + 2 + · · · + (n − 1) =
2
El número total de operaciones para resolver un sistema triangular superior es:

n(n − 1) n(n − 1)
Q(n) = n + + = n2 (8)
2 2
El procedimiento descrito por las Ec. (??) se resume en el siguiente algoritmo:

4


ENTRADA: n ∈ Z+ ,A = (ai,j ) ∈ Mn×n [R], b T = (b1 , . . . , bn ) ∈ Rn
SALIDA: → −
x T = (x1 , . . . , xn ) ∈ Rn , Mensaje de error: Matriz Singular
1 Para i = n a 1 hacer
2 Si ai,i 6= 0 entonces
3 suma = 0
4 Para j = i + 1 a n hacer
5 suma = suma + ai,j × xj
6 xi = bi −suma
ai,i
7 de lo contrario
8 Imprimir Mensaje de error, ir a 10
9 Imprimir La solución es: →

x T = (x1 , . . . , xn )
10 FIN
Algoritmo 2: Sistema triangular superior

En Octave la solución del sistema:



 x1


+ 2x2 + 3x3 + 4x4 =2
 − x2 + 3x3 + x4 = −1
(9)


 2x3 − x4 =2
x4 =0

1 clear;
2 clc;
3 disp('Sistema de ecuaciones triángular superior');
4 n=input('n = ');
5 fprintf('\n');
6 for i=1:n
7 for j=1:n
8 fprintf('a( %d, %d) = ',i,j);
9 a(i,j)=input(' ');
10 end
11 end
12 for i=1:n
13 fprintf('b( %d) = ',i);
14 b(i)=input('');
15 end
16 aux=0;
17 for i=n:-1:1
18 if a(i,i)˜=0
19 suma=0;
20 for k=i+1:n
21 suma=suma+a(i,k)*x(k);
22 end
23 x(i)=(b(i)-suma)/a(i,i);
24 else
25 aux=1;
26 break;
27 end
28 end
29 if aux==0
30 fprintf('La Solución es: \n');
31 x
32 else
33 disp('Matriz A singular');
34 end

5
Sistema de ecuaciones triángular superior
n = 4

a(1,1) = 1
a(1,2) = 2
a(1,3) = 3
a(1,4) = 4
a(2,1) = 0
a(2,2) = -1
a(2,3) = 3
a(2,4) = 1
a(3,1) = 0
a(3,2) = 0
a(3,3) = 2
a(3,4) = -1
a(4,1) = 0
a(4,2) = 0
a(4,3) = 0
a(4,4) = 1
b(1) = 2
b(2) = -1
b(3) = 2
b(4) = 0
La Solución es:
x =

-9 4 1 0

Resolución numérica de un sistema triangular inferior

Consideramos el sistema de ecuaciones lineal escrito en forma explı́cita




 a1,1 x1 = b1

 a2,1 x1 + a2,2 x2

= b2
.. (10)


 .

an,1 x1 + an,2 x2 + · · · + an,n xn = bn



A→

x = b


Con b T = (b1 , . . . , bn ) ∈ Rn y A = (ai,j ) ∈ Mn×n [R] que tiene la forma
 
a1,1 0 ··· 0
 a2,1 a2,2 ··· 0
 

A=
 .. .. .. .. 
.

 . . . 
an,1 ··· · · · an,n

que satisface ai,j = 0, para j > i, i = 1, . . . , n j = 1, . . . , n. La matriz A se llama triangular inferior,


por tanto el sistema Ec. (??) se denomina triangular inferior.
La solución →

x T = (x1 , . . . , xn ), siempre que esta exista, se obtiene mediante el procedimiento hacia

6
adelante, como sigue:
b1
x1 = a1,1 a1,1 6= 0
b2 −a2,1 x1
x2 = a2,2 a2,2 6= 0
..
.
i−1
P
bi − ai,k xk (11)
bi −ai,1 x1 −ai,2 x2 −···−ai,i−1 xi−1 k=1
xi = ai,i = ai,i ai,i 6= 0
..
.
n−1
P
bn − an,k xk
bn −an,1 x1 −an,2 x2 −···−an,n−1 xn−1 k=1
xn = an,n = an,n an,n 6= 0

De las ecuaciones anteriores se observa que el sistema de lineal triangular inferior tiene solución única si
y solo si ai,i 6= 0 para i = 1, . . . , n.
El número de operaciones aritméticas que se requieren para resolver un sistema triangular inferior:

Divisiones: 1 división para determinar cada incógnita (n incógnitas). Por tanto el total de divisiones:

1 + 1 + ··· + 1 = n

Multiplicaciones: Para determinar x1 no se realiza ninguna multiplicación, para determinar x2 se realiza


1 multiplicación, para determinar x3 se realiza 2 multiplicaciones, hasta cuando se determina xn y se
realiza (n − 1) multiplicaciones. Por tanto, el total de multiplicaciones:

n(n − 1)
0 + 1 + 2 + · · · + (n − 1) =
2
Sumas algebraicas: Para determinar x1 no se realiza ninguna suma algebraica, para determinar x2 se
realiza 1 suma algebraica, para determinar x3 se realiza 2 sumas algebraicas, hasta cuando se determina
xn y se realiza (n − 1) sumas algebraicas. Por tanto, el total de sumas:

n(n − 1)
0 + 1 + 2 + · · · + (n − 1) =
2
El número total de operaciones para resolver un sistema triangular inferior es:

n(n − 1) n(n − 1)
Q(n) = n + + = n2 (12)
2 2
El procedimiento descrito por las Ec. (??) se resume en el siguiente algoritmo:



ENTRADA: n ∈ Z+ ,A = (ai,j ) ∈ Mn×n [R], b T = (b1 , . . . , bn ) ∈ Rn
SALIDA: → −
x T = (x1 , . . . , xn ) ∈ Rn , Mensaje de error: Matriz Singular
1 Para i = 1 a n hacer
2 Si ai,i 6= 0 entonces
3 suma = 0
4 Para j = 1 a i − 1 hacer
5 suma = suma + ai,j × xj
6 xi = bi −suma
ai,i
7 de lo contrario
8 Imprimir Mensaje de error, ir a 10
9 Imprimir La solución es: →

x T = (x1 , . . . , xn )
10 FIN
Algoritmo 3: Sistema triangular inferior

7
En Octave la solución del sistema (??)


 2x1 =2

 2x
1 − x2 = −1
(13)


 −x 1 + 3x2 + x3 =2
x1 + 2x2 + 3x3 4x4 =0

1 clear;
2 clc;
3 disp('Sistema lineal de ecuaciones triángular inferior');
4 n=input('n = ');
5 fprintf('\n');
6 for i=1:n
7 for j=1:n
8 fprintf('a( %d, %d) = ',i,j);
9 a(i,j)=input('');
10 end
11 end
12 for i=1:n
13 fprintf('b( %d) = ',i);
14 b(i)=input('');
15 end
16 aux=0;
17 for i=1:n
18 if a(i,i)˜=0
19 suma=0;
20 for k=1:i-1
21 suma=suma+a(i,k)*x(k);
22 end
23 x(i)=(b(i)-suma)/a(i,i);
24 else
25 aux=1;
26 break;
27 end
28 end
29 if aux==0
30 fprintf('La Solución es: \n');
31 x
32 else
33 disp('Matriz A singular');
34 end

8
Sistema lineal de ecuaciones triángular inferior
n = 4

a(1,1) = 2
a(1,2) = 0
a(1,3) = 0
a(1,4) = 0
a(2,1) = 2
a(2,2) = -1
a(2,3) = 0
a(2,4) = 0
a(3,1) = -1
a(3,2) = 3
a(3,3) = 1
a(3,4) = 0
a(4,1) = 1
a(4,2) = 2
a(4,3) = 3
a(4,4) = 4
b(1) = 2
b(2) = -1
b(3) = 2
b(4) = 0
La Solución es:
x =

1.0000 3.0000 -6.0000 2.7500

También podría gustarte