Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ecuaciones
→
−
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
→
−
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.
Q(n) = n (4)
→
−
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
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
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
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
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
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
→
−
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
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
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 =