Está en la página 1de 64

Sistemas de lineales

Programacin Numrica

Objetivos
Resolver un sistema de ecuaciones lineales
acopladas
Obtener la inversa de una matriz
Calcular el determinante de una matriz
Factorizar matrices

Solucin de sistemas pequeos


La solucin de un sistema lineal de 2 ecuaciones puede
obtenerse fcilmente de forma grfica
a
b
x2 11 x1 1
a12
a12

a11x1 + a12x2 = b1
a21x1 + a22x2 = b2
Despejando x2 y graficando

x2

x2

a11
b1
x1
a12
a12
a21
b2
x1
a22
a22

solucin

a
b
x2 21 x1 2
a22
a22

Ejemplo
Sea el sistema
3x1 + 2x2 = 18
x1 + 2x2 = 2
Despejando
x2 = 9 1.5x1
x2 = 1 + 0.5x1

(4, 3)

Tipos de soluciones
No hay solucin

Ejemplo

Infinidad de soluciones

Ejemplo

Sistema mal condicionado

Ejemplo

x1 + x2 = 1

x1 + x2 = 1

x1 + x2 = 1

x1 + x2 =

x1 + 2x2 = 1

0.501x1 + x2 = 0.9

Determinantes
Solucin de un sistema de 3x3
La matriz del sistema es:

a11
A a21
a31

a12
a22
a32

a13
a23
a33

El determinante de A es:

a11

a12

a13

D a21
a31

a22
a32

a23
a33

a22
a11
a32

a23
a21
a12
a33
a31

a23
a21
a13
a33
a31

a22
a32

a11 a22 a33 a32 a23 a12 a21a33 a31a23 a13 a21a32 a31a22

Regla de Cramer
Cada incgnita de un sistema de ecuaciones lineales algebraicas
puede expresarse como la razn de dos determinantes con
denominados D y con numerador obtenido a partir de D, al
reemplazar la columna de coeficientes de la incgnita en cuestin
por las constantes independientes b1, b2, , bn. Por ejemplo x1 se
calcula con:
b1
b2

x1

a12
a22

a13
a23

b3 a32 a33
a11 a12 a13
a21
a31

a22
a32

a23
a33

Eliminacin de Gauss simple

Definicin
Un sistema lineal es un sistema de la forma:

E1: a11x1 + a12x2 + a13x3 +...+ a1nxn = b1


E2: a21x1 + a22x2 + a23x3 +...+ a2nxn = b2
.
En: an1x1 + an2x2 + an3x3 +...+ annxn = bn

Donde x1, x2, x3.., xn son las incgnitas.

Operaciones bsicas
Se utilizarn tres operaciones para simplificar un sistema
lineal:
1. La ecuacin Ei puede multiplicarse por una constante
distinta de cero. (Ei) (Ei)
2. La ecuacin Ej puede multiplicarse por una constante
distinta de cero y sumarse a otra ecuacin Ei. (Ei +Ej)
(Ei)
3. El orden de las ecuaciones Ei y Ei puede intercambiarse.
(Ei) (Ei)

Ejemplo

positivo

E1: x1 + x2

+ 3x4 = 4

E2: 2x1+ x2 x3 +

x4 = 1

E3: 3x1- x2 x3 + 2x4 = -3


E4: -x1+2x2 +3x3 -

x4 = 4

Las operaciones:
(E2 2E1)E2, (E3 3E1) E3, (E4 + E1)E4
Transforman el sistema en:

Simplificar
E1: x1 + x2

+ 3x4 = 4

E2:

- x2 x3 - 5x4 = -7

E3:

- 4x2 x3 -7x4 =-15

E4:

+ 3x2 +3x3 + 2x4 = 8

Las operaciones:
(E3 4E2)E3, (E4 +3E2) E4
Transforman el sistema en:

Simplificar
E1: x1 + x2

+ 3x4 = 4

E2:

- x2 x3 - 5x4 = -7

E3:

3x3 +13x4 = 13

E4:

-13x4 = -13

El sistema se puede resolver hacia atrs.


x4 = 1
x3 = (13-13x4)/3 = 0
x2 = -(x3 + 5x4 -7) = 2
x1 = -x2 - 3x4 + 4 = -1

Comprobacin
E1: x1 + x2

+ 3x4 = 4

E2: 2x1+ x2 x3 +

x4 = 1

x1 = -1
x2 = 2

E3: 3x1- x2 x3 + 2x4 = -3

x3 = 0

E4: -x1+2x2 +3x3 -

x4 = 1

x4 = 4

E1: (-1)+(2)+3(1)= 4
E2: 2(-1)+(2)(0)+(1) = 1
E3: 3(-1)-(2)(0)+2(1)= -3
E4: -(-1)+2(2)+3(0)-(1) = 4

Solucin en Matlab
%sistema de ecuaciones
A = [1,1,0,3,4;2,1,-1,1,1;3,-1,-1,2,-3;-1,2,3,-1,4]
x = [0 0 0 0];
%operaciones
%(E2 - 2E1) -> E2
A(2,:) = A(2,:) - 2*A(1,:);
%(E3 - 3E1) -> E3
A(3,:) = A(3,:) - 3*A(1,:);
%(E4 + E1) -> E4
A(4,:) = A(4,:) + A(1,:);
%(E3 - 4E2) -> E3
A(3,:) = A(3,:) - 4*A(2,:);
%(E4 + 3E2) -> E4
A(4,:) = A(4,:) + 3*A(2,:);
x(4) = A(4,5)/A(4,4);
x(3) = (A(3,5)-A(3,4)*x(4))/A(3,3);
x(2) = (A(2,5)-A(2,3:4)*x(3:4))/A(2,2);
x(1) = (A(1,5)-A(1,2:4)*x(2:4))/A(1,1);

Actividad
Resolver
x1 + x2
+ x4 = 2
2x1 + x2 - x3 + x4= 1
4 x1 - x2 - 2x3 + 2 x4 = 0
3x1 - x2 - x3 + 2 x4 = -3

Matrices
Una matriz es un arreglo rectangular de elementos de n
renglones y m columnas.
a11
a
A aij 21

an1

a12 a1m
a22 a2 m

an 2 anm

Representacin matricial
El sistema de ecuaciones
a11 x1
a21 x1

an1 x1

a12 x2 a1m xn b1
a22 x2 a2 m xn b2

an 2 x2 anm xn bn

Se puede representar por una matriz ampliada


a11
a
A, b 21

an1

a12 a1n . b1
a22 a2 n . b2

. .

an 2 ann . bn

Ejemplo
(E2 2E1) E2, (E3 3E1) E3,
(E4 + E1) E4

1
2

3.

1.

1 1 0
0 1 1

4
1

0 4 1 7 . 15

0
3
3

1
.
8

3 1 1 2 . 3

1 2 3 1. 4

(E3 4E2) E3, (E3 +3E2) E4

1 1 0
0 1 1

4
5 . 7
3.

0
0

3
0

4
5 . 7
3 .

13 . 13

13. 13

Eliminacin Gaussiana con sustitucin hacia


atrs
Se forma la matriz aumentada

a11

a
A A, b 21

an1

a12 a1n . a1, n 1

a22 a2 n . a2,n 1
.

.
a
an 2 ann
n , n 1

Siempre que aii 0, realizamos la operacin


(Ej(aji/aii) Ei) (Ej)
Para i = 1, 2, 3, ..., n-1 y j = i + 1, i + 2, ..., n.
a11

0
A

a12 a1n . a1,n 1

a22 a2 n . a2,n 1
.

.
a
0 ann
n , n 1

Sustitucin hacia atrs


an ,n 1
xn
an , n
an 1,n 1 an 1,n xn
xn 1
an 1,n 1

En general

xi

ai ,n 1 ai ,n xn ai ,n 1 xn 1 ... ai ,i 1 xi 1

ai ,i

ai ,n 1 j i 1 ai , j x j
n

ai ,i

Algoritmo Gauss
Entrada: nmero de incgnitas y de ecuaciones n, matriz aumentada (aij)
donde 1<= i <= n y 1<= j <= n+1.
Salida: solucin x1, x2 ... xn o mensaje de que no hay solucin
1. Para i = 1 hasta n-1
2.

Sea p el entero ms pequeo con


i <= p <= n y api <> 0

3.

Si no se encuentra p

4.

Salida(no existe solucin)

5.

terminar

continuacin
6.

Si p<>i realice (Ei)<->(Ep)

7.

Para j = i+1 hasta n

8.

mij = aij/aii

9.

Realice (Ej-mijEi) -> (Ej)

10. Si ann=0 entonces


11.

Salida(no existe solucin)

12. xn = an,n+1/ann
13. Para i = n 1 hasta 1
14.

xi = [ai,n+1-j=i+1 aijxj]/aii

Inversa
La inversa de una matriz A de n x n es una matriz A -1 tal que A x
A-1 = A-1 x A = In
Una matriz que tiene inversa se le llama matriz no singular.
Una matriz que no tiene inversa es una matriz singular.
Se cumple que:
a. La inversa es nica.
b. La inversa de una matriz no singular es no singular y (A-1)-1 = A
c. Si A y B son no singulares, (AB)-1 = B-1 A-1

Obtencin de la inversa
Sea Bj la j-sima columna de la matriz B de n x n.
b1 j
b
2j
Bj

b
nj

Si AB = C, entonces la j-esima columna de C est dada por:


c1 j
a11
c
a
2
j

C AB 21
j
j

c
an1
nj

a12 a1n b1 j


a22 a2 n b2 j



an 2 ann bnj

a b

k 1 1k kj
n
k 1 2 k kj

a b

n
k 1 ank bkj

Cont.
Supongamos que A-1 existe y que A-1 = B = (bij). Entonces AB =
Iy
0


0

AB j 1
0


0

Para encontrar B podemos resolver n ecuaciones lineales donde la


j-sima columna de la inversa es la solucin del sistema lineal
que en el lado derecho tiene la j-sima columna de I.

Ejemplo
1 2 1
A 2 1 0
1 1 2

1 2 1 b11 b12
AB 2 1 0 b21 b22
1 1 2 b31 b32

b12 2b22 b32


b11 2b21 b31

AB
2b11 b21
2b12 b22
b11 b21 2b31 b12 b22 2b32

b13
b23
b33

b13 2b23 b33


2b13 b23
b13 b23 2b33

Si B = A1, entonces AB = I se tiene


b11 2b21 b31 1
2b11 b21 0

b12 2b22 b32 0


2b12 b22 1

b13 2b23 b33 0


2b13 b23 0

b11 b21 2b31 0 b12 b22 2b32 0 b13 b23 2b33 1


2
5
1
b12
b13
9
9
9
4
1
2
b21
b22
b23
9
9
9
1
1
1
b31
b32
b33
3
3
3

b11

9
4
1
A
9
1
3

5
9
1

9
1
3

1

9
2

9
1
3

Inversa en Matlab
function x = inversa(B)
[n dumy] = size(B);
I = eye(n);
A = [B,I];
x = zeros(n);
for i = 1 : n-1
p = i;
while p < n && A(p,i) == 0; p = p + 1; end
if p == n
fprintf('Matriz singular...');
return;
end
if p ~= i
temp = A(i,:);
A(i,:) = A(p,:);
A(p,:) = temp;
end
for j = i+1 : n
m = A(j,i)/A(i,i);
for k = 1 : 2*n
A(j,k) = A(j,k) - m*A(i,k);
end
end
end

Inversa en Matlab
if A(n,n)==0
fprintf('Matriz singular...');
return;
end
for k = 1: n
x(n,k) = A(n,n+k)/A(n,n);
for i = n-1 : -1: 1
s = A(i,n+k);
for j = i+1 : n
s = s - A(i,j)*x(j,k);
end
x(i,k) = s/A(i,i);
end
end

Comandos de Matlab para matrices


inv(m) invierte una matriz cuadrada m.Tambin m^-1.
/ divide, A/B es equivalente a B*inv(A)
\ divide, A\B es equivalente a inv(A)*B
det(m) calcula el determinante de m.
trace(m) suma los elementos de la diagonal de m.

Tarea
1. Determine cual de las siguientes
matrices son no singulares y calcule su
inversa.
a.| 4 2 6| b.|1 2 0| c.|4 0 0|
| 3 0 7|
|2 1 -1|
|0 0 0|
|-2 -1 -3|
|3 1 1|
|0 0 3|
d.|1
|1
|2
|-1

1 -1 1| e.|4 0 0
2 -4 -2|
|6 7 0
1 1 5|
|9 11 1
0 -2 -4|
|5 4 1

0| f.|2 0 1
0|
|1 1 0
0|
|2 -1 3
1|
|3 -1 4

2|
2|
1|
3|

3
2

4 2 6

4 0 8
1 5 7 0

4 6 1 1

1 3 0 6
7 4 5 3

0 5 1 5
4 6 2 4

lgebra lineal
Definicin: dos matrices son iguales si tienen el mismo tamao
n x m y si aij = bij para todo i = 1, 2, .., n y j = 1, 2, ..., m.
Definicin: la suma de dos matrices A y B del mismo tamao n
x m es igual a una matriz C donde cij = aij + bij para todo i = 1,
2, .., n y j = 1, 2, ..., m.
Definicin: la multiplicacin de una matriz A de tamao n x m
por una escalar es una matriz de tamao n x m cuyos
elementos son aij para todo i = 1, 2, .., n y j = 1, 2, ..., m.

Propiedades de las matrices


Si A, B y C son matrices de tamao n x m, y y son nmeros
reales, se cumplen las siguientes propiedades:
a. A + B = B + A

e. (A + B) = B + A

b. (A + B) + C = A + (B + C)

f. ( + )A = A + A

c. A + 0 = 0 + A = A

g. (A) = (A

d. A + (-A) = -A + A = 0

h. 1A = A

Multiplicacin de matrices
Sea A una matriz de n x m y B una matriz de m x p. El producto
de la matriz A por la matriz B se define como la matriz C de n x p
donde los elementos de C se calculan por:
m

cij aik bkj ai1b1 j ai 2b2 j ... aim bmj


k 1

Definiciones
Una matriz cuadrada es la que tiene igual nmero de renglones
que de columnas.
Una matriz diagonal es una matriz cuadrada con D =(dij) con dij
= 0 simpre que i<>j.
La matriz identidad de orden n, In = (ij) es una matriz diagonal
con ij = 1 si i = j y ij =0 si i<>j.
Una matriz triangular superior de n x n U = (uij) tiene, para
toda j = 1, 2, ..., n, los elementos
uij = 0, para cada i = j +1, j + 2, ..., n
Una matriz triangular inferior de n x n L = (lij) tiene, para toda j
= 1, 2, ..., n, los elementos
l = 0, para cada i = 1, 2, ..., j 1

Traspuesta
La traspuesta de una matriz A de n x m es una matriz At tal que
la i_sima columna de At es la misma que el i-simo rengln de
A.
Se cumple que
a. (At)t = A
b. (A + B)t = At + Bt
c. (AB)t = Bt At
d. Si A-1 existe, (A-1)t = (At)-1

Determinante
Si A es una matriz de 1 x 1, entonces det(A) = x.
Si a es de orden mayor que 1, calcule el determinante de
A como sigue:
Escoja cualquier fila o columna. para cada elemento A[i,
j] en esa fila o columna, forme el producto
(-1)(i+ j)*A[i, j]*det(menor(A[i, j]))
Donde det(menor(A[i, j])) es el determinante del menor
de A[i, j].
det(A) = suma de todos los productos para la columna o
fila seleccionada.

Propiedades
a. Si un rengln o columna tiene solo ceros, el determinante es cero.
b. Si se intercambian 2 renglones o columnas, el signo del determinante cambia
c. Si dos columnas o renglones son iguales, el determinante es cero.
d. Si se multiplica un rengln o columna por un numero real el determinante se
multiplica por ese nmero real.
e. Si se suma un mltiplo de un rengln o columna a otro rengln o columna, el
determinante no se altera.
f. El determinante de un producto de matrices es igual al producto de los
determinantes de cada una.
g. El determinante de la inversa es el inverso del determinante de la matriz
original.

Clculo eficiente del


determinante
Convertir la matriz en una matriz triangular superior y
calcular el determinante de sta.
El determinante de una matriz triangular superior es igual al
producto de los elementos de la diagonal principal.
La matriz triangular se obtiene mediante la eliminacin
gaussiana.

Determinante en Matlab
function x = determinante(A)
[n dumy] = size(A);
for i = 1 : n-1
p = i;
while p < n && A(p,i) == 0;
p = p + 1;
end
if p == n
x = 0;
return;
end
if p ~= i
temp = A(i,:);
A(i,:) = A(p,:);
A(p,:) = temp;
end

for j = i+1 : n
m = A(j,i)/A(i,i);
for k = 1 : n
A(j,k) = A(j,k) - m*A(i,k);
end
end
end
if A(n,n)==0
x = 0;
return;
end
p = 1;
for i = 1:n
p = p*A(i,i);
end
x = p;

Descomposicin LU
La descomposicin LU transforma una matriz a en el producto de dos matrices
triangulares
A = LU
(1)
Donde L es triangular inferior y U es triangular superior.
Un sistema Ax = b se puede escribir como
LUx = b
Si hacemos
Ux = d
Obtenemos
Ld = b

(2)
(3)
(4)

Con (4) se obtiene z y despus con (3) se obtiene x.


En los casos en que se tengan varios sistemas con la misma matriz de
coeficientes es ms eficiente aplicar este mtodo que resolver cada uno
mediante Gauss.

Supongamos un sistema de 3x3

a11
a
21
a31

a12
a22
a32

a13
a23
a33

x1 b1
x b
2 2
x3 b3

En el primer paso de eliminacin gaussiana se multiplica el rengln 1 por


f 21 = a21/a11 y se le resta al segundo para eliminar a21.
Luego se multiplica el rengln 1 por f 31 = a31/a11 y se le resta al tercer para
eliminar a31.
El paso final es multiplicar el segundo rengln por f 32 = a32/a22 y restar el
resultado al tercer rengln.
Los valores de f 21, f 31 y f 32 se pueden retener en a21, a31 y a32 .
Despus de la eliminacin

a11
f
21
f 31

a12
a'22
f 32

a13
a '23
a' '33

Esta matriz representa un almacenamiento eficiente de la


descomposicin LU de A.
A=LU
donde
a11
U 0
0

a12
a'22
0

1
L f 21
f 31

a13
a '23
a' '33
0
1
f 32

0
1

Ejemplo
Los valores de f 21, f 31 son

3 0.1 0.2
A 0.1
7
0.3
0.3 0.2 10

0.2

f 31 = 0.3/3 = 0.1

0.03333 7.00333 0.29333


0 .1
0.19
10.020
3

0 .1

f 21 = 0.1/3 = 0.033333 y

f 32 = 0.19/7.003333 = 0.027130

0 .2
0.03333
7.00333
0.29333
0.1
0.027130 10.0120
3

El valore de f 32 es

0.1

0 .1
0.2
3
U 0 7.00333 0.29333
0
0
10.0120

L 0.03333
1
0
0.1
0.027130 1

0 3
0.1
0 .2
0.03333
1
0 0 7.00333 0.29333
0 .1
0.027130 1 0
0
10.0120
1

0.099999

0.3

0 .1
7

0.2
0.3

0.2 9.99996

Algoritmo
Sub Decompose(a, n)
DoFor k=1, n 1
DoFor i=k+1, n
factor = ai,k/ak,k
ai,k = factor
DoFor j=k+1, n
ai,j = ai,j factor * ak,j
EndDo
EndDo
EndDo
End Decompose

Solucin del sistema


Para resolver un sistema de ecuaciones procedemos
multiplicando L por un vector d y sustituyendo hacia adelante.
1 0
l
21 1
l31 l32

0 d1 b1
0 d 2 b2
1 d 3 b3

d1 b1
l21d1 d 2 b2
l31d1 l32 d 2 d 3 b3

Con estos valores evaluamos U por X y sustituimos hacia atrs


a11
0

a12
a '22
0

a13 x1 d1
a '23 x2 d 2
a '33 x3 d 3

x3 d 3
a '22 x2 a '23 x1 d 2
a11 x1 a12 x2 a13 x3 d1

Ejemplo
3 0.1 0.2 x1 7.85
0.1
x 19.3
7

0
.
3

0.3 0.2 10 x3 71.4

1
0
0 d1 7.85
Ld 0.03333
1
0 d 2 19.3
0.1
0.027130 1 d 3 71.4

0 .1
0.2
3
Ux 0 7.00333 0.29333
0
0
10.0120

d1 7.85
0.3333d1 d 2 19.3

d1 7.85
d 2 19.5617

0.1d1 0.02713d 2 d 3 71.4

d 3 70.0843

x1 3
x1 7.58
x 19.5617
x2 2.5
2

x3 70.0843 x3 7.00003

Sea el sistema:
-6x1 + x2
4x1 + 3x2
5x1 - 3x2

Ejemplo
+ x3 = -37
+ x3 = -25
+ x3 = -34

La descomposicin LU nos da

6 1 1
A 4
3 1
5 3 1

L .6667
1
0
.8333 .5909 1

1
1
6
U 0 3.6667 1.6667
0
0
2.8182

0 z1 37
Ly .6667
1
0 z 2 25
.8333 .5909 1 z3 34

1
1
6
Ux 0 3.6667 1.6667
0
0
2.8182

37
b 25
34

x1 37
x 49.667
2

x3 94.180

z1 = -37
-.6667z1 + z2 = -25
-.8333z1 - .5909z2 + z3 = -34
2.8182x3 = -94.180
3.6667x1 + 1.6667x2 = -49.667
-6x1 + x2 + x3 = -37

X1 = 0.87097
X2 = 1.64516
X3 = -33.41935

Pivoteo
La descomposicin LU se implementa con el algoritmo de Gauss. Si se modifica
el orden de las filas, se deber tomar en cuenta este hecho.
El algoritmo siguiente genera una matriz P de permutacin para tomar en cuenta
el intercambio de filas.
La matriz de permutacin se obtiene intercambiando renglones en una matriz
identidad. Por ejemplo, la siguiente matriz intercambia el primer y segundo de
una matriz A al premultiplicarla por A.

El guin regresa

0 1 0
P 1 0 0
0 0 1

PA = LU
La ecuacin original se escribe
PAx = Py
O
LUx = y

Algoritmo en Matlab
function [l u p]= descomposicionLU(a)
%l matriz triangular inferior
%u matriz triangular superior
%p matriz de permutaciones
lu = a;
[n muda] = size(a);
p = eye(n);
psigno = 1;
for k=1:n
j = k;
for i = k+1:n
% encontrar pivote
if abs(lu(i,k))>abs(lu(j,k))
j = i;
end
end
if j!= k
% intercambia con el pivote
t = lu(j,:); lu(j,:) = lu(k,:); lu(k,:) = t;
t = p(j,:); p(j,:) = p(k,:); p(k,:) = t;
psigno = -psigno;
end

if lu (k,k) != 0
for i = k+1:n
lu(i,k) = lu(i,k)/lu(k,k);
for m=k+1:n
lu(i,l) = lu(i,m)-lu(i,k)*lu(k,m);
end
end
end
end %fin lazo k
for i = 1:n
for j = 1:n
if i>j
l(i,j) = lu(i,j);
elseif i==j, l(i,j) = 1; elsel(i,j) = 0;
end
end
end
for i = 1:n
for j = 1:n
if i<=j, u(i,j) = lu(i,j); else u(i,j) = 0;
end
end
end

Substitucin hacia adelante y


hacia atrs
function y=sub_adelante(L,w)
[nRow,nCol]=size(L);
y=zeros(nRow,1);
y(1)=w(1)/L(1,1);
for n=2:nRow
y(n)=( w(n) - L(n,1:n-1)*y(1:n-1) ) / L(n,n);
end
function x=sub_atras(U,v)
[nRow,nCol]=size(U);
x=zeros(nRow,1);
x(nRow)=v(nRow)/U(nRow,nRow);
for n=(nRow-1):-1:1
x(n)=(v(n)-(U(n,n+1:end)*x(n+1:end))) / U(n,n);
end

Guin para resolver un sistema


function x=resolver(A,b)
% Resuelve Ax=b
%ENTRADA:
% A: matriz cuadrada
% b: vector de tamao n
%
%SALIDA:
% x: la solucin a A*x=b
[L,U,P] = descomposicionLU(A);
y = sub_adelante(L,P*b);
x = sub_atras(U,y);

Tarea
1. Factorice las siguientes matrices en la
descomposicin LU con Octave y con los guiones para
LU. Haga a mano el producto PLU y confirme que es
igual a la matriz original. Utilice 3 cifras despus
del punto decimal.
a.| 4 2 6| b.|1 2 6| c.|1 3 8|
| 3 5 7|
|2 1 -1|
|0 7 0|
|-2 -1 3|
|3 1 1|
|1 7 3|
d.| 1 -1 -1 1| e.|4 0 4 0| f.|1 3 1 2|
| 1 2 -4 -2|
|6 7 1 5|
|8 1 -6 2|
| 2 1 1 5|
|7 1 1 0|
|2 -4 3 -1|
|-1 6 -2 -4|
|2 4 1 1|
|3 -2 4 3|
2. Encuentre los determinantes de las matrices
anteriores

Aplicacin
Una red elctrica puede representarse por medio de un sistema de ecuaciones.
Supongamos una red que consista solo de resistencias y fuentes de voltaje
independientes.
El sistema a resolver es
RI = V
Donde R es la matriz de resistencias de la red, V es un vector donde cada
componente es el voltaje de la malla e I es el vector de corrientes a determinar.
La matriz de resistencias tiene la siguiente forma
R11
R
21

Rn1

R12 ... R1n


R22 ...
.
.
.
.

.
. Rnn

Donde Rii es la resistencia total de la malla i, y Rij es la resistencia total entre la


malla i y la malla j.

Anlisis de redes
R2

R1

I1
R4

V3

I3

R3
R5

V2

R7

R1 R2 R4

R5

R4

R5
R3 R5 R6
0
R6

R4
0
R4 R7
0

V1

I2
R6
I4

R9

R8

R6

R6 R8 R9

I1 0
I V
1
2
I 3 V3 V2

I
V
2
4

Solucin en Matlab
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

Calculo de las corrientes de malla en una red elctrica


a - vector utilizado para leer los datos desde un archivo
nm = numero de mallas
nr = numero de resistencias
m1 = vector con la malla uno de cada resistencia
m2 = vector con la malla dos de cada resistencia
res = vector con los valores de las resistencias ledas
r = matriz de resistencias
v = vector con los voltajes totales de malla
amp = vector de corrientes de malla
la descripcin de la red se lee desde un archivo, el formato es
nm
nr
res(1)
m1(1)
m2(1)
...
res(nr)
m1(nr)
m2(nr)
v(1)
...
v(nm)

Solucin en Matlab
nn = 1;
%almacena todos los datos en el vector a
a = textread('malla.txt');
nm = a(nn);nn = nn+1;
nr = a(nn);nn = nn+1;
%lee cada elemento
for n = 1:nr
res(n) = a(nn);nn = nn+1;
m1(n) = a(nn);nn = nn+1;
m2(n) = a(nn);nn = nn+1;
end
%descripcion de los datos leidos
for n = 1:nr
fprintf('R%d=%6.3f entre malla %d y %d\n',n,res(n),m1(n),m2(n));
end
%Leer voltajes de malla y los despliega
for n = 1:nm
v(n) = a(nn);nn = nn+1;
fprintf('Voltaje de malla %d = %12f8:\n',n,v(n))
end

Solucin en Matlab
%crea matriz de resistencias
r = zeros(nm);
for n = 1:nr
j = m1(n);
k = m2(n);
if k~=0
r(k,k) = r(k,k) + res(n);
r(j,k) = r(j,k) - res(n);
r(k,j) = r(j,k);
end
r(j,j) = r(j,j) + res(n);
end
%imprime matriz de resistencias
fprintf('Matriz de resistencias');
r
%calcula corrientes
amp = inv(r)*v';
%imprimir resultados
for n = 1:nm
fprintf('Corrientes de malla %d = %12f8:\n',n,amp(n))
end

Ejemplo numrico
Nmero de mallas
Nmero de resistencias
38.9

I5

I1

3492

1017

949

Valor de resistencia

837

4821
42.1

I2

I4

986

Malla 1
Malla 2

842
59.76

5732
I3
5670

5
9
1017
1
3
3492
1
2
837
2
4
949
2
0
842
3
5

4821
3
4
986
4
0
5732
4
5
5670
5
0
38.9
0
42.1
0
59.76

Resultados
R1=1017.000 entre malla 1 y 3
R2=3492.000 entre malla 1 y 2
R3=837.000 entre malla 2 y 4
R4=949.000 entre malla 2 y 0
R5=842.000 entre malla 3 y 5
R6=4821.000 entre malla 3 y 4
R7=986.000 entre malla 4 y 0
R8=5732.000 entre malla 4 y 5
R9=5670.000 entre malla 5 y 0
Voltaje de malla 1 = 38.900000
Voltaje de malla 2 = 0.000000
Voltaje de malla 3 = 42.100000
Voltaje de malla 4 = 0.000000
Voltaje de malla 5 = 59.760000

Matriz de resistencias
r=
4509 -3492 -1017
0
0
-3492 5278
0 -837
0
-1017
0 6680 -4821 -842
0 -837 -4821 12376 -5732
0
0 -842 -5732 12244
Corrientes de malla 1 =
Corrientes de malla 2 =
Corrientes de malla 3 =
Corrientes de malla 4 =
Corrientes de malla 5 =

0.036338
0.027346
0.028966
0.020833
0.016626

2 1 1
4 2 3
1 2 1
1 1 1
a ) 3 3 9 b) 3 1 4 c) 0 1 1 d ) 0 2 3
3 3 5
2 4 5
2 4 0
0 1 1

2 1 0
1 2 1


0 1 2
2 1 1
3 4 1


1 1 1

x1

x2
x3

1
2
3

x1
x2
x3

4
5
6

También podría gustarte