• No se han encontrado resultados

A representa un sistema de ecuaciones simult´

N/A
N/A
Protected

Academic year: 2018

Share "A representa un sistema de ecuaciones simult´"

Copied!
12
0
0

Texto completo

(1)

c

M. Valenzuela 2007

(21 de agosto de 2007)

1.

Matrices

Definici´on. 1 Una matrizn×mes un arreglo rectangular de elementos connfilas (o renglones) y m columnas en el cual no s´olo es importante el valor de los elementos sino tambi´en su posici´on en el arreglo.

Ejemplo:

A= (aij) = ⎡ ⎢ ⎢ ⎢ ⎣

a11 a12 · · · a1m a21 a22 · · · a2m

..

. ... . .. ... an1 an2 · · · anm

⎤ ⎥ ⎥ ⎥

⎦ (1)

Las matrices se denotan con may´usculas (con negritas) y sus elementos con min´usculas.

2.

Vectores

Definici´on. 2 Una matriz 1×n,

B= b11 b12 · · · b1n , (2)

se le llama un vector rengl´on den dimensiones.

Definici´on. 3 Una matriz 1,

C= ⎡ ⎢ ⎢ ⎢ ⎣

c11 c12 .. . c1n

⎤ ⎥ ⎥ ⎥

, (3)

se le llama un vector columna de ndimensiones.

Usualmente, los sub´ındices innecesarios se omiten, de manera que

y= y1 y2 · · · ym , (4)

denota un vector rengl´on dem dimensiones, y

x= ⎡ ⎢ ⎢ ⎢ ⎣

x1 x2 .. . xn

⎤ ⎥ ⎥ ⎥

, (5)

denota un vector columna dendimensiones. Los vectores se denotan con min´usculas y negritas. La norma de un vectorxse define de la siguiente manera:

||x||p= n

i=1

|xi|p 1/p

(6)

N´otese que

||x||2= n

i=1

(2)

+

20V

10Ω 5Ω 10Ω

[image:2.612.178.419.70.159.2]

R= 5Ω 5Ω 5Ω

Figura 1: Circuito el´ecitrico que puede ser descrito mediante un sistema de ecuaciones simult´aneas.

es decir, la magnitud del vector. N´otese tambi´en que

||x||∞= lim p→∞

n

i=1

|xi|p 1/p

= max

i (|xi|), (8)

es decir, el m´aximo de los valores absolutos de las componentesxi del vector.

3.

Por qu´

e se requieren m´

etodos para resolver sistemas de

ecuaciones lineales

Muchos problemas pueden ser descritos mediante un sistemas de ecuaciones lineales. Por ejemplo, considere el circuito el´ectrico mostrado en la figura 1.

Las ecuaciones de malla que describen a este circuito son las siguientes:

15ii 5i2 = 20

5i1 + 15i2 5i3 = 0

5i2 + 20i3 = 0

(9)

A partir de las ecuaciones de malla se pueden obtener todas las corrientes, voltajes, y pontencial de los elementos del circuito. Por ejemplo, la corriente de la resistenciaR esi1−i2.

4.

Representaci´

on de sistemas de ecuaciones

Un sistema de ecuaciones lineales simulat´aneas de la forma a11x1+a12x2+· · ·+a1nxn = b1 a21x1+a22x2+· · ·+a2nxn = b2

.. . an1x1+an2x2+· · ·+annxn = bn puede representarse mediante una matriz(n+ 1).

A partir de la matrizAy el vectorb

A= ⎡ ⎢ ⎢ ⎢ ⎣

a11 a12 · · · a1n a21 a22 · · · a2n

..

. ... . .. ... an1 an2 · · · ann

⎤ ⎥ ⎥ ⎥

⎦ (10)

b= ⎡ ⎢ ⎢ ⎢ ⎣

b1 b2 .. .

⎤ ⎥ ⎥ ⎥

(3)

se forma la matriz aumentada

˜ A=

⎡ ⎢ ⎢ ⎢ ⎣

a11 a12 · · · a1n b1 a21 a22 · · · a2n b2

..

. ... . .. ... ... an1 an2 · · · ann bn

⎤ ⎥ ⎥ ⎥

⎦ (12)

Esta matriz aumentada representa la ecuaci´on vectorialAx=b.

5.

Ejemplo de circuitos el´

ectricos

DefiniendoR,i, yv:

R= ⎡

155 155 05 0 5 20

⎦ (13)

i= ⎡ ⎣ i1i2

i3 ⎤ ⎦ v=

⎡ ⎣ 200

0 ⎤

⎦ (14)

Podemos expresar el juego de ecuaciones como

Ri=v= ⎡

155 155 05 0 5 20

⎤ ⎦ ⎡ ⎣ i1i2

i3 ⎤ ⎦=

⎡ ⎣ 200

0 ⎤

⎦ (15)

Que puede representarse mediante la matriz aumentada:

˜ R=

155 155 05 200

0 5 20 0

⎦ (16)

6.

Operaciones elementales de rengl´

on

Como la matriz aumentada ˜A representa un sistema de ecuaciones simult´aneas, es posible re-alizar las siguientes operaciones elementales de rengl´on manteniendo las igualdades de las ecuaciones representadas:

Multiplicar un rengl´on por una constante

Multiplicar un rengl´on por una constante y sumarlo a otro rengl´on

Los m´etodos de soluciones de sistemas de ecuaciones aplican estas operaciones sobre la matriz aumentada en forma ordenada y repetida. En las siguientes secciones se explican los siguientes m´etodos:

Eliminaci´on gaussiana (Gauss)

Gauss-Jordan

(4)

FunctionEGaussiana(A,b)

A[Ab] ; 1

fori←1 to ndo 2

// Hacer ceros abajo de pivote forj←i+ 1 to ndo

3

A(j,:)A(j,:)A(i,:)A(j, i) A(i, i) ; 4

fori←ndownto 1 do 5

// Hacer pivote 1

A(i,:) A(i,:) A(i, i) ; 6

// Hacer ceros arriba de pivote forj←i−1 downto 1do

7

A(j,:)A(j,:)A(i,:)A(j, i) ; 8

xA(:, n+ 1) ; 9

[image:4.612.110.502.73.307.2]

return x 10

Figura 2: Pseudoc´odigo que implementa el m´etodo de eliminaci´on gaussiana para soluci´on de sistemas de ecuaciones lineales.

7.

Eliminaci´

on Gaussiana

Eliminaci´on gaussiana aplica operaciones de rengl´on para resolver un sistema de ecuaciones simulat´aneas; su pseudoc´odigo se presenta en la figura 2, y en la figura 3 su implementaci´on en MATLAB.

Para cada rengl´on, se define el elementoai,ide la matriz aumentada como elpivote. Eliminaci´on gaussiana opera en dos fases. Primero, para cada rengl´on empezando por el primer rengl´on, hace ceros en los elementos debajo del pivote (l´ıneas 3 y 4). Segundo, para cada rengl´on empezando por el ´ultimo rengl´on, hace el pivote igual a 1, y hace ceros arriba del pivote (l´ıneas 5 a 8). La soluci´on al sistema de ecuaciones queda en la ´ultima columna de la matriz aumentada (l´ınea 9).

A continuaci´on se presenta la soluci´on del ejemplo del circuito el´ecitrico mediante eliminaci´on gaussiana.

˜ R=

155 155 05 200

0 5 20 0

⎤ ⎦

⎣ 150 13−.33335 05 6.666720

0 5 20 0

(17)

⎣ 150 13−.33335 05 6.666720 0 0 18.1250 2.5

⎤ ⎦

⎣ 150 13−.33335 05 6.666720

0 0 1 0.1379

(18)

⎣ 150 13−.33335 00 7.356320

0 0 1 0.1379

⎤ ⎦

⎣ 150 01 00 220..55177586 0 0 1 0.1379

⎤ ⎦

⎣ 10 01 00 10..51725517 0 0 1 0.1379

⎦ (19)

de donde se tiene que las corrientes de malla son:

i= ⎡ ⎣ 10..51725517

0.1379 ⎤

(5)

functionx = EGauss(A,b)

% Implementacion del metodo de eliminacion % gaussiana para resolver sistemas

% de ecuaciones lineales. %

% x = EGauss(A,b)

%

% Regresa x, la solucion del sistema Ax=b.

% 22 enero 2007 % Manuel Valenzuela

% Crear la matriz aumentada

A = [A b]; n =size(A,1);

for i=1:n

% Hacer ceros en la columna i debajo de la fila i for j=i+1:n

A(j ,:) = A(j,:) A(i,:)A(j, i )/A(i, i );

end end

for i=n:1:1

% Hacer uno el elemento i,i

A(i ,:) = A(i,:)/A(i, i );

% Hacer ceros en la columna i arriba de la fila i for j=i1:1:1

A(j ,:) = A(j,:) A(i,:)A(j, i );

end end

[image:5.612.91.550.70.291.2]

x = A(:,n+1);

Figura 3: Implementaci´on en MATLAB del m´etodo de eliminaci´on gaussiana para soluci´on de sis-temas de ecuaciones lineales.

8.

etodo de Gauss-Jordan

En la figuras 4 y 5 se presenta en la implementaci´on del m´etodo Gauss-Jordan. El m´etodo de Gauss-Jordan es similar a eliminaci´on gaussiana, pero primero hace el pivote igual a 1, y luego hace ceros en toda la columna del pivote. En el m´etodo de Gauss-Jordan primero se hace el pivote igual a 1 se hace el pivote igual a 1 (l´ınea 3), Despu´es se hacen cero los elementos arriba y abajo del pivote l´ıneas 4 a 6). La soluci´on al sistema de ecuaciones queda en la ´ultima columna de la matriz aumentada (l´ınea 7).

A contiuaci´on se muestra la soluci´on del ejemplo del circuito el´ectrico mediante Gauss-Jordan.

˜ R=

155 155 05 200

0 5 20 0

⎤ ⎦

15 0.153333 05 1.33330

0 5 20 0

(21)

⎣ 10 130..33333333 05 61..33336667

0 5 20 0

⎤ ⎦

⎣ 10 0.33331 0.03750 01..33335000

0 5 20 0

(22)

⎣ 10 01 −−00..37501250 01..50005000 0 0 18.1250 2.5000

⎤ ⎦

⎣ 10 01 −−00..12503750 01..50005000

0 0 1 0.1379

(23)

⎣ 10 01 00 10..51725517 0 0 1 0.1379

⎦ (24)

9.

Pivote m´

aximo

(6)

FunctionGaussJordan(A,b)

A[Ab] ; 1

fori←1 to ndo 2

// Hacer pivote 1

A(i,:) A(i,:) A(i, i) ; 3

forj←1 tondo 4

if j=i then 5

// Hacer ceros arriba y abajo del pivote A(j,:)A(j,:)A(j, i)A(i,:) ;

6

xA(:, n+ 1) ; 7

[image:6.612.111.499.120.300.2]

return x 8

Figura 4: Pseudoc´odigo que implementa de m´etodo Gauss-Jordan para la soluci´on de sistemas de ecuaciones lineales.

functionx = GaussJ(A,b)

% Implementacion del metodo Gauss−Jordan % para resolver sistemas de ecuaciones % lineales.

%

% x = GaussJordan(A,b)

%

% Regresa x, la solucion del sistema Ax=b.

% 22 enero 2007 % Manuel Valenzuela

% Se crea la matriz aumentada

A = [A b]; n =size(A,1);

for i=1:n

% Dividir renglon entre el pivote

A(i ,:) = A(i,:)/A(i, i );

% Hacer ceros en la columna i for j=1:n

if i˜=j

A(j ,:) = A(j,:) A(i,:)A(j, i );

end end end

x = A(:,n+1);

[image:6.612.91.498.427.631.2]
(7)

FunctionGaussJordan(A,b)

A[Ab] ; 1

fori←1 to ndo 2

m←max(|A(i:n, i)|) ; 3

k←rengl´on dem enA; 4

Intercambiar renglonesiykdeA; 5

// Hacer pivote 1

A(i,:) A(i,:) A(i, i) ; 6

forj←1 tondo 7

// Hacer ceros arriba y abajo del pivote if j=i then

8

A(j,:)A(j,:)A(j, i)A(i,:) ; 9

xA(:, n+ 1) ; 10

[image:7.612.111.503.72.291.2]

return x 11

Figura 6: Pseudoc´odigo que implementa el m´etodo de Gauss-Jordan con pivote m´aximo para soluci´on de sistemas de ecuaciones lineales.

10.

Montante

El m´etodo de Montante, que se presenta en las figuras 7 y 8, resuelve un sistema de ecuaciones simult´aneas haciendo operaciones que mantienen el n´umero de decimales que tiene los datos originales hasta el ´ultimo paso, donde se realiza la divisi´on entre el determinante.

Ejemplo del m´etodo Montante:

˜ A=

155 155 05 200

0 5 20 0

⎤ ⎦

⎣ 150 2005 075 10020

0 75 300 0

(25)

⎣ 2000 2000 −−2575 300100

0 0 3625 500

⎤ ⎦

⎣ 36250 36250 00 55002000

0 0 3625 500

(26)

⎣ 10 01 00 10..51725517 0 0 1 0.1379

⎦ (27)

11.

Matriz inversa

Los m´etodos de eliminaci´on gaussiana, Gauss-Jordan, y Montante pueden ser utilizados para encontrar la inversa de una matriz. En este caso, la matriz aumentada ser´a la matriz de original y la matriz identidad.

155 155 05 10 01 00 0 5 20 0 0 1

⎤ ⎦

⎣ 150 2005 075 15 150 00

0 75 300 0 0 15

(28)

⎣ 2000 2000 −−2575 155 155 00

0 0 3625 25 75 200

⎤ ⎦

⎣ 36250 36250 00 275100 100300 2575

0 0 3625 25 75 200

(8)

FunctionMontante(A,b)

A[Ab] ; 1

pivAnt1 ; 2

fori←1 to ndo 3

piv←A(k, k) ; 4

forj←1 tondo 5

// Hacer ceros arriba y abajo del pivote if j=i then

6

A(j,:)A(j,:)pivA(i,:)A(j, i)

pivAnt ;

7

pivAntpiv ; 8

x A(:, n+ 1)

piv ;

9

detA(n, n) ; 10

[image:8.612.108.502.99.318.2]

return x, det 11

Figura 7: Pseudoc´odigo que implementa el m´etodo de Montante para la soluci´on de sistemas de ecuaciones lineales.

functionx = Mont(A,b)

% Implementacion del metodo Montante % para resolver sistemas de

% ecuaciones lineales. %

% x = Montante(A,b)

%

% Regresa x, la solucion del sistema Ax=b.

% 22 enero 2007 % Manuel Valenzuela

% Se crea la matriz aumentada

A = [A b]; n =size(A,1);

pivAnt = 1; % pivote inicial for i=1:n

% pivote actual

piv = A(i,i );

% Hacer ceros en la columna i for j=1:n

if j˜=i

A(j ,:) = (A(j,:)piv A(i,:)A(j, i ))/pivAnt;

end end

% Guardar el pivote anterior

pivAnt = piv;

end

% Dividir entre el ultimo pivote (determinante)

A = A/piv;

x = A(:,n+1);

[image:8.612.93.546.437.653.2]
(9)

⎣ 10 01 00 00..02760759 00..08280276 00..00690207 0 0 1 0.0069 0.0207 0.0552

⎦ (30)

La inversa son las ´ultimasncolumnas de la matriz aumentada:

A1= ⎡

⎣ 00..07590276 00..02760828 00..00690207 0.0069 0.0207 0.0552

⎦ (31)

12.

etodos Iterativos: Jacobi

Dado un sistema de ecuaciones de la forma:

a11x1+a12x2+· · ·+a1nxn = b1 (32)

a21x1+a22x2+· · ·+a2nxn = b2 (33)

..

. (34)

an1x1+an2x2+· · ·+annxn = bn (35) si se despeja la variablexi de cada ecuaci´on se obtiene lo siguiente:

x1 = −a12a11x2−a13a11x3− · · · − a1na11xn+a11b1 (36)

x2 = −a21 a22x1−

a23

a22x3− · · · − a2n a22xn+

b2

a22 (37)

..

. (38)

xn = aan1 nnx1

an2

annx2− · · · − an,n−1

ann xn−1+ bn

ann (39)

El sistema anterior, puede usarse como una f´ormula recursiva, es decir,

x1(t+ 1) = −a12 a11x2(t)

a13

a11x3(t)− · · · − a1n

a11xn(t) + b1

a11 (40)

x2(t+ 1) = −a21a 22x1(t)

a23

a22x3(t)− · · · − a2n

a22xn(t) + b2

a22 (41)

..

. (42)

xn(t+ 1) = −aan1 nnx1(t)

an2

annx2(t)− · · · − an,n−1

ann xn−1(t) + bn

ann (43)

puede usarse para obtener los valores dexi(t+ 1) en funci´on de los valores dexi(t). Si definimos la matrizTy el vectorcde la siguiente manera,

T= ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

0 −a12 a11

a13

a11 · · ·

a1n a11

−a21a22 0 −a23

a22 · · ·

a1n a22

−a31a

33 a32

a33 0 · · ·

a3n a33 ..

. . .. ...

(10)

FunctionJacobi(A,b,x0)

Obtener matrizT; 1

Obtener vectorc; 2

xx0 ; 3

repeat 4

xantx; 5

xTx+c; 6

until ||xxant||∞

||x|| < ε; 7

[image:10.612.131.523.475.615.2]

return x 8

Figura 9: Pseudoc´odigo que implementa el m´etodo de Jacobi para resolver en forma iterativa sistemas de ecuaciones lineales. En la l´ınea 7 se ha tomado la norma infinita, || · ||, para definir el criterio de terminaci´on, pero es posible tomar otra norma.

se pueden escribir las ecuaciones recursivas en forma matricial:

x(t+ 1) =Tx(t) +c (45)

Para evitar el uso de la variabletpodemos escribir la ecuaci´on en forma de asignaci´on:

xTx+c (46)

En las figuras 9 y 10 se presenta la implementaci´on del m´etodo de Jacobi.

13.

etodos Iterativos: Gauss-Seidel

En las ecuaciones recursivas, es posible utilizar inmediatamente los valores obtenidos para calcular los siguientes valores, es decir,

x1(t+ 1) = −aa12 11x2(t)

a13

a11x3(t)− · · · − a1n

a11xn(t) + b1

a11 (47)

x2(t+ 1) = −a21

a22x1(t+ 1) a23

a22x3(t)− · · · − a2n

a22xn(t) + b2

a22 (48)

x3(t+ 1) = −a31

a33x1(t+ 1) a32

a33x2(t+ 1)− · · · − a3n

a33xn(t) + b3

a33 (49)

..

. (50)

xn(t+ 1) = −an1

annx1(t+ 1) an2

annx2(t+ 1)− · · · − an,n−1

ann xn−1(t+ 1) + bn

ann (51)

El uilizar los valores dexi que se acaban de calcular para calcular los siguientes valores permite que el m´etodo converja m´as r´apidamente a una soluci´on.

Las ecuaciones recursivas se pueden escribir en forma matricial de la siguiente manera:

xi←T(i,:)x+ci (52)

(11)

functionx = Jaco(A,b,x0)

% Implementacion del metodo Jacobi para la % solucion de sistemas de ecuaciones, tomando % como aproximacion inicial x0.

%

% x = Jaco(A,b,x0)

%

% Regresa x, la solucion del sistema Ax=b. % El criterio de terminacion es que

% norm(x−xAnt,Inf)/norm(x,Inf)<eps.

% 17 agosto 2007 % Manuel Valenzuela

n =size(A,1);

eps= 0.001;

% Se obtienen el vector c y la matriz T

c = b./diag(A); T =zeros(n);

for i=1:n

T(i ,:) = A(i,:)/A(i, i );

end

T =Teye(n);

x = x0; xAnt = x;

while1

x = Tx + c;

if (norm(xxAnt,Inf)/norm(x,Inf)<eps)

break end

xAnt = x;

[image:11.612.86.514.82.330.2]

end

Figura 10: Implementaci´on en MATLAB del m´etodo de Jacobi para resolver en forma iterativa sistemas de ecuaciones lineales.

FunctionGaussSeidel(A,b,x0)

Obtener matrizT; 1

Obtener vectorc; 2

xantx0; 3

repeat 4

fori←ndo 5

xi←T(i,:)x+ci ; 6

xantx; 7

until ||xxant||

||x|| < ε; 8

return x 9

[image:11.612.110.502.469.624.2]
(12)

functionx = GaussS(A,b,x0)

% Implementacion del metodo Gauss−Seidel para % la solucion de sistemas de ecuaciones,

% tomando como aproximacion inicial x0. %

% x = GaussSeidel(A,b,x0) %

% Regresa x, la solucion del sistema Ax=b. % El criterio de terminacion es que

% norm(x−xAnt,Inf)/norm(x,Inf)<eps.

% 17 agosto 2007 % Manuel Valenzuela

n =size(A,1);

eps= 0.001;

% Se obtienen el vector c y la matriz T

c = b./diag(A);

T =zeros(n);

for i=1:n

T(i ,:) = A(i,:)/A(i, i );

end

T =T.eye(n);

x = x0; xAnt = x; j = 0;

while1 j = j+1;

for i=1:n

x(i ) = T(i,:)x + c(i );

end

if (norm(xxAnt,Inf)/norm(x,Inf)<eps)

break end

xAnt = x;

[image:12.612.89.512.405.587.2]

end

Figura 12: Implementaci´on en MATLAB del m´etodo de Gauss-Seidel para resolver en forma iterativa sistemas de ecuaciones lineales.

14.

Ejemplo de Jacobi y Gauss-Seidel

Para el ejemplo del circuito el´ectrico se tiene que

T= ⎡

⎣ 0.33330 0.33330 0.33330 0 0.2500 0

⎤ ⎦ c=

⎡ ⎣ 1.33330

0 ⎤

⎦ (53)

Jacobi:

1 2 3 4 5 6 7 8 9 10

i1 1.3333 1.3333 1.4815 1.4815 1.5103 1.5103 1.5159 1.5159 1.5170 1.5170 i2 0 0.4444 0.4444 0.5309 0.5309 0.5477 0.5477 0.5509 0.5509 0.5509 i3 0 0 0.1111 0.1111 0.1327 0.1327 0.1369 0.1369 0.1377 0.1377 Gauss-Seidel

1 2 3 4 5

i1 1.3333 1.4815 1.5103 1.5159 1.5170 i2 0.4444 0.5309 0.5477 0.5509 0.5516 i3 0.1111 0.1327 0.1369 0.1377 0.1379

Figure

Figura 1: Circuito el´ecitrico que puede ser descrito mediante un sistema de ecuaciones simult´aneas.
Figura 2: Pseudoc´odigo que implementa el m´etodo de eliminaci´on gaussiana para soluci´on de sistemasde ecuaciones lineales.
Figura 3: Implementaci´on en MATLAB del m´etodo de eliminaci´on gaussiana para soluci´on de sis-temas de ecuaciones lineales.
Figura 4: Pseudoc´odigo que implementa de m´etodo Gauss-Jordan para la soluci´on de sistemas deecuaciones lineales.
+6

Referencias

Documento similar

En el capítulo de desventajas o posibles inconvenientes que ofrece la forma del Organismo autónomo figura la rigidez de su régimen jurídico, absorbentemente de Derecho público por

•cero que suplo con arreglo á lo que dice el autor en el Prólogo de su obra impresa: «Ya estaba estendida esta Noticia, año de 1750; y pareció forzo- so detener su impresión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

La primera opción como algoritmo de compresión para secuencias biológicas que sugirió la directora del proyecto fue la adaptación de los algoritmos de Lempel-Ziv al alfabeto formado

En esta sección se tratan las características que debe tener un compresor de secuencias biológicas para poder ser usado como herramienta en la construcción de los árboles de

Al respecto, y para acabar de ilustrar la utilidad de estas dos dimensiones en la investigación de la agresión, la Figura 2 presenta un modelo dicotómico de ecuaciones