Métodos Matriciales para ingenieros con MATLAB

Preview:

Citation preview

Facultad de Ingeniería

Juan Carlos Herrera Sánchez, Ph.D.

Métodos Matricialespara ingenieros

con MATLAB

Rector: Jorge Humberto Peláez Piedrahita, S.J.Vicerrector Académico: Antonio de Roux RengifoVicerrector del Medio Universitario: Luis Fernando Granados Ospina, S.J.

Facultad de IngenieríaDecano Acádemico: Mauricio Jaramillo AyerbeDecano del Medio Universitario: Alberto Benavides HerránDirector Depto de Ciencias e Ingeniería de la Producción: Alvaro Figueroa Cabrera Ciencias e Ingeniería de la Producción: Álvaro Figueroa Cabrera

Título: Métodos Matriciales para ingenieros con MATLABAutor: Juan Carlos Herrera Sánchez, Ph.D.

ISBN: 978-958-8347-52-3

Coordinador Editorial: Ignacio Murgueitio Restrepoe-mail: mignacio@javerianacali.edu.co

© Derechos Reservados© Sello Editorial Javeriano

Correspondencia, suscripciones y solicitudes de canje:Calle 18 # 118-250Santiago de Cali, Valle del CaucaPontificia Universidad Javeriana CaliFacultad de Ciencias de la SaludTeléfono 3218200 ext. 493 - 533www.javerianacali.edu.co

Formato: 17 x 25 cms

Concepto Gráfico: Edith Valencia F.

Edición: agosto de 2011

Juan Carlos Herrera Sánchez, Ph.D.

Métodos Matricialespara ingenieros

con MATLAB

Herrera Sánchez, Ph.D., Juan CarlosMétodos Matriciales para ingenieros con MATLAB / Juan Carlos Herrera Sánchez, Ph.D. -- Santiago de Cali: Pontificia Universidad Javeriana, Sello Editorial Javeriano, 2011.p. 154 : il.; 17 x 25 cm.

Incluye referencias bibliográficas.

ISBN: 978-958-8347-52-3

1. Matrices (Matemáticas) 2. MATLAB 3. Determinantes 4. Ecuaciones lineales I. Pontificia Universidad Javeriana (Cali). Facultad de Ingeniería. ngeniería. Departamento de Ciencias e Ingeniería de la Producción.SCDD 512.9434 ed.21 658.514 ed.21 BPUJC arm/11

Prefacio

El presente texto está orientado hacia los cursos de pregrado de Análisis de Estructuras, Análisis Matricial y Dinámico de Estructuras y Análisis Numérico, ofrecidos para Ingeniería Civil. También será de referencia en cursos de postgrado tales como Método de Elementos Finitos. No obstante, será útil como texto de referencia para estudiantes de otras áreas de la ingeniería ofrecidas por la Facultad. En el Capítulo 1 se presentan los conceptos básicos del álgebra de matrices así como al manejo de vectores y matrices con MATLAB. En éste capítulo y a lo largo del texto se presentan numerosos ejemplos usando el software citado, para que sirvan de complemento a los aspectos teóricos presentados. En el Capítulo 2 se tratan las operaciones fundamentales con matrices. El Capítulo 3 está dedicado al tema de inversión de matrices y al cálculo de determinantes. En el Capítulo 4 se presentan los métodos tradicionales para la solución de sistemas de ecuaciones lineales. Finalmente, en el Anexo, se presenta una introducción a al tópico sobre integración y diferenciación de matrices usando MATLAB. El texto es de carácter introductorio, y por tanto será de utilidad tanto a estudiantes de pregrado de ingeniería, como a profesionales de ingeniería.

El Autor

7

Tabla de contenido

Capítulo 1. Tipos de matrices…………………….……………

1.1 Definiciones.…………………………………………….………1.2 Manipulación de vectores y matrices en MATLAB.....……1.3 Clases de matrices………………………………………........1.4 Referencias bibliográficas…………..……………………..…1.5 Problemas……………….…………………………………….

Capítulo 2. Operaciones con matrices...……………………….

2.1 Producto de un número real por una matriz………………2.2 Suma de matrices…………………………………………….2.3 Multiplicación de matrices………………………………..…2.4 Partición de matrices.………………………………………2.5 Referencias bibliográficas..………..…………………………2.6 Problemas………………………………………………….…

Capítulo 3. Determinantes e inversión de matrices...……….

3.1 Determinante de una matriz……………………………..…3.2 Expansión de Laplace……………………………………… 3.3 Peterminante por Condensaciónn Pivotal...………………3.4 Inversión usando la matriz adjunta.…………….…………3.5 Método de Gauss-Jordan..………………………..…………3.6 Inversa de una matriz por medio de partición……………3.7 Referencias bibliográficas……….………………….……… 3.8 Problemas …………………………………………….………

9

910204141

43

434452586363

65

6567777982919898

8

Capítulo 4. Solución de sistemas de ecuaciones lineales.…….

4.1 Forma matricial de las ecuaciones………………………… 4.2 Solución por inversión de matrices………………………… 4.3 Regla de Cramer………………………………………..…… 4.4 Método de eliminación de Gauss…………………………… 4.5 Método de Gauss-Jordan………………………………...…. 4.6 Método de Cholesky……………………………………....…. 4.7 Factorización LU……………………………………........…. 4.8 Referencias bibliográficas ………..…………………...……4.9 Problemas…………………………………………………..…

Anexo. Diferenciación e integración de matrices con MATLAB…………...................................................................

101

101102106109127137142146146

149

9

Capítulo 1

Tipos de matrices

1.1 Definiciones

Una matriz se define como un conjunto de elementos ordenados en un número de filas m y un número de columnas n. En este caso la matriz se dice que es de orden (m x n). La matriz [A]

m x n

se define por:z

11

[ ]ij i mj n

A a ≤ ≤≤ ≤

=

11 12 1

21 22 2

2

n

n

ij in

mn m mj mn

a a a

a a aA

a a

a a a a

=

L

L

M M

La i-ésima fila de [A] tiene n elementos:

[ ]1 2 1i i in xna a aL

La j-ésima columna de [A] tiene m elementos:

1

2

j

j

mj

a

a

a

M

10

JUAN CARLOS HERRERA SÁNCHEZ

En la matriz anterior cada aij indica el elemento ubicado en la fila

“i” y la columna “j”. Por ejemplo: el elemento a32 es el elemento de la fila 3 y columna 2.

Una matriz de orden (1 x n), tiene 1 sola fila, es un vector fila. Se puede escribir:

[ ] [ ]1 2 nc c c c= L

Una matriz de orden (m x 1), tiene 1 sola columna y m filas, se denomina vector columna.

1.2 Manipulación de vectores y matrices en MATLAB

Para crear un vector fila en MATLAB, se escribe el conjunto de elementos entre corchetes. Se separan por espacios o una coma (,) para delimitar los números.

>> va=[-1 0 1]

va =

-1 0 1

Si se usan comas:

>> va=[-1, 0, 1]

va =

-1 0 1

Vector columna: Para crear un vector columna, se escribe el conjunto de números entre corchetes y se separan por punto y coma (;):

>> vc=[1;2;4;16]

11

TIPOS DE MATRICES

vc =

1

2

4

16

Transpuesta de un vector:Un vector fila se puede convertir a un vector columna calculando su transpuesto. Se usa el comando transpose(V)o la comilla(´).

Ejemplo:

Obtener un vector columna del vector va=[-1 0 1].

>> vc=va’

vc =

-1

0

1

>> vc=transpose(va)

vc =

-1

0

1

Calculemos un vector fila, usando el vector columna [vc]:

>> vc=[1;2;4;16]

vc =

1

2

4

16

>> vf=vc’

vf =

1 2 4 16

12

JUAN CARLOS HERRERA SÁNCHEZ

Para definir un vector igualmente espaciado se da el comando:

x=[vi : i: vf]

Donde :vi: valor inicialvf: valor finali: incremento

Para generar el vector a=[0 1 2 ….9] se escribe en MATLAB:

>> a=[0:1:9]

a =

0 1 2 3 4 5 6 7

8 9

Creemos el vector x=[0 , 0.25, 0.5, …,1.75, 2]T, con incrementos de 0.25,

>> x=[0:0.25:2]’

x =

0

0.2500

0.5000

0.7500

1.0000

1.2500

1.5000

1.7500

2.0000

Otra forma es usar el comando linspace (X1, X2, N). Este comando genera N puntos entre los valores X

1 and X

2.

Para crear el vector x=[0 , 0.25, 0.5, …,1.75, 2]T se escribe en MATLAB:

>> B=linspace(0,2,9)’

13

TIPOS DE MATRICES

B =

0

0.2500

0.5000

0.7500

1.0000

1.2500

1.5000

1.7500

2.0000

Para definir una matriz se escriben las filas separadas por “;”. Para definir la matriz [B] de 2 filas y 3 columnas, se escribe:

>> B=[1 2 3;4 5 6]

B =

1 2 3

4 5 6

La otra forma es introducir la primera fila y luego dar enter (←).

>> B=[1 2 3←

4 5 6]

B =

1 2 3

4 5 6

Para definir una matriz también se puede separar cada fila por “;...”

14

JUAN CARLOS HERRERA SÁNCHEZ

>>ml=[2 0 0 6 0 0;...

0 156 22 0 54 -13;...

0 22 4 0 13 -3;...

6 0 0 12 0 0;...

0 54 13 0 56 -22;...

0 -13 -3 0 -22 4];

ml =

2 0 0 6 0 0

0 156 22 0 54 -13

0 22 4 0 13 -3

6 0 0 12 0 0

0 54 13 0 56 -22

0 -13 -3 0 -22 4

Para indicar el elemento b12

escribimos:

>> b12=B(1,2)

b12 = 2

De igual forma para indicar el elemento b23

escribimos:

>> b23=B(2,3)

b23 = 6

El orden de [B] es (2 x 3). En MATLAB para obtener el orden de una matriz es el comando size.

>> size(B)

ans =

2 3

15

TIPOS DE MATRICES

El comando size indica el numero de filas y columnas de la matriz. Otra forma usar este comando es:

>> [m,n]=size(B)

m = 2

n = 3

La siguiente instrucción retorna el vector {Vb} con el número de filas y columnas de la matriz [B].

>> Vb=size(B)

Vb =

2 3

Ejemplo:

Para definir la matriz fila [A] de 1 fila y 3 columnas, se escribe:

>> A=[1 2 3]

A =

1 2 3

>> [m,n]=size(A)

m =

1

n =

3

16

JUAN CARLOS HERRERA SÁNCHEZ

Para obtener el número de filas de un vector columna, o el número de columnas de un vector fila en MATLAB, se usa el comando length(V)

>> length(A)

ans =

3

Ejemplo:

Para definir un vector columna [A] de 3 filas, se escribe los elementos separados por “;”:

>> A=[2;4;6]

A =

2

4

6

>> length(A)

ans =

3

>> [m,n]=size(A)

m =

3

n =

1

17

TIPOS DE MATRICES

Para obtener la columna j-ésima de una matriz [A] se da la instrucción A(:,j).

Ejemplo:

>> A

A =

1 2 3

4 5 6

6 5 4

Así para definir un vector, con la primera columna de la matriz [A], escribimos:

>> NV=A(:,1)

NV =

1

4

6

>> NV=A(:,3)

NV =

3

6

4

Para definir un vector, con los elementos de la k-ésima fila de la matriz [A], se da la instrucción A(k,:).

18

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo:

Para definir un vector fila, con la primera fila de la matriz [A], se da la instrucción:

>> vf=A(1,:)

vf =

1 2 3

De la misma forma para obtener un vector de la fila k-ésima de una matriz [A] y las columnas de la m a p, se da la instrucción A(k,m:p).

Ejemplo:

>> A

A =

1 4 3 5

4 5 6 8

6 5 4 7

5 6 7 9

Para formar el vector de la fila 3, columnas de la 2 a la 4, se da la instrucción:

>> vf=A(3,2:4)

vf =

5 4 7

19

TIPOS DE MATRICES

Para formar el vector de la columna 2, filas de la 2 a la 4, se da la instrucción:

>> vc=A(2:4,2)

vc =

5

5

6

Ejemplo: generar la matriz [B1] con los elementos de la filas 2 a 5 y columnas 3 a 5 de [B].

>> B=5*eye(5)

B =

5 0 0 0 0

0 5 0 0 0

0 0 5 0 0

0 0 0 5 0

0 0 0 0 5

>> B1=B(2:5,3:5)

B1 =

0 0 0

5 0 0

0 5 0

0 0 5

Para borrar la segunda columna de B se escribe:

B(:,2) = []

20

JUAN CARLOS HERRERA SÁNCHEZ

B =

5 0 0 0

0 0 0 0

0 5 0 0

0 0 5 0

0 0 0 5

1.3 Clases de matrices

Matriz nula

Una matriz de orden (m x n), con todos sus elementos iguales a cero se define como matriz nula. Así por ejemplo, la matriz [0]

3x3,

se define:

0 0 0

[0] 0 0 0

0 0 0

=

Ejemplo:

Para definir una matriz nula en MATLAB se usa el comando zeros(m,n) donde m es el número de filas y n el número de columnas.

>> B=zeros(3,3)

B =

0 0 0

0 0 0

0 0 0

21

TIPOS DE MATRICES

La matriz [B] creada es de orden (3 x 3)

Para crear una matriz nula de orden (4 x 3) damos la instrucción:

>> C=zeros(4,3)

C =

0 0 0

0 0 0

0 0 0

0 0 0

Para generar un vector fila nulo se escribe:

>> v=zeros(1,4)

v =

0 0 0 0

Para generar una vector columna nulo se escribe:

>> vo=zeros(4,1)

vo =

0

0

0

0

22

JUAN CARLOS HERRERA SÁNCHEZ

Matriz transpuesta

Si la matriz [A] se define por:

11

[ ]ij i mj n

A a ≤ ≤≤ ≤

=

Se define la matriz transpuesta como:

11

[ ]T

ij i mj n

A a ≤ ≤≤ ≤

=

[ ]

11 21 1

12 22 2

1 2

m

T m

n n mn

a a a

a a aA

a a a

=

L

L

M M O M

L

Ejemplo:

Si se define [A] por:

[ ]p s t

A u v w

x y z

=

Entonces la transpuesta de [A] es:

[ ]Tp u x

A s v y

t w z

=

23

TIPOS DE MATRICES

Propiedades:

([A]T)T = [A] ([A] ± [B]) T = [A]T ±[B]T

([A][B]) T = [B]T[A]T

([A][B][C]) T = [C]T[B]T[A]T

Ejemplo:

Para obtener la transpuesta de una matriz en MATLAB se usa el comando tranpose(A) o simplemente A’.

Definamos la matriz [A] como:

>> A=[ 2 4 -6 8;4 4 8 0;-5 10 3 2;8 10 12 -6]

A =

2 4 -6 8

4 4 8 0

-5 10 3 2

8 10 12 -6

>> AT=transpose(A)

AT =

2 4 -5 8

4 4 10 10

-6 8 3 12

8 0 2 -6

También se puede dar la instrucción:

>> AT=A’

24

JUAN CARLOS HERRERA SÁNCHEZ

AT =

2 4 -5 8

4 4 10 10

-6 8 3 12

8 0 2 -6

Para comprobar ([A]T)T = [A] , calculamos la transpuesta de [AT]:

>> AT’

ans =

2 4 -6 8

4 4 8 0

-5 10 3 2

8 10 12 -6

Matriz cuadrada

Es una matriz que tiene el número de columnas igual al de filas, m = n. La matriz se dice que es cuadrada de orden n x n.

[ ]

11 12 1

21 22 2

1 2

n

n

ij in

n n nj nn

a a a

a a aA

a a

a a a a

=

L

L

M M

La diagonal principal de una matriz cuadrada son los elementos a

11,a

22, …a

nn. La diagonal secundaria es la formada por los

elementos a1n,a

2,n-1,…,a

n1.

25

TIPOS DE MATRICES

Ejemplo:

[ ]2 6 1

6 4 6

0 6 8

A

= − −

La diagonal principal está formada por 2,4,8 y la diagonal secundaria por 1,4,0.

Traza de una matriz cuadrada: es la sumatoria de los elementos de la diagonal principal.

11 221

( ) ...n

ii nn

i

Tr A a a a a=

= = + + +∑

Ejemplo:

[ ]2 6 0

6 4 6

0 6 8

B

= − −

El valor de Tr(B)= 2+4+8= 14

Propiedades:

1) Tr ([A] ± [B]) = Tr([A]) ± Tr([B]) 2) Tr (λ[A])= λ Tr([A]) , λ: constante3) Tr (λ([A]+[B]))= λ Tr ([A])+λ Tr ([B]) 4) Tr ([A][B])= Tr ([B][A])

La traza se calcula en MATLAB, con el comando trace(A).

26

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo:

>> B=[2 6 8;6 4 -6;0 -6 8]

B =

2 6 8

6 4 -6

0 -6 8

>> tB=trace(B)

tB =

14

Si k=10, entonces tr(k*B)=10*14=140En MATLAB:

>> k=10;

>> trace(k*B)

ans =

140

Matriz diagonal

Si [A] es una matriz cuadrada, en donde 0ija = para i j≠ , entonces se dice que [A] es una matriz diagonal. La diagonal puede contener elementos nulos o no.

[ ]

11

22

0 0 0

0 0 0

0 0 0

0 0 0 nn

a

aA

a

=

O

27

TIPOS DE MATRICES

Matriz identidad

Es una matriz diagonal con todos los elementos de la diagonal principal iguales a 1. También se denomina matriz unidad. Se representa generalmente por [I].

Se puede escribir mediante la ecuación:

1,{0,ij

i ja

i j

==

Matriz escalar

Si [A] es una matriz diagonal, en donde iia λ= para i=1,…,n, entonces se dice que [A] es una matriz escalar. Por ejemplo:

Ejemplos en MATLAB:

Crear la matriz [ ]1 2 3

4 5 6

6 5 4

A

=

[ ]

1 0 0 0

0 1 0 0

0 0 0

0 0 0 1

I

=

O

[ ]0 0

0 0

0 0

A

λλ

λ

=

28

JUAN CARLOS HERRERA SÁNCHEZ

En MATLAB se escribe:

>> A=[1 2 3;4 5 6;6 5 4]

A =

1 2 3

4 5 6

6 5 4

>> [m,n]=size(A)

m =

3

n =

3

La diagonal principal, en forma de vector, se obtiene con el comando diag.

>> d=diag(A)

d =

1

5

4

>> n=length(d)

n =

3

El vector diagonal es de orden n=3

29

TIPOS DE MATRICES

Ejemplo:

Para obtener la traza en MATLAB se usa el comando trace(A)

>> Tra=trace(A)

Tra =

10

Ejemplo:

Para generar una matriz identidad de orden n=5, se usa el comando de MATLAB eye(N)

>> A=eye(5)

A =

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

Calculemos la traza:

>> trace(A)

ans =

5

30

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo:

Para generar una matriz identidad de orden n=4, usamos los comandos ones y diag. Primero se crea un vector mediante la instrucción:

>> V=ones(4,1)

V =

1

1

1

1

Luego generamos la matriz diagonal MI con el vector V

>> MI=diag(V)

MI =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

De manera simplificada, también se puede escribir:

>> MI=diag(ones(4,1))

MI =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

31

TIPOS DE MATRICES

Ejemplo:

Para obtener la matriz [E]=c[I], con el valor c=10, se dan las instrucciones:>> c=10;

>> E=c*eye(5)

E =

10 0 0 0 0

0 10 0 0 0

0 0 10 0 0

0 0 0 10 0

0 0 0 0 10

Otra forma es generar un vector, mediante la instrucción siguiente:

>> V=10*ones(5,1)

V =

10

10

10

10

10

Luego se genera la matriz con el vector anterior:

>> C=diag(V)

C =

10 0 0 0 0

0 10 0 0 0

0 0 10 0 0

0 0 0 10 0

0 0 0 0 10

32

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo:

Para generar una matriz diagonal cuyos elementos van de -3 a 3 se da la instrucción en MATLAB:

>>m=3;

>> diag(-m:m)

ans =

-3 0 0 0 0 0 0

0 -2 0 0 0 0 0

0 0 -1 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 1 0 0

0 0 0 0 0 2 0

0 0 0 0 0 0 3

Ejemplo: verificar en MATLAB [I]=[I]T , [E]=[E]T

>> I=transpose(MI)

I =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

>> ET=transpose(E)

ET =

10 0 0 0 0

0 10 0 0 0

0 0 10 0 0

0 0 0 10 0

0 0 0 0 10

33

TIPOS DE MATRICES

Es una matriz cuadrada [A] en que se cumple aij = a

ji para todo

1 i≤ , j n≤ . Toda matriz simétrica satisface [A]= [A]T

Ejemplo:

Su transpuesta es:

Matriz antisimétrica

Es una matriz cuadrada [A] en que se cumple aij = -a

ji. Toda

matriz antisimétrica satisface [A]=-[A]T. Los elementos de la diagonal principal son ceros.

Ejemplo:

Su transpuesta es:

[ ]2 0

2 4 6

0 6 8

k k

K k k k

k k

− = − − −

[ ]2 0

2 4 6

0 6 8

T

k k

K k k k

k k

− = − − −

[ ]0 2

2 0 6

6 0

k k

Ka k k

k k

= − − −

[ ]0 2

2 0 6

6 0

T

k k

Ka k k

k k

− − = −

Matriz simétrica

34

JUAN CARLOS HERRERA SÁNCHEZ

Se verifica que [A]=-[A]T

Matriz opuesta

La matriz opuesta de una matriz [B] es la que resulta de sustituir cada elemento por su inverso aditivo. La opuesta de [B] es -[B]. Cada elemento de la matriz opuesta es -b

ij

Ejemplo:

[ ]2 6

9 7

7 8

B

− − − = − −

Matrices ortogonales

Dos matrices [A] y [B] son ortogonales entre si cuando se verifica:

[ ] [ ] [ ] [ ] [ ]T TA B B A I= =

Una matriz cuadrada [A]nxn

se dice que es ortogonal cuando multiplicada por su transpuesta da como resultado la matriz identidad:

[ ]0 2

2 0 6

6 0

T

k k

Ka k k

k k

− = − − −

[ ]2 6

9 7

7 8

B

= − −

35

TIPOS DE MATRICES

[ ][ ] [ ] [ ] [ ]T TA A A A I= =

Ejemplo:

Verificar si las matrices

[ ]1 1

1 2

1 2

A

= − −

; [ ]2 1

1 1

0 2

B

− =

son ortogonales.

Calculando primero el producto [A]T[B]:

[ ] [ ]2 1

1 1 11 1

1 2 20 2

TA B

− − = −

[ ] [ ]2(1) 1( 1) 0 2(1) 1( 2) 0 1 0

1(1) 1( 1) 2(1) 1(1) 1( 2) 2(2) 0 1

TA B

+ − + + − + = = − + − + − + − +

Ahora se calcula el producto [B]T[A]:

[ ] [ ]1 1

2 1 01 2

1 1 21 2

TB A

= − − −

[ ] [ ]2(1) 1( 1) 0 2(1) 1( 2) 0 1 0

1(1) 1( 1) 2(1) 1(1) 1( 2) 2(2) 0 1

TB A

+ − + + − + = = − + − + − + − +

36

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo:

Verificar que la siguiente matriz [C] es ortogonal.

La matriz transpuesta es:

por tanto:

[ ][ ] [ ] [ ]1 0

0 1

T TC C C C

= =

Matriz triangular

Matriz Triangular Superior: es una matriz cuadrada que tiene todos los elementos debajo de la diagonal principal nulos.

[ ]

3 1

2 2

1 3

2 2

C

= −

[ ]

3 1

2 2

1 3

2 2

TC

=

[ ][ ]

3 1 3 1

2 2 2 2

1 3 1 3

2 2 2 2

TC C

= −

[ ]

11 12 1

22 20

0 0 0

n

n

ij in

nn

a a a

a aA

a a

a

=

L

L

M M

37

TIPOS DE MATRICES

Ejemplo:

Matriz Triangular Inferior: es una matriz cuadrada que tiene todos los elementos sobre la diagonal principal iguales a cero.

Ejemplo:

[ ]0 0

2 4 0

6 8

k

L k k

k k k

=

Matriz inversa

Una matriz [A] cuadrada de orden n es una matriz invertible, si existe una matriz [B] de orden n, tal que:

[A][B] = [B][A]=[I]

[B] se denomina matriz inversa de [A]. Se usa la notación [B]=[A]-1

[ ]2

0 4 6

0 0 8

k k k

U k k

k

− = −

[ ]

11

21 22

1 2

0 0

0

0ij

n n nj nn

a

a aA

a

a a a a

=

L

L

M M

38

JUAN CARLOS HERRERA SÁNCHEZ

Para una matriz diagonal [D],

[ ]

11

22

0 0 0

0 0 0

0 0 0

0 0 0 nn

d

dD

d

=

O , 0iid ≠ 1, 2,...i n∀ =

su inversa [D]-1 se define por:

[ ]

11

122

1 0 0

10 0

10 0nn

d

dD

d

=

L

L

L L O L

L

Propiedades:

1) ([A]-1)-1 = [A]

2) (c[A]) -1 = [A]-1/c , c≠ 0

3) ([A][B]) -1 = [B]-1[A]-1

4) ([A]T) -1 = ([A]-1)T

Para el producto de varias matrices:

([B1][B

2]…[B

n]) -1 = [B

n ]-1[B

n-1 ]-1[B

n-2 ]-1…[B

1 ]-1

39

TIPOS DE MATRICES

Ejemplo:

[ ]1 2

1 1A

=

[ ] 1 1 2

1 1A

− − = −

Se verifica que:

[ ][ ] 1 1 0

0 1A A

− =

[ ] [ ]1 1 0

0 1A A

− =

Para obtener la inversa de una matriz en MATLAB se usa el comando inv(A)

Ejemplo:

Dada la matriz [A]:

a) Calcular [A]-1

>> A=[2 4 6;4 4 0;6 2 8]

A =

2 4 6

4 4 0

6 2 8

>> AI=inv(A)

40

JUAN CARLOS HERRERA SÁNCHEZ

AI =

-0.2000 0.1250 0.1500

0.2000 0.1250 -0.1500

0.1000 -0.1250 0.0500

Para obtener la inversa de una matriz en MATLAB otra opción es dar el comando se usa el comando A^(-1)

>> A^(-1)

ans =

-0.2000 0.1250 0.1500

0.2000 0.1250 -0.1500

0.1000 -0.1250 0.0500

b) Verificar con MATLAB ([A]-1)-1 = [A]

>> (inv(A))^(-1)

ans =

2.0000 4.0000 6.0000

4.0000 4.0000 0

6.0000 2.0000 8.0000

b) Verificar con MATLAB que ([A]T) -1 = ([A]-1)T

>> A1=inv(transpose(A))

A1 =

-0.2000 0.2000 0.1000

0.1250 0.1250 -0.1250

0.1500 -0.1500 0.0500

>> A2=transpose(inv(A))

41

TIPOS DE MATRICES

A2 =

-0.2000 0.2000 0.1000

0.1250 0.1250 -0.1250

0.1500 -0.1500 0.0500

1.4 Referencias bibliográficas

Etter, Delores M. Solución de problemas de ingeniería con MATLAB. México, D.F.: McGraw-Hill Interamericana, 1998.

Hsieh, Y. Teoría elemental de estructuras. Prentice Hall Hispanoamericana, México, D.F., 1970.

Kiusalaas, J. Numerical Methods in Engineering with MATLAB. Cambridge University Press, 2009.

Kolman, B. Algebra lineal con aplicaciones y Matlab. Prentice Hall Hispanoamericana, México, D.F., 1999.

Laub, A. Matrix Analysis for Scientists and Engineers. SIAM: Society for Industrial and Applied Mathematics. Philadelphia, 2004.

Mathews J, Fink, K. Métodos numéricos con MATLAB, Madrid, Prentice Hall, 2000.

Uribe, J. Microcomputadores en ingeniería estructural. Ecoe Ediciones, Colombia, 1995.

Yang, W. Y et. Al. Applied Numerical Methods Using MATLAB. Wiley-Interscience, 2005.

1.5 Problemas

1) Calcular la traza de [B]

[ ]1 6 0

6 3 6

0 6 8

B

= − − −

42

JUAN CARLOS HERRERA SÁNCHEZ

2) Usando la matriz anterior calcule tr(k[B]), con k=3.

3) Dada la matriz [K], determine [K]T

[ ]2 6

4 6

4 6 8

k k k

K k k k

k k k

− = − − −

4) Verificar si la siguiente matriz [C] es ortogonal.

5) Calcular la inversa de la matriz

[ ]0 0

0 4 0

0 0 8

k

D k

k

=

[ ]

3 1

2 2

1 3

2 2

C

=

43

Capítulo 2

Operaciones con matrices

2.1 Producto de un número real por una matriz

Dada una matriz [A] para evaluar el producto β[A], donde β es un escalar, se multiplica cada elemento a

ij por β .

Entonces,

Propiedades:

1)( β+ λ )[A]= β[A]+ λ[A]

2) λ([A]+[B])= λ[A]+ λ[B]

3) λ(β [A])= (λβ)[A]

β, λ: constantes

Ejemplo:

Dadas [A] y [B] , β=2, λ=1.5, calcular β[A] + λ[B]

11 12 1

21 22 2

2

[ ]

n

n

ij in

mn m mj mn

a a a

a a aA

a a

a a a a

=

L

L

M M

11 12 1

21 22 2

2

[ ]

n

n

ij in

mn m mj mn

a a a

a a aA

a a

a a a a

β β ββ β β

ββ β

β β β β

=

L

L

M M

44

JUAN CARLOS HERRERA SÁNCHEZ

2.2 Suma de matrices

La adición de matrices o suma de matrices entre la matriz [A]mxn

y la matriz [B]

rxs se puede realizar sólo cuando ambas matrices

tienen la misma dimensión, es decir m=r y n=s.

El resultado de la adición de dos matrices es otra matriz [S]mxn

de la misma dimensión, cuyo elemento s

ij=(a

ij + b

ij)

Dadas las matrices,

[ ] 11 12

21 22

a aA

a a

=

[ ] 11 12

21 22

b bB

b b

=

1 5

[ ] 3 4

1 0

A

= −

[ ]2 3

2 7

0 4

B

=

2 10 3 4.5

[ ] [ ] 6 8 3 10.5

2 0 0 6

A Bβ λ + = + −

6 14.5

[ ] [ ] 9 18.5

2 6

A Bβ λ + = −

45

OPERACIONES CON MATRICES

La suma de [A]+[B] es:

[ ] 11 11 12 12

21 21 22 22

a b a bS

a b a b

+ + = + +

Análogamente, la resta se expresa:

[ ] [ ] [ ]D A B= −

[ ] 11 11 12 12

21 21 22 22

a b a bD

a b a b

− − = − −

Cualquier matriz cuadrada se puede expresar como la suma de una matriz simétrica y de una antisimétrica. Si [C] es una matriz cuadrada, entonces:

[ ] [ ] [ ] [ ] [ ]

2 2

T TC C C CC

+ −= +

En la expresión anterior, el primer término es una matriz simétrica y el segundo una matriz antisimétrica. Dado que:

[ ] [ ]

2 2

Tjk kjc cC C + +

=

[ ] [ ]

2 2

Tjk kjc cC C − −

=

En las expresiones anteriores, el intercambio de j y k no genera cambio en la primera ecuación, pero si cambia el signo de la segunda ecuación. Por ejemplo, si

46

JUAN CARLOS HERRERA SÁNCHEZ

de modo que,

y

Ejemplo:

Dada [C] verificar las expresiones anteriores.

[ ]2 7

4 6C

=

[ ]2 4

7 6

TC

=

[ ] 11 12

21 22

c cC

c c

=

[ ] 11 21

12 22

T c cC

c c

=

12 2111

21 1222

[ ] [ ] 22

2

T

c cc

C C

c cc

+ +

= +

12 21

21 12

0[ ] [ ] 2

20

2

T

c c

C C

c c

− −

= −

7 42

[ ] [ ] 24 72

62

TC C

+ +

= +

47

OPERACIONES CON MATRICES

Por tanto,

Ejemplo:

Dada [C] verificar las expresiones anteriores en MATLAB.

>> C=[2 7;4 6]

C =

2 7

4 6

>> CT=C’

CT =

2 4

7 6

>> C1=(C+CT)./2

C1 =

2.0000 5.5000

5.5000 6.0000

7 40

[ ] [ ] 24 72

02

TC C

− −

= −

2 5.5 0 1.5[ ] [ ] [ ] [ ]

5.5 6 1.5 02 2

2 7[ ] [ ] [ ] [ ]

4 62 2

T T

T T

C C C C

C C C C

+ −+ = + −

+ −+ =

48

JUAN CARLOS HERRERA SÁNCHEZ

>> C2=(C-CT)./2

C2 =

0 1.5000

-1.5000 0

>> C1+C2

ans =

2 7

4 6

Ejemplo:

a) Calcular [A] + [B]

1 5

[ ] 3 4

1 0

A

= −

[ ]2 3

2 7

0 4

B

=

1 2 5 3

[ ] [ ] 3 2 4 7

1 0 0 4

A B

+ + + = + + − + +

3 8

[ ] [ ] 5 11

1 4

A B

+ = −

49

OPERACIONES CON MATRICES

b) Calcular [A] - [B]

1 2 5 3

[ ] [ ] 3 2 4 7

1 0 0 4

A B

− − − = − − − − −

1 2

[ ] [ ] 1 3

1 4

A B

− − = − − −

Propiedades:

1) [A]+([B]+[C]) = ([A]+[B])+[C]

2) [A]+[B] = [B]+[A]

3) [0]+[A] = [A]+[0]= [A]

4) [A] + (-[A]) = (-[A]) + [A] = [0]

5) c(k[A])=(ck)[A]

6) k([A] + [B]) = k[A] + k[B]

7) (c + k)[A] = c[A] + k[A]

Ejemplos en MATLAB:

>> A=[2 6 8;6 4 -6;0 -6 8]

A =

2 6 8

6 4 -6

0 -6 8

>> B=[1 4 8;5 4 -5;0 -6 9]

50

JUAN CARLOS HERRERA SÁNCHEZ

B =

1 4 8

5 4 -5

0 -6 9

a) Cálculo de [A] + [B]

>> A+B

ans =

3 10 16

11 8 -11

0 -12 17

b) Cálculo de [B] + [A]

>> B+A

ans =

3 10 16

11 8 -11

0 -12 17

c) Cálculo de [A] - [B]

>> A-B

ans =

1 2 0

1 0 -1

0 0 -1

>> k=10

k =

10

51

OPERACIONES CON MATRICES

d) Cálculo de k([A] + [B])

>> k*(A+B)

ans =

30 100 160

110 80 -110

0 -120 170

e) Cálculo de k([B] + [A])

>> k*(B+A)

ans =

30 100 160

110 80 -110

0 -120 170

>> c=5

c =

5

f) Cálculo de (c + k)[A]

>> (c+k)*A

ans =

30 90 120

90 60 -90

0 -90 120

>> c*A

52

JUAN CARLOS HERRERA SÁNCHEZ

ans =

10 30 40

30 20 -30

0 -30 40

>> k*A

ans =

20 60 80

60 40 -60

0 -60 80

>> c*A+k*A

ans =

30 90 120

90 60 -90

0 -90 120

2.3 Multiplicación de matrices

Antes de definir la multiplicación de matrices, considérese el producto interno de dos vectores de tamaño n.

El vector fila [p] tiene n elementos:

[ ] [ ]1 2 np p p p= L

El vector columna [c] tiene n elementos:

[ ]

1

2

n

c

cc

c

=

M

53

OPERACIONES CON MATRICES

El producto interno [p][c] se define

Dada una matriz [A] de dimensión (m x n) y una matriz [B] de dimensión (nxr), la multiplicación queda definida por:

[ ] [ ][ ]mxn nxr mxrA B C=

donde el elemento cij esta dado por:

Es decir, cada fila de [A] se multiplica por cada columna de [B]. El número de columnas de [A] debe ser igual al número de filas de [B].

La multiplicación esta dada por:

[ ]11 12 13 11 12

21 22 23 21 223 2

31 32 33 31 32

x

a a a b b

C a a a b b

a a a b b

=

[ ]11 11 12 21 13 31 11 12 12 22 13 32

21 11 22 21 23 31 21 12 22 22 23 323 2

31 11 32 21 33 31 31 12 32 22 33 32

( ) ( )

( ) ( )

( ) ( )x

a b a b a b a b a b a b

C a b a b a b a b a b a b

a b a b a b a b a b a b

+ + + + = + + + + + + + +

[ ][ ] 1 1 2 21

n

i i i i

i

p c p c p c p c p c=

= = + + +∑ L

1 1 2 21

n

ij ik kj i j i j in nj

k

c a b a b a b a b=

= = + + +∑ L

[ ]11 12 13

21 22 23

31 32 33

a a a

A a a a

a a a

=

[ ]11 12

21 22

31 32

b b

B b b

b b

=

54

JUAN CARLOS HERRERA SÁNCHEZ

Cada elemento cij es el producto interno de la i-ésima fila de [A]

con la j-ésima columna de [B]. Por ejemplo, el elemento c31 es:

[ ]11

31 31 32 33 21

31

b

c a a a b

b

=

31 31 11 32 21 33 31c a b a b a b= + +

Ejemplo: dadas [A] y [B], calcular [A][B].

1 5

[ ] 3 4

1 0

A

= −

[ ]2 3

4 7B

=

1(2) 5(4) 1(3) 5(7)

[ ][ ] 3(2) 4(4) 3(3) 4(7)

1(2) 0(4) 1(3) 0(7)

A B

+ + = + + − + − +

22 38

[ ][ ] 22 37

2 3

A B

= − −

55

OPERACIONES CON MATRICES

Ejemplo:

Verificar ([A][B])T = [B]T[A]T

( )22 22 2

[ ][ ]38 37 3

TA B

− = −

[ ] [ ]2 4 1 3 1

3 7 5 4 0

T TB A

− =

[ ] [ ]22 22 2

38 37 3

T TB A

− = −

Propiedades:

1) ([A][B])[C] = [A]([B][C])

2) [A]([B]+[C]) = [A][B]+ [A][C]

3) λ[A]([B]+[C]) = λ[A][B]+ λ[A][C]

4) [A][B] ≠ [B][A]

5) [A][I] = [I][A] = [A]

6) [A][0] = [0][A]= [0]

Ejemplos en MATLAB:

>> A=[2 6 8;6 4 -6;0 -6 8]

A =

2 6 8

6 4 -6

0 -6 8

56

JUAN CARLOS HERRERA SÁNCHEZ

>> B=[1 4 8;5 4 -5;0 -6 9]

B =

1 4 8

5 4 -5

0 -6 9

>> C=[2 3 5;3 8 6;1 -2 5]

C =

2 3 5

3 8 6

1 -2 5

a) Cálculo con MATLAB de [A][B]

>> A*B

ans =

32 -16 58

26 76 -26

-30 -72 102

b) Cálculo con MATLAB de [B][A]

>> B*A

ans =

26 -26 48

34 76 -24

-36 -78 108

c) Verificación con MATLAB de [A]([B]+[C])= [A][B]+ [A][C]

>> A*(B+C)

57

OPERACIONES CON MATRICES

ans =

62 22 144

44 138 -2

-40 -136 106

>> A*B+A*C

ans =

62 22 144

44 138 -2

-40 -136 106

d) Verificación con MATLAB de ([A][B])T = [B]T[A]T

>> transpose(A*B)

ans =

32 26 -30

-16 76 -72

58 -26 102

>> (B’)*(A’)

ans =

32 26 -30

-16 76 -72

58 -26 102

d) Verificación con MATLAB de ([A][B])-1 = [B]-1[A]-1

>> inv(A*B)

58

JUAN CARLOS HERRERA SÁNCHEZ

ans =

0.0243 -0.0105 -0.0165

-0.0077 0.0207 0.0097

0.0017 0.0115 0.0118

>> inv(B)*inv(A)

ans =

0.0243 -0.0105 -0.0165

-0.0077 0.0207 0.0097

0.0017 0.0115 0.0118

2.4 Partición de matrices

En muchas aplicaciones, es conveniente subdividir una matriz en sub-matrices para reducir cálculos. Para una matriz [A] la subdivisión o partición de matrices se puede realizar de muchas formas.

Donde:

11 1211

21 22

a aA

a a

=

31 3221

41 42

a aA

a a

=

11 12 13 14

21 22 23 24 11 12

31 32 33 34 21 22

41 42 43 44

a a a a

a a a a A AA

a a a a A A

a a a a

= =

59

OPERACIONES CON MATRICES

También la matriz [A] se puede particionar:

Donde ahora:

13 1412

23 24

a aA

a a

=

33 3422

43 44

a aA

a a

=

[ ]

11 12 13 14

21 22 23 2411 12 13 14

31 32 33 34

41 42 43 44

a a a a

a a a aA A A A A

a a a a

a a a a

= =

11

2111

31

41

a

aA

a

a

=

12

2212

32

42

a

aA

a

a

=

13

2313

33

43

a

aA

a

a

=

14

2414

34

44

a

aA

a

a

=

El producto de dos matrices [A] y [B] también se puede expresar como el producto de sub-matrices. Dada la matriz [A], se puede subdividir de la forma siguiente:

60

JUAN CARLOS HERRERA SÁNCHEZ

donde:

11 1211

21 22

a aA

a a

=

13

1223

aA

a

=

[ ]21 31 32A a a= [ ]22 33A a=

La matriz [B] se puede particionar de la forma:

donde:

11 1211

21 22

b bB

b b

=

[ ]21 31 32B b b=

De tal manera que el producto [A][B] queda:

[ ][ ] 11 11 12 21

21 11 22 21

A B A BA B

A B A B

+ = +

[ ]11 12 13

11 1221 22 23

21 2231 32 33

a a aA A

A a a aA A

a a a

= =

[ ]11 12

1121 22

2131 32

b bB

B b bB

b b

= =

61

OPERACIONES CON MATRICES

Ejemplo: dadas [A] y [B] calcular [A][B]

La matriz [A] se puede particionar de la forma:

11

2 5

6 7A

= −

12

6

1A

=

[ ]21 3 4A = [ ]22 2A =

La matriz [B] se puede particionar de la forma:

[ ] 11

21

BB

B

=

donde:

11

1 3

2 6B

− =

[ ]21 0 4B =

11 11

2 5 1 3 8 36

6 7 2 6 20 24A B

− = = −

[ ]12 21

6 0 240 4

1 0 4A B

= =

[ ] [ ]21 11

1 33 4 5 33

2 6A B

− = =

[ ]2 5 6

6 7 1

3 4 2

A

= −

[ ]1 3

2 6

0 4

B

− =

62

JUAN CARLOS HERRERA SÁNCHEZ

[ ][ ] [ ]22 21 2 0 4 0 8A B = =

Reemplazando los anteriores valores se obtiene finalmente:

Ejemplo:

Resolver el problema anterior con MATLAB

>> A=[2 5 6;-6 7 1;3 4 2]

A =

2 5 6

-6 7 1

3 4 2

>> B=[-1 3;2 6;0 4]

B =

-1 3

2 6

0 4

>> A11=A(1:2,1:2);

>> A12=A(1:2,3);

>> A21=A(3,1:2);

>> A22=A(3,3);

[ ][ ] 11 11 12 21

21 11 22 21

8 60

20 28

5 41

A B A BA B

A B A B

+

= = +

63

OPERACIONES CON MATRICES

>> B11=B(1:2,:);

>> B21=B(3,:);

>> AB=[A11*B11+A12*B21 ; A21*B11+A22*B21]

AB =

8 60

20 28

5 41

2.5 Referencias bibliográficas

Etter, Delores M. Solución de problemas de ingeniería con MATLAB. México, D.F.: McGraw-Hill Interamericana, c1998.

Kiusalaas, J. Numerical Methods in Engineering with MATLAB. Cambridge University Press, 2009.

Kolman, B. Algebra lineal con aplicaciones y Matlab. Prentice Hall Hispanoamericana, México, D.F., 1999.

Laub, A. Matrix Analysis for Scientists and Engineers. SIAM: Society for Industrial and Applied Mathematics. Philadelphia, 2004.

Mathews J, Fink, K. Métodos numéricos con MATLAB, Madrid, Prentice Hall, 2000.

Hsieh, Y. Teoría elemental de estructuras. México, D.F.: Prentice Hall Hispanoamericana, 1970.

Uribe, J. Microcomputadores en ingeniería estructural. Ecoe Ediciones, Colombia, 1995.

Yang, W. Y et. Al. Applied Numerical Methods Using MATLAB. Wiley-Interscience, 2005.

2.6 Problemas

1) Dadas las matrices [A] y [B] calcular:

64

JUAN CARLOS HERRERA SÁNCHEZ

a) [A]+[B] b) 2[A] + 3[B] c) 4[A] – 3[B]

2) Dadas las matrices [A] y [B] calcular:

a) [B]–[A] b) 4[A] – 3[B] c) 5([A]+[B])

3) Dadas las matrices [B] y [C] calcular:

a) [B][C] b) [B][C]T c) [C][B]T

d) [C][B]T [C]

4) Dadas [A] y [B] calcular [A][B], usando partición de matrices.

[ ]1 2

3 4

1 0

A

= −

[ ]1 3

2 6

0 4

B

− =

[ ]2 5 6

6 7 1

3 4 2

A

= −

[ ]5 2 7

3 4 8

2 9 7

B

− = − − − −

[ ]5 1 7

3 4 8

2 9 7

B

= − − − −

[ ]2 5 0

6 7 1

3 4 2

C

=

[ ]1 5 4

6 5 1

3 4 2

A

= −

[ ]1 4

2 6

0 2

B

=

65

Capítulo 3

Determinantes e inversión de matrices

3.1 Determinante de una matriz

Si [A] es una matriz cuadrada de orden n, el determinante de

[A] se denota por y se define como el escalar o polinomio que

resulta de obtener todos los productos posibles de una matriz

de acuerdo a una serie de restricciones. El determinante de una

matriz de orden 2, de define como:

11 1211 22 12 21

21 22

a aA a a a a

a a= = −

Para definir el determinante de una matriz de orden mayor que 2 es necesario introducir algunos conceptos. Dada una matriz cuadrada [A] de orden n, definimos el menor, M

ij como el determinante de

la submatriz de orden (n-1) × (n-1) que se obtiene eliminando la i-esima fila y la j-esima columna de la matriz [A] de orden n.

El cofactor ijA asociado al menor Mij en una matriz [A] se define

como:

( 1)i j

ij ijA M+= −

Por ejemplo:

11 12 13

21 22 23

31 32 33

[ ]

a a a

A a a a

a a a

=

A

66

JUAN CARLOS HERRERA SÁNCHEZ

El menor M21 se obtiene eliminando fila 2 y la columna 1 de [A]:

12 1321

32 33

a aM

a a

=

por tanto,

( )

( )

12 13( )

32 33

12 13(2 1)21

32 33

21 12 33 13 32

21 13 32 12 33

( 1)

( 1)

( 1)

i j

ij

a aA

a a

a aA

a a

A a a a a

A a a a a

+

+

= −

= −

= − −

= −

Ejemplo: El menor M

11 de la siguiente matriz se obtiene al calcular el

determinante de la matriz resultante de eliminar la fila 1 y la columna 1.

[ ]2 5 6

6 7 1

3 4 2

A

= −

21

21

7 114 4

4 2

10

M

M

= = −

=

67

DETERMINANTES E INVERSIÓN DE MATRICES

El cofactor asociado se calcula como:

1 111 11

211

( 1)

( 1) (10) 10

A M

A

+= −

= − =

3.2 Expansión de Laplace

Dada una matriz cuadrada [A] de orden n se define su determinante como la suma del producto de los elementos de una fila (o columna) cualquiera de la matriz, por sus correspondientes cofactores. De acuerdo a la expansión de Laplace, el determinante de una matriz [A] cuadrada de orden n, está definido por:

1

n

ik ik

k

A a A=

= ∑ , i=1…nó

1

n

kj kj

k

A a A=

= ∑ , j=1…n

Para la matriz [A] si se selecciona la columna j=2, entonces:

21 21 11 13 11 131 2 2 2 3 212 22 32

31 33 31 33 21 23

( 1) ( 1) ( 1)a a a a a a

A a a aa a a a a a

+ + += − + − + −

Para la expansión por cofactores, se cumple que la suma de los productos de cualquier elemento a

ij de una fila (o columna) de una

matriz [A], multiplicado por el cofactor de otra fila (o columna) de [A] es cero. Esto es:

11 12 13 3

21 22 23 2 21

31 32 33

k k

k

a a a

A a a a a A

a a a=

= =∑

68

JUAN CARLOS HERRERA SÁNCHEZ

1

0n

ik jk

k

a A=

=∑ , i j≠

1

0n

kj ki

k

a A=

=∑ , j i≠

Se define la matriz cofactor [ ]A como:

Ejemplo:

Calcular la matriz cofactor [ ]A dada la siguiente matriz:

Solución.

Procedemos a calcular los valores de los cofactores ijA

(1 2) (3)12 12

1 7( 1) ( 1) 4

0 4A M+= − = − = −

(1 3) (4)13 13

1 1( 1) ( 1) 3

0 3A M+= − = − = −

11 12 1

21 22 2

1 2

n

n

ij in

n n nj nn

A A A

A A AA

A A

A A A A

=

L

L

M M

[ ]1 5 2

1 1 7

0 3 4

A

= −

(1 1) (2)11 11

1 7( 1) ( 1) 25

3 4A M+= − = − =

69

DETERMINANTES E INVERSIÓN DE MATRICES

Reemplazando en la ecuación para [ ]A :

Ejemplo: Calcular el determinante usando la expansión de Laplace de la matriz [A] que se da a continuación:

(2 1) (3)21 21

(2 2) (4)22 22

(2 3) (5)23 22

5 2( 1) ( 1) 26

3 4

1 2( 1) ( 1) 4

0 4

1 5( 1) ( 1) 3

0 3

A M

A M

A M

+

+

+

= − = − = −−

= − = − =

= − = − =−

(3 1) (4)31 31

(3 2) (5)32 32

(3 3) (6)33 32

5 2( 1) ( 1) 33

1 7

1 2( 1) ( 1) 5

1 7

1 5( 1) ( 1) 4

1 1

A M

A M

A M

+

+

+

= − = − =

= − = − = −

= − = − = −

25 4 3

26 4 3

33 5 4

A

− − = − − −

[ ]2 4 11

1 3 16

2 0 21

A

− = − −

70

JUAN CARLOS HERRERA SÁNCHEZ

Solución.

Si se selecciona la 2ª columna, entonces j=2.

3

2 2 12 12 22 22 32 321

k k

k

A a A a A a A a A=

= = + +∑

Si se selecciona la 1ª columna, ahora j=1.

3

1 1 11 11 21 21 31 311

k k

k

A a A a A a A a A=

= = + +∑

( ) ( ) ( )

(1 1) (2 1) (3 1)3 16 4 11 4 112( 1) 1( 1) 2( 1)

0 21 0 21 3 16

2 63 84 2 64 33 148

A

A

+ + +− − −= − − − + −

= + + − + =

Verificación de cálculo en MATLAB:

>> A=[2 4 -11;-1 3 -16;2 0 21]

( ) ( )

(1 2) (2 2)

2 4 111 16 2 11

1 3 16 4( 1) 3( 1) 02 21 2 21

2 0 21

2 4 11

1 3 16 4 21 32 3 42 22 148

2 0 21

A

A

+ +

−− − −

= − − = − + − +

= − − = − − + + + =

71

DETERMINANTES E INVERSIÓN DE MATRICES

A =

2 4 -11

-1 3 -16

2 0 21

>> det(A)

ans =

148

Propiedades.

1) Si todos los elementos de una fila (o una columna) de una matriz cuadrada [A] son cero, entonces:

0A =

Por ejemplo, si la columna j=2, es cero:

Ejemplo:

11 13 1

21 23 1

1 3

0

00

0

n

n

n n nn

a a a

a a aA

a a a

= =

K

K

K K K K K

K

[ ]0 4 3

0 3 1

0 5 6

A

=

72

JUAN CARLOS HERRERA SÁNCHEZ

Expandiendo la primera fila:

2) Si la fila i o la columna j de [A] se multiplican por una constante

λ, entonces el nuevo determinante es Aλ .

Ejemplo:

1 2 1 30 1 0 30 4( 1) 3( 1) 0

0 6 0 5A + += + − + − =

(1 2) (2 2)

2 4 1116 2 11

3 16 4( 1) 3( 1) 02 21 2 21

2 0 21

2 4 11

3 16 4 ( 21 32) 3 (42 22) (192 44)

2 0 21

B

B

λλ λ

λλ λ

λ

λλ λ λ λλ

+ +

−− − −

= − − = − + − +

= − − = − − + + + = −

148B λ=

Ejemplo de cálculo en MATLAB: para el caso anterior usar

2λ =

>> A=[2 4 -11;-1 3 -16;2 0 21]

A =

2 4 -11

-1 3 -16

2 0 21

>> lambda=2;

73

DETERMINANTES E INVERSIÓN DE MATRICES

>> A(:,1)=lambda*A(:,1)

A =

4 4 -11

-2 3 -16

4 0 21

>> det(A)

ans =

296

3) Si dos filas (o columnas) de una matriz se intercambian, el determinante de la matriz cambia de signo.

Ejemplo:

Para la matriz [A] intercambiar la primera y segunda columna.

, 148A =

la nueva matriz es:

[ ]2 4 11

1 3 16

2 0 21

A

− = − −

[ ]4 2 11

3 1 16

0 2 21

A

− = − −

( ) ( )

(1 1) (2 1)1 16 2 114( 1) 3( 1) 0

2 21 2 21

4 21 32 3 42 22 148

A

A

+ +− − −= − + − +

= − + − + = −

74

JUAN CARLOS HERRERA SÁNCHEZ

4) Si dos filas (o columnas) de una matriz [A] son iguales, entonces

0A =

Ejemplo:

2(6) 2(6) 0A = − + =

4) Si una fila (o columna) de una matriz [A] es múltiplo de otra,

entonces 0A =

Ejemplo:

Para la matriz dada [A], la tercera fila

[ ]

(1 2) (2 2)

2 2 2

2 2 2

3 0 6

2 2 2 22( 1) 2( 1) 0

3 6 3 6

A

A + +

=

= − + − +

[ ]

(2 1) (2 2)

2 6 3

2 1 0

4 12 6

6 3 2 32( 1) 1( 1)

12 6 4 6

2(0) 1(0) 0

A

A

A

+ +

=

= − + −

= − + =

75

DETERMINANTES E INVERSIÓN DE MATRICES

5) El determinante de la transpuesta de una matriz [A] es igual

al determinante de la matriz. ( TA A= )

Ejemplo:

[ ]

(1 3) (3 3)

2 2 3

2 2 0

2 2 6

2 2 2 23( 1) 0 6( 1)

2 2 2 2

T

T

A

A + +

=

= − + + −

0TA =

Ejemplo de cálculo en MATLAB:

>> A=[2 4 3;2 2 0 ;2 2 6]

A =

2 4 3

2 2 0

2 2 6

>> det(A)

ans =

-24

>> det(transpose(A))

ans =

-24

76

JUAN CARLOS HERRERA SÁNCHEZ

6) El determinante del producto de dos matrices [A] y [B] es igual

al producto de sus determinantes. ( AB A B B A= = )

Ejemplo:

[ ]2 5

6 7

14 30 44

A

A

= − = + =

[ ]1 3

2 6

6 6 12

B

B

− =

= − − = −

[ ][ ]8 36

20 24

192 720 528

A B

AB

=

= − = −

44( 12) 528A B = − = −

Ejemplo de cálculo en MATLAB:

>> A=[2 4;6 8];

>> B=[-2 5;0 7];

>> det(A)*det(B)

77

DETERMINANTES E INVERSIÓN DE MATRICES

ans =

112

>> det(A*B)

ans =

112

>> det(B*A)

ans =

112

3.3 Determinante por condensación pivotal

En este método se deben convertir a cero todos los elementos de una fila (o columna), excepto uno mediante transformaciones elementales de filas y columnas.

La transformación elemental de una fila se representara por:

j j iF F F→ +

lo cual representa “la fila j se reemplaza por la fila j mas la fila i”

La fórmula para hacer ceros una columna es:

* jp

j j p

op

aF F F

a= −

Fj es la fila original, a

op es el pivote y F

p la fila donde se ubica el

pivote

78

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo:

Calcule por condensación pivotal el determinante de [B]:

En este caso el pivote será el elemento b12, por facilidad.

Paso 1:

2 2 22 1

2 2 12

F F b F

F F F

→ −

→ +

Los elementos de la fila 2 quedan:

b21=1+2(2)=5

b22=-2+2(1)=0

b23=4+2(0)=4

b24=5+2(-3)=-1

Ahora, se reduce a cero el elemento b42, mediante la

transformación:

4 4 42 1

4 4 12

F F a F

F F F

→ −

→ −

2 1 0 3

1 2 4 5

3 0 1 4

3 2 4 1

B

−=

2 1 0 3

5 0 4 1

3 0 1 4

3 2 4 1

B

−=

79

DETERMINANTES E INVERSIÓN DE MATRICES

Efectuando la expansión de la segunda columna, se obtiene:

3.4 Inversión usando la matriz adjunta

Se define la matriz adjunta como la transpuesta de la matriz

cofactor

2 1 0 3

5 0 4 1

3 0 1 4

6 0 3 7

A

−=

( )

1 2

5 4 1

( 1) 3 1 4

6 3 7

35 96 6 60 84 220

A

A

+

= −

= − − − − − =

( )

11 21 1

12 22 2

1 2

[ ]

n

T n

ni

n n jn nn

A A A

A A AAdj A A

A

A A A A

= =

L

L

M M O

La matriz inversa [A]-1 se puede calcular usando cofactores mediante:

A

80

JUAN CARLOS HERRERA SÁNCHEZ

[ ] ( )

[ ]

1

11 21 1

12 22 2

1 1 2

[ ]T

n

n

ni

n n jn nn

AAdj AA

A A

A A A

A A A

A

A A A AA

A

= =

=

L

L

M M O

Ejemplo:

Calcular la inversa de la siguiente matriz:

Primero calculemos el determinante, usando expansión por cofactores:

3

1 1 11 11 21 21 31 311

k k

k

A a A a A a A a A=

= = + +∑

[ ]1 5 2

1 1 7

0 3 4

A

= −

3

1 11

3

1 11

1 7 5 2 1 1 0

3 4 3 4

1(25) 1(26) 1

k k

k

k k

k

A a A

A a A

=

=

= = − +− −

= = − = −

81

DETERMINANTES E INVERSIÓN DE MATRICES

La matriz A se calculó en el ejemplo pasado:

( )

25 4 3

26 4 3

33 5 4

25 4 3

[ ] 26 4 3

33 5 4

T

T

A

Adj A A

− − = − − −

− − = = − − −

( )25 26 33

[ ] 4 4 5

3 3 4

T

Adj A A

− = = − − − −

Usando la ecuación:

[ ] 1

25 26 33

4 4 5

3 3 4

A−

− − = − −

[ ] ( )

[ ]

1

1

[ ]

25 26 33

4 4 5

3 3 4

1

T

AAdj AA

A A

A

= =

− − − − − =

82

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo: repetir el cálculo usando MATLAB >> A=[1 5 2;1 1 7;0 -3 4]

A =

1 5 2

1 1 7

0 -3 4

a) Cálculo de A

>> det(A)

ans =

-1

b) Cálculo de [ ] 1A

>> inv(A)

ans =

-25 26 -33

4 -4 5

3 -3 4

3.5 Método de Gauss-Jordan

El Método de Gauss-Jordan se basa en operaciones fundamentales en filas de matrices. Las operaciones son:

1. Multiplicación de una fila (columna) por un escalar distinto de cero.

2. Intercambio de dos renglones (o columnas).

83

DETERMINANTES E INVERSIÓN DE MATRICES

3. Reemplazo de la fila j por la suma de la fila j más λ veces la fila k donde λ es cualquier escalar

El procedimiento general es partir de una matriz ampliada [ ]A I y mediante operaciones fundamentales, obtener la inversa:

[ ] 1A I I A− ⇒

Se deben efectuar los pasos siguientes para k=1,…,n (n: orden de la matriz [A])

i) Dividir la fila k por ak,k .

ii) Hacer ceros sobre la columna k mediante operaciones fundamentales.

Ejemplo:

El primer paso es obtener la matriz aumentada:

El primer pivote será el elemento a11=-4

[ ]4 7 8

10 6 8

5 7 6

A

− = − − −

[ ]4 7 8 1 0 0

10 6 8 0 1 0

5 7 6 0 0 1

A I

− = − − −

1 111

1 1

1

1

4

F Fa

F F

→ −

84

JUAN CARLOS HERRERA SÁNCHEZ

La siguiente operación fundamental es:

( )( )

2 2 1 21

2 2 1 10

F F F a

F F F

→ −

→ −

[ ]

7 11 2 0 0

4 410 6 8 0 1 0

5 7 6 0 0 1

A

− − −

= − − −

[ ]

7 11 2 0 0

4 423 5

0 12 1 02 2

5 7 6 0 0 1

A

− − − = −

La operación el la fila 3 es:

( )( )

3 3 1 31

3 3 1 5

F F F a

F F F

→ −

→ − −

[ ]

7 11 2 0 0

4 423 5

0 12 1 02 27 5

0 4 0 14 4

A

− − − = − − −

85

DETERMINANTES E INVERSIÓN DE MATRICES

Ahora el pivote es el elemento a22=

23

2

[ ]

7 11 2 0 0

4 424 5 2

0 1 023 23 23

7 50 4 0 1

4 4

A

− − − = − − −

Ahora se debe hacer cero el elemento a12

( )1 1 2 12

1 1 2

7

4

F F F a

F F F

→ −

− → −

[ ]

4 3 71 0 0

23 23 4624 5 2

0 1 023 23 23

7 50 4 0 1

4 4

A

− = − − −

2 222

2 2

1

2

23

F Fa

F F

86

JUAN CARLOS HERRERA SÁNCHEZ

Procedemos a hacer cero el elemento a32

[ ]

4 3 71 0 0

23 23 4624 5 2

0 1 023 23 2350 20 7

0 0 123 23 46

A

− = −

Ahora el pivote es el elemento a33=

50

23

( )3 3 2 32

3 3 2

7

4

F F F a

F F F

→ −

− → −

[ ]

4 3 71 0 0

23 23 4624 5 2

0 1 023 23 23

2 230 0 1 7 /100

5 50

A

− = − −

3 333

3 3

1

23

50

F Fa

F F

87

DETERMINANTES E INVERSIÓN DE MATRICES

Ahora se debe hacer cero el elemento a13

[ ]

1 7 21 0 0

5 50 2524 5 2

0 1 023 23 23

2 7 230 0 1

5 100 50

A

− = − −

Ahora se debe hacer cero el elemento a23

1

1 7 21 0 0

5 50 251 4 12

0 1 05 25 252 7 23

0 0 15 100 50

I A−

− = − −

( )1 1 3 13

1 1 3

4

23

F F F a

F F F

→ −

− → −

( )2 2 3 23

2 2 3

24

23

F F F a

F F F

→ −

→ −

88

JUAN CARLOS HERRERA SÁNCHEZ

Por tanto,

Finalmente se puede comprobar:

1 7 2

5 50 254 7 8 1 0 01 4 12

10 6 4 0 1 05 25 25

5 7 6 0 0 12 7 23

5 100 50

− − − − =

− − −

[ ] 1

1 7 2

5 50 251 4 12

5 25 252 7 23

5 100 50

A−

− − = − −

[ ][ ] [ ]1A A I

−=

89

DETERMINANTES E INVERSIÓN DE MATRICES

En el cuadro 3.1 se presenta un programa para la inversión de matrices por el Método de Gauss-Jordan.

% Inversión de matrices%% Metodo de Gauss_Jordan % % close all; clear all

% Definición de la matriz [A]

A=[1 5 2; 1 1 7 ;0 -3 4 ];

[p,k]=size(A);

I=eye(p);

% Definición de la matriz aumentada [M]=[A I]

M = [A I];

for i=1:p

M(i,:)=M(i,:)/M(i,i)

for j=1:p if i~=j M(j,:) = M(j,:)-M(i,:)*M(j,i) end endend

% Matriz Inversa MI

MI = M(:,p+1:p+k)

Cuadro 3.1: Programa en MATLAB del Método de Gauss-Jordan.

90

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo:

Calcular la inversa de la siguiente matriz:

Solución:

M =

1 5 2 1 0 0

1 1 7 0 1 0

[ ]1 5 2

1 1 7

0 3 4

A

= −

0 -3 4 0 0 1

M =

1 0 0 -25 26 -33

0 1 0 4 -4 5

0 0 1 3 -3 4

MI =

-25 26 -33

4 -4 5

3 -3 4

>> A*MI

M =

1.0000 0 0 -25.0000 26.0000 -33.0000

0 1.0000 -1.2500 0.2500 -0.2500 0

0 0 1.0000 3.0000 -3.0000 4.0000

91

DETERMINANTES E INVERSIÓN DE MATRICES

ans =

1 0 0

0 1 0

0 0 1

3.6 Inversa de una matriz por medio de partición

Para una matriz [A] de orden nxn, su partición se puede expresar de la forma:

[ ][ ]

[ ][ ]

11 12

21 22

rxr rxs

sxr sxr

Α Α Α Α

La ecuación [A][A]-1=[I], se reemplaza por [A][B]-1=[I]. La partición de [B] debe ser igual a la de la matriz [A]. Por tanto:

La ecuación anterior se puede expresar como:

[ ][ ] [ ][ ] [ ]11 11 12 21 1Α Β + Α Β = Ι

[ ][ ] [ ][ ] [ ]11 12 12 22 0Α Β + Α Β =

[ ][ ] [ ][ ] [ ]21 11 22 21 0Α Β + Α Β =

[ ][ ] [ ][ ] [ ]21 12 22 22 2Α Β + Α Β = Ι

[ ][ ]

[ ][ ]

[ ][ ]

[ ][ ]

[ ][ ]

[ ][ ]

11 12 11 12

21 22 21 22

1

2

0

0

rxr rxs rxr rxs

sxr sxr sxr sxr

rxr rxs

sxr sxr

B B

B B

I

I

Α Α Α Α

=

92

JUAN CARLOS HERRERA SÁNCHEZ

De la ecuación tercera ecuación se obtiene:

[ ] [ ] [ ][ ]1

21 22 21 11

−Β = − Α Α Β

Reemplazando en la primera ecuación se obtiene:

[ ][ ] [ ][ ] [ ][ ] [ ]1

11 11 12 22 21 11 1

−Α Β − Α Α Α Β = Ι

Factorizando,

[ ] [ ][ ] [ ] [ ] [ ]1

11 12 22 21 11 1

− Α − Α Α Α Β = Ι

[ ] [ ] [ ][ ] [ ]11

11 11 12 22 21

−− Β = Α − Α Α Α

De la ecuación segunda se puede despejar:

[ ] [ ] [ ][ ]1

12 11 12 22

−Β = − Α Α Β

Reemplazando en la cuarta se obtiene:

De expresión anterior se obtiene:

[ ] [ ] [ ][ ] [ ]11

22 22 21 11 12

−− Β = Α − Α Α Α

Con esta matriz se determina [B12]:

[ ] [ ] [ ][ ]1

12 11 12 22B−

Β = − Α Α

[ ] [ ] [ ][ ] [ ][ ] [ ]

[ ] [ ][ ] [ ] [ ] [ ]

1

21 11 12 22 22 22 2

1

22 21 11 12 22 2

B A I

A I

Α − Α Α + Β =

− Α Α Α Β =

93

DETERMINANTES E INVERSIÓN DE MATRICES

Finalmente la inversa de [A] se expresa:

Ejemplo:

Calcular la inversa de la matriz [A] usando partición

Efectuando la siguiente partición

Las sub-matrices se definen por:

Calculando el producto:

[ ]1 3 1

2 4 2

3 7 1

− Α = − −

[ ]2 6 1

2 4 2

3 7 1

Α = − −

[ ] [ ]

[ ] [ ] [ ] [ ]

11 12

21 22

2 6 1;

2 4 2

3 7 ; 1

− Α = Α = −

Α = − Α =

[ ][ ] [ ] [ ][ ]

[ ][ ] [ ]

1

12 22 21

1

12 22 21

11 3 7

2

3 7

6 14

Α Α Α = −

− Α Α Α == −

[ ] 1 11 12

21 22

− Β Β Α = Β Β

94

JUAN CARLOS HERRERA SÁNCHEZ

Usando la ecuación para [ ]11Β :

[ ] [ ] [ ][ ] [ ]11

11 11 12 22 21

−− Β = Α − Α Α Α

[ ]1

11

2 6 3 7

2 4 6 14

− − −

Β = − − −

[ ]

[ ]

1

11

92

11 12

2 4

8 18

1

2

−−

Β = − −

Β = −

Empleando la ecuación para [ ]21Β :

Ahora se debe calcular [ ] 1

11

−Α :

[ ]3

1 2

11 12

4 2 21

3 1 12

Τ− − −

Α = = − −−

[ ] [ ][ ]

[ ] [ ]

[ ] [ ]

92

21 12

92

21 12

1 12 221

11 3 7

2

13 7

2

− Β = − − −

− Β = − −

Β = −

95

DETERMINANTES E INVERSIÓN DE MATRICES

Calculamos el producto:

Ahora se calcula [ ]12Β :

[ ] [ ] [ ][ ]1

12 11 12 22B−

Β = − Α Α

[ ]3 5

2 21212 1

2

2 1

1 2 1

− Β = = −

La inversa se obtiene como:

Ejemplo:

Como ejemplo didáctico del manejo de partición de matrices en MATLAB, se repetirá el procedimiento anterior para invertir la matriz:

[ ][ ] [ ] [ ]

[ ] [ ]

[ ] [ ] [ ]{ } [ ]

31 2

21 11 12 12

11

222

2 13 7

1 2

53 7 1

2

1 1

− − Α Α Α = − = − −

− = − = − −

Β = − − =

[ ]9 5

2 21 11 12 1

2

21 22 1 1 12 2 2

1

2 1−

−Β Β

Α = = − Β Β −

[ ]1 5 2

1 1 7

0 3 4

A

= −

96

JUAN CARLOS HERRERA SÁNCHEZ

Solución:

>> A=[1 5 2;1 1 7 ;0 -3 4 ]

A =

1 5 2

1 1 7

0 -3 4

>> A11=A(1:2,1:2)

A11 =

1 5

1 1

>> A12=A(1:2,3)

A12 =

2

7

>> A21=A(3,1:2)

A21 =

0 -3

>> A22=A(3,3)

A22 =

4

Cálculo de [ ] [ ] [ ][ ] [ ]11

11 11 12 22 21

−− Β = Α − Α Α Α

97

DETERMINANTES E INVERSIÓN DE MATRICES

>> B11=inv(A11-A12*inv(A22)*A21)

B11 =

-25 26

4 -4

Cálculo de [ ] [ ] [ ][ ]1

21 22 21 11

−Β = − Α Α Β

>> B21=-inv(A22)*A21*B11

B21 =

3 -3

Cálculo de [ ] [ ] [ ][ ] [ ]11

22 22 21 11 12

−− Β = Α − Α Α Α

>> B22=inv(A22-A21*inv(A11)*A12)

B22 =

4

Cálculo de [ ] [ ] [ ][ ]1

12 11 12 22B−

Β = − Α Α

>> B12=-inv(A11)*A12*B22

B12 =

-33

5

98

JUAN CARLOS HERRERA SÁNCHEZ

Cálculo de [ ] 1 11 12

21 22

− Β Β Α = Β Β

>> AI=[B11 B12;B21 B22]

AI =

-25 26 -33

4 -4 5

3 -3 4

3.7 Referencias bibliográficas

Kiusalaas, J. Numerical Methods in Engineering with MATLAB. Cambridge University Press, 2009.

Kolman, B. Algebra lineal con aplicaciones y Matlab. Prentice Hall Hispanoamericana, México, D.F., 1999.

Laub, A. Matrix Analysis for Scientists and Engineers.

SIAM: Society for Industrial and Applied Mathematics. Philadelphia, 2004.

Mathews J, Fink, K. Métodos numéricos con MATLAB, Madrid, Prentice Hall, 2000.

Hsieh, Y. Teoría elemental de estructuras. Prentice Hall Hispanoamericana, México, D.F., 1970.

Uribe, J. Microcomputadores en ingeniería estructural. Ecoe Ediciones, Colombia, 1995

Watkins, D. Fundamentals of Matrix Computations.Wiley Interscience, New York, 2002.

Yang, W. Y et. al. Applied Numerical Methods Using MATLAB. Wiley-Interscience, 2005.

3.8 Problemas

1) Calcular la matriz cofactor [ ]A dada la siguiente matriz:

99

DETERMINANTES E INVERSIÓN DE MATRICES

2) Calcular el determinante usando la expansión de Laplace de la matriz [A] que se da a continuación:

3) Calcule por condensación pivotal el determinante de [A]:

4) Calcular la inversa de la siguiente matriz usando la matriz adjunta.

5) Use el programa en MATLAB del Método de Gauss-Jordan del cuadro 3.1, para calcular la inversa de la siguiente matriz:

6) Verificar el resultado del problema anterior usando MATLAB.

[ ]2 7 2

1 1 7

4 3 0

A

= −

[ ]2 8 11

1 6 16

2 0 21

A

− = − −

2 1 0 6

1 2 4 10

3 0 1 8

3 2 4 2

A

−=

[ ]4 5 2

4 1 7

0 3 4

A

= −

[ ]4 7 8

10 6 8

5 7 6

A

− = − − −

101

Capítulo 4

Solución de sistemas de ecuaciones lineales

Dentro de las muchas aplicaciones del algebra matricial en ingeniería, esta la solución de sistemas de ecuaciones lineales para problemas encontrados en diferentes disciplinas como análisis de estructuras, circuitos eléctricos, flujos en redes, conducción de calor, distribución de recursos, etc.

4.1 Forma matricial de las ecuaciones

Un sistema de n ecuaciones lineales simultáneas con n incógnitas de la forma:

se puede escribir en forma matricial como:

Las ecuaciones anteriores se pueden expresar como:

[ ][ ] [ ]x bΑ =

11 1 12 2 1 1

21 1 22 2 2 2

1 1 2 2

n n

n n

n n nn n n

a x a x a x b

a x a x a x b

a x a x a x b

+ + + =

+ + + =

+ + + =

L

L

M

L

11 12 1 1 1

21 22 2 2 2

1 2

n

n

n n nn n n

a a a x b

a a a x b

a a a x b

=

L

L

M M O M M M

L

102

JUAN CARLOS HERRERA SÁNCHEZ

Donde,

[ ]

1

2

n

x

xx

x

=

M

[ ]

1

2

n

b

bb

b

=

M

La solución del sistema de ecuaciones [ ][ ] [ ]x bΑ = en MATLAB se calcula por medio de la instrucción A\b.

4.2 Solución por inversión de matrices

Un sistema de n ecuaciones lineales simultáneas se puede resolver usando la inversa de la matriz de coeficientes [A], si .

Dado el sistema:

[ ][ ] [ ]x bΑ =

pre-multiplicando ambos lados de la ecuación por [A]-1

[ ]

11 12 1

21 22 2

1 2

n

n

n n nn

a a a

a a aA

a a a

=

L

L

M M O M

L

[ ] [ ][ ] [ ] [ ][ ][ ] [ ] [ ]

1 1

1

A x A b

I x A b

− −

Α =

=

0A ≠

103

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

El vector de incógnitas se calcula entonces por:

[ ] [ ] [ ]1x A b

−=

Ejemplo:

Solucionar el sistema de ecuaciones siguiente usando inversión

Las ecuaciones anteriores se pueden escribir:

Primero, calculamos A :

La matriz cofactor [ ]A se calcula como:

1 2 3

1 3

2 3

5 2

4 2 6

4

x x x

x x

x x

+ + =

+ =

+ =

1

2

3

1 5 1 2

0 4 2 6

0 1 1 4

x

x

x

=

2 4 2(1) 1(4 2)

1 1

2

A

A

= = −

=

2 0 0

4 1 1

6 2 4

A

= − − −

104

JUAN CARLOS HERRERA SÁNCHEZ

Luego se calcula la matriz ( )[ ]Adj A :

( )2 4 6

[ ] 0 1 2

0 1 4

Adj A

− = − −

Finalmente la inversa se calcula por:

( )2 0 0

[ ] 4 1 1

6 2 4

T

T

Adj A A

= = − − −

[ ] ( )

[ ]

1

1

[ ]

2 4 6

0 1 2

0 1 4

2

T

AAdj AA

A A

A

= =

− − − =

[ ] 1

1 2 3

0 0.5 1

0 0.5 2

A−

− = − −

105

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

La solución del sistema es:

Ejemplo:

Verificar la solución anterior en MATLAB.

>> A=[1 5 1;0 4 2;0 1 1]

A =

1 5 1

0 4 2

0 1 1

>> b=[2 6 4]’

b =

2

6

4

>> % solución

>> x=A\b

[ ] [ ] [ ]

[ ]

1

1 2 3 2

0 0.5 1 6

0 0.5 2 4

x A b

x

−=

− = − −

[ ]2

1

5

x

= −

106

JUAN CARLOS HERRERA SÁNCHEZ

x =

2

-1

5

4.3 Regla de Cramer

El Método de Cramer para resolver un sistema de ecuaciones, hace uso del desarrollo de determinantes para obtener la inversa de una matriz.

[ ] [ ] [ ]1x A b

−=

Recordando que:

Entonces,

Dado que:

{ } ( ) [ ]

{ } [ ]

[ ]

T

Adj Ax b

A

Ax b

A

=

=

11 21 1

12 22 2

1 2

n

T n

ni

n n jn nn

A A A

A A AA

A

A A A A

=

L

L

M M O

[ ] ( )1 [ ]T

AAdj AA

A A

− = =

107

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

Entonces la solución del sistema se obtiene como:

Efectuando el producto de la derecha se obtiene:

Despejando los valores de xi

El numerador de cada ecuación corresponde a la expansión de un determinante por cofactores, la cual se puede escribir como:

11 21 11 1

12 22 22 2

1 2

1

n

n

ni

n n jn nnn n

A A Ax b

A A Ax b

AA

A A A Ax b

=

L

L

M M OK K

1 1 11 2 21 1

2 1 12 2 22 2

1 1 2 2

1n n

n n

n n n n nn

x b A b A b A

x b A b A b A

x b A b A b A

+ + + + = Α

+ +

K K K K K K

1 11 2 21 11

1 12 2 22 22

1 1 2 2

n n

n n

i

n n n nnn

b A b A b Ax

b A b A b Ax

x

b A b A b Ax

+ + +=

Α

+ + +=

Α

=

+ + +=

Α

K

K

KKKKKKKKKK

K

1 12 13 1

2 22 23 2

1 31

n

n

n n n n

b a a a

b a a a

b a a bx =

Α

K

K

K K K K K

K

108

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo:

Resolver por la regla de Cramer el sistema [ ][ ] [ ]A x b=

Solución:

11 1 13 1

21 2 23 2

1 32

n

n

n n n nn

a b a a

a b a a

a b a ax =

Α

K

K

K K K K K

K

11 12 13 1

21 22 23 2

1 2 3n n n n

n

a a a b

a a a b

a a a bx =

Α

K

K

K K K K K

K

[ ] [ ]2 4 1 11

1 3 2 16

2 3 5 21

b

− Α = − − = − −

1

11 4 1

16 3 2

21 3 5 382

2 4 1 19

1 3 2

2 3 5

x

− −

−= = =

− −

109

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

4.4 Método de Eliminación de Gauss

Otro procedimiento para resolver sistemas de ecuaciones lineales que también se basa en transformaciones fundamentales sobre filas de una matriz, es el clásico Método de Eliminación de Gauss. El procedimiento general para la solución de sistemas de ecuaciones, consta básicamente de dos pasos:

1) Reducir la matriz de coeficientes de un sistema dado de ecuaciones a una matriz triangular superior usando las transformaciones fundamentales.

2) Hallar la solución del sistema de ecuaciones resolviendo el sistema triangular superior obtenido en el paso anterior. Después de la primera etapa se obtiene una matriz aumentada de la forma:

2

2 11 1

1 16 2

2 21 5 764

19 19x

− − −

−= = = −

3

2 4 11

1 3 16

2 3 21 191

19 19x

− −

−= = =

[ ]

11 12 1 1

21 22 2 2

1 2

n

n

n n nn n

A A A b

A A A bA b

A A A b

′ ′ ′ = ′

L

L

M M M

L

110

JUAN CARLOS HERRERA SÁNCHEZ

La ultima ecuación, da como resultado:

Se puede determina xk de la k-ésima ecuación:

( ), 1 1

1k k k k k kn n

kk

x b A x A xA

+ +′= − − −L

La expresión anterior se puede escribir como:

1

1 n

k k kj j

j kkk

x b A xA = +

′= −

∑ , 1, 2, ,1k n n= − − L

Ejemplo:

Resolver el sistema de ecuaciones:

Las ecuaciones anteriores se pueden escribir:

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 15

2 2 13

4

3 2 3

x x x x

x x x x

x x x x

x x x x

− − + =

− + + − = −

− + + =

+ − − =

1

2

3

4

2 3 1 2 15

1 1 2 2 13

1 1 1 1 4

3 2 1 1 3

x

x

x

x

− − − − − = − − −

, 1 1kk k k k k kn n kA x A x A x b+ + ′+ + + =L

nn

nn

bx

A

′=

111

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

El cual tiene la forma:

Primero se obtiene la matriz aumentada:

2 3 1 2 15

1 1 2 2 13

1 1 1 1 4

3 2 1 1 3

− − − − − − − −

La primera operación es convertir a la unidad el elemento a11

3 1 151 1

2 2 21 1 2 2 13

1 1 1 1 4

3 2 1 1 3

− − − − − −

− −

La siguiente operación fundamental es:

[ ][ ] [ ]A x b=

[ ]A b

1 111

1 1

1

1

2

F Fa

F F

( )( )

2 2 1 21

2 2 1 1

F F F a

F F F

→ −

→ − −

112

JUAN CARLOS HERRERA SÁNCHEZ

Las operaciones en las fila 3 y 4 son:

3 1 151 1

2 2 21 3 11

0 12 2 21 3 7

0 02 2 2

3 2 1 1 3

− −

− − − − − −

3 1 151 1

2 2 21 3 11

0 12 2 2

1 1 1 1 4

3 2 1 1 3

− −

− − − − − − −

( )( )

3 3 1 31

3 3 1 1

F F F a

F F F

→ −

→ −

( )( )

4 4 1 41

4 4 1 3

F F F a

F F F

→ −

→ −

3 1 151 1

2 2 21 3 11

0 12 2 21 3 7

0 02 2 2

13 1 390 4

2 2 2

− −

− − − − −

113

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

Ahora en la diagonal principal se convierte a uno el elemento a

22:

3 1 151 1

2 2 20 1 3 2 11

1 3 70 0

2 2 213 1 39

0 42 2 2

− −

− − −

Ahora se deben hacer cero los elementos a32 y a

42

3 1 151 1

2 2 20 1 3 2 11

0 0 3 1 9

13 1 390 4

2 2 2

− −

− − −

− −

( )

2 222

2 2

1

2

F Fa

F F

→ −

( )3 3 1 32

3 3 1

1

2

F F F a

F F F

→ −

→ −

114

JUAN CARLOS HERRERA SÁNCHEZ

La operación para la fila 4 es:

3 1 151 1

2 2 20 1 3 2 11

0 0 3 1 9

0 0 20 17 91

− −

− − −

− −

Ahora se reduce a la unidad el elemento a33

3 1 151 1

2 2 20 1 3 2 11

10 0 1 3

30 0 20 17 91

− −

− −

− − −

Finalmente se debe hacer cero el elemento a43

( )( )

4 4 1 41

4 4 1 3

F F F a

F F F

→ −

→ −

3 333

3 3

1

1

3

F Fa

F F

( )( )

4 4 3 43

4 4 3 20

F F F a

F F F

→ −

→ −

115

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

Ahora la solución se obtiene usando sustitución hacia atrás. Debemos resolver el sistema:

En forma de ecuaciones se tiene:

Al resolver usando sustitución hacia atrás, obtenemos:

3 1 151 1

2 2 20 1 3 2 11

10 0 1 3

331

0 0 0 313

− −

− −

− −

3 1 1512 2 2

2

133

3143

1 1

0 1 3 2 11

0 0 1 3

0 0 0 31

x

x

x

x

− −

− = −

3 1511 2 3 42 2 2

2 3 4

13 43

3143

2 2

3 2 11

3

31

x x x x

x x x

x x

x

− − + =

− + =

− = −

− = −

3143

4

31

3

x

x

− = −

=

116

JUAN CARLOS HERRERA SÁNCHEZ

Ahora resolviendo la tercera ecuación:

Se resuelve la segunda ecuación usando los valores de x3 y x

4 :

Finalmente resolvemos la primera ecuación:

Ejemplo:

Resolver el sistema de ecuaciones:

13 43

13 3

3

3

(3) 3

2

x x

x

x

− = −

− = −

= −

2 3 4

2

2

3 2 11

3( 2) 2(3) 11

1

x x x

x

x

− + =

− − + =

= −

3 1511 2 3 42 2 2

3 1511 2 2 2

1

2 2

2 ( 1) ( 2) 2(3)

2

x x x x

x

x

− − + =

− − − − + =

=

1 2 3

1 2 3

1 2 3

2 1

1

5 3 3

x x x

x x x

x x x

− + =

+ − = −

− + =

117

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

La matriz aumentada es:

1 2 1 1

1 1 1 1

1 5 3 3

− − − −

El rango de [A] es 2 y el rango de la matriz aumentada también es 2, por tanto no existe una solución única del sistema. Se puede obtener la solución para dos de las incógnitas en términos de una tercera incógnita.

Para convertir en cero los elementos a21 y a

31 las operaciones

son:

( )( )

2 2 1 21

2 2 1 1

F F F a

F F F

→ −

→ − −

1 2 1 1

0 3 2 2

1 5 3 3

− − − −

( )( )

3 3 1 31

3 3 1 1

F F F a

F F F

→ −

→ −

1 2 1 1

0 3 2 2

0 3 2 2

− − − −

[ ]A b

118

JUAN CARLOS HERRERA SÁNCHEZ

En la diagonal principal se convierte a uno el elemento a22:

1 2 1 1

2 20 1

3 30 3 2 2

− − − −

Ahora se deben hacer cero el elemento a32 :

1 2 1 1

2 20 1

3 30 0 0 0

− − −

Una solución para x1 y x

2 en términos de x

3 se puede obtener

como:

2 222

2 2

1

1

3

F Fa

F F

( )( )

3 3 1 32

3 3 1 3

F F F a

F F F

→ −

→ − −

1 2 3

2 3

2 1

2 2

3 3

x x x

x x

− + =

− = −

119

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

De las ecuaciones anteriores se obtiene:

Sustituyendo la solución para x2 se obtiene x

1

1 3

1 1

3 3x x

= −

En el Cuadro 4.1 se presenta el programa en MATLAB para la solución de un sistema de ecuaciones por el Método de Eliminación de Gauss.

2 3

1 2 3

2 2

3 3

2 1

x x

x x x

= −

= − +

( )

2 3

21 3 33

2 2

3 3

22 1

3

x x

x x x

= −

= − − +

120

JUAN CARLOS HERRERA SÁNCHEZ

% Método de Eliminación de Gauss %%% Solución del sistema de ecuaciones lineales:% % [A]{x}={b}%% Definición de la matriz [A] y vector [b]

A=[15 -5 0;-5 15 -5;0 -5 20]b=[20 0 0]’

% Definición de la matriz aumentada [M]=[A b]

M = [A b];p = size(M,1);

for i=1:p for j=i+1:p

M(j,:) = M(j,:)-M(i,:)*M(j,i)/M(i,i) endend

for i=p:-1:1

M(i,:) = M(i,:)/M(i,i)

for j=i-1:-1:1 M(j,:) = M(j,:)-M(i,:)*M(j,i)

endend

% Solución {x}

x = M(:,p+1)

Cuadro 4.1: Programa en MATLAB del Método de Eliminación de Gauss.

121

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

Ejemplo:

Utilizar el programa anterior de MATLAB, para resolver el sistema

Solución:

M =

-4 7 8 1

10 -6 -8 0

-5 7 6 0

M =

1.0000 0 0 0.2000

0 1.0000 0 -0.2000

0 0 1.0000 0.4000

x =

0.2000

-0.2000

0.4000

Solución para múltiples vectores.

En ocasiones se debe resolver ecuaciones de la forma [ ][ ] [ ]A X b= para diferentes vectores [b]. En general se tienen m vectores definidos por ,…, y sus soluciones definidas por ,…, -----. El conjunto de múltiples ecuaciones se puede escribir como:

1

2

3

4 7 8 1

10 6 8 0

5 7 6 0

x

x

x

− − − = −

[ ]1b [ ]m

b 1[ ]x

[ ]mx

122

JUAN CARLOS HERRERA SÁNCHEZ

[ ][ ] [ ]A X B=

Donde,

[ ]X y [ ]B son matrices de orden (n×m) cuyas columnas corresponden a los vectores solución y los vectores constantes.

En el Cuadro 4.2 se presenta el programa en MATLAB para la solución de un sistema de ecuaciones con múltiples vectores, por el Método de Eliminación de Gauss.

Ejemplo:

Solucionar el sistema [ ][ ] [ ]A X B=

Donde,

[ ] [ ]

[ ] [ ]

1

1

{ } { }

{ } { }

m

m

X x x

B b b

=

=

L

L

[ ]

[ ]

6 4 1

4 6 4

1 4 6

14 22

36 18

6 7

A

B

− = − − −

− = −

123

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

La matriz aumentada es:

[ ]A B

Las primeras operaciones son:

6 4 1 14 22

10 10 80 100

3 3 3 310 35 25 10

03 6 3 3

− − − − −

Para hacer cero el elemento a32

3 3 2F F F→ +

6 4 1 14 22

4 6 4 36 18

1 4 6 6 7

− − − − − −

2 2 1

2 3 1

2

3

1

6

F F F

F F F

→ +

→ +

6 4 1 14 22

10 10 80 100

3 3 3 35

0 0 35 02

− − − −

124

JUAN CARLOS HERRERA SÁNCHEZ

Para obtener el primer vector solución {x}1, usamos sustitución

hacia atrás:

De la segunda ecuación:

Finalmente,

Se repite para el segundo vector solución {x}2:

3 0x =

3

3

535

2

14

x

x

=

=

2 3

2

10 10 80

3 3 3

3 80 1014 22

10 3 3

x x

x

− =

= + =

[ ]

1 2 3

1 2 3

1

6 4 14

14 4

114 4(22) 14 10

6

x x x

x x x

x

− + = −

= − + −

= + − =

125

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

De la segunda ecuación:

Finalmente, de la primera ecuación:

1 2 36 4 22x x x− + =

[ ]1 2 3

122 4

6x x x= + −

[ ]1

122 4( 1) 3

6x = + − =

2 3

2

10 10 10

3 3 3

3 100 1

10 3

x x

x

− = −

= − + = −

% Método de Eliminación de Gauss %%% Solución del sistema de ecuaciones lineales:% Vectores múltiples %% % [A][X]=[B]%%close all; clear all

% Definición de [A] , [B]

A=[-4 7 8; 10 -6 -8;-5 7 6]B=[5 0 0;10 0 0;15 0 0]’

126

JUAN CARLOS HERRERA SÁNCHEZ

% Definición de la matriz aumentada [M]=[A B]

M = [A B];[p,k]=size(b);

for i=1:p for j=i+1:p

M(j,:) = M(j,:)-M(i,:)*M(j,i)/M(i,i) endend

for i=p:-1:1 M(i,:) = M(i,:)/M(i,i)

for j=i-1:-1:1 M(j,:) = M(j,:)-M(i,:)*M(j,i) endend

% Solución [X]

X = M(:,p+1:p+k)

Cuadro 4.2: Programa del Método de Eliminación de Gauss: vectores múltiples.

127

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

Ejemplo:

Utilizar el programa anterior de MATLAB, para resolver el sistema

Solución:

M =

-4 7 8 1 10

10 -6 -8 0 0

-5 7 6 0 0

M =

1.0000 0 0 0.2000 2.0000

0 1.0000 0 -0.2000 -2.0000

0 0 1.0000 0.4000 4.0000

X =

0.2000 2.0000

-0.2000 -2.0000

0.4000 4.0000

4.5 Método de Gauss-Jordan

El Método de Gauss-Jordan es similar al Método de Eliminación de Gauss, pero primero hace el pivote igual a 1, y luego hace ceros en toda la columna del pivote. En el Método de Gauss-Jordan primero se hace el pivote igual a uno, después se hacen cero los

1

2

3

4 7 8 1 10

10 6 8 0 0

5 7 6 0 0

x

x

x

− − − = −

128

JUAN CARLOS HERRERA SÁNCHEZ

elementos arriba y abajo del pivote. En la etapa de eliminación, se crea una matriz identidad. De esa forma, la solución del sistema de ecuaciones queda en la última columna de la matriz aumentada

Ejemplo:

Resolver el sistema de ecuaciones

El primer paso es obtener la matriz aumentada:

El primer pivote será el elemento a11=-4

[ ]

7 11 24 410 6 8 0

5 7 6 0

A b

− − − = − − −

1

2

3

4 7 8 1

10 6 8 0

5 7 6 0

x

x

x

− − − = −

[ ]4 7 8 1

10 6 4 0

5 7 6 0

A b

− = − − −

1 111

1 1

1

1

4

F Fa

F F

→ −

129

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

( )( )

2 2 1 21

2 2 1 10

F F F a

F F F

→ −

→ −

La siguiente operación fundamental es:

La operación el la fila 3 es:

[ ]

7 11 24 423 50 122 2

7 50 44 4

A b

− − − = − − −

Ahora el pivote es el elemento a22=

23

2

[ ]

7 11 24 423 50 122 2

5 7 6 0

A b

− − − = −

( )( )

3 3 1 31

3 3 1 5

F F F a

F F F

→ −

→ − −

2 222

2 2

1

2

23

F Fa

F F

130

JUAN CARLOS HERRERA SÁNCHEZ

Ahora se debe hacer cero el elemento a12

[ ]

341 0 23 235240 1 23 23

7 50 44 4

A b

− − = − − −

Ahora se debe hacer cero el elemento a32

[ ]

7 11 24 45240 1 23 23

7 50 44 4

A b

− − − = − − −

( )1 1 2 12

1 1 2

7

4

F F F a

F F F

→ −

− → −

[ ]

341 0 23 235240 1 23 23

50 200 0 23 23

A b

− − = −

( )3 3 2 32

3 3 2

7

4

F F F a

F F F

→ −

− → −

131

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

Ahora el pivote es el elemento a33=

50

23

[ ]

341 0 23 235240 1 23 2320 0 1 5

A b

− − =

Ahora se debe hacer cero el elemento a13

[ ]

11 0 0 55240 1 23 2320 0 1 5

A b

=

Ahora se debe hacer cero el elemento a23

3 333

3 3

1

23

50

F Fa

F F

( )1 1 3 13

1 1 3

4

23

F F F a

F F F

→ −

− → −

( )2 2 3 23

2 2 3

24

23

F F F a

F F F

→ −

→ −

132

JUAN CARLOS HERRERA SÁNCHEZ

La solución por tanto es:

En el cuadro 4.3 se presenta el programa en MATLAB para la solución de un sistema de ecuaciones por el Método de Gauss-Jordan.

*

11 0 0 510 1 0 5

20 0 1 5

I b

= −

1

2

3

15

15

25

x

x

x

=

= −

=

133

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

% Método de Gauss_Jordan %%% Solución del sistema de ecuaciones lineales:% % [A]{x}={b}%close all; clear all

% Definicion de la matriz [A] y vector [b]

A=[-4 7 8; 10 -6 -8;-5 7 6];b=[1 0 0]’;

% Matriz aumentada [M]=[A b]

M = [A b];p = size(M,1);

for i=1:p

M(i,:)=M(i,:)/M(i,i)

for j=1:p if i~=j M(j,:) = M(j,:)-M(i,:)*M(j,i) end endend

% Solución {x}

x = M(:,p+1)

Cuadro 4.3: Programa en MATLAB del Método Gauss-Jordan.

134

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo:

La siguiente es la solución paso a paso del problema anterior.

M =

1.0000 -1.7500 -2.0000 -0.2500

10.0000 -6.0000 -8.0000 0

-5.0000 7.0000 6.0000 0

M =

1.0000 -1.7500 -2.0000 -0.2500

0 11.5000 12.0000 2.5000

-5.0000 7.0000 6.0000 0

M =

1.0000 -1.7500 -2.0000 -0.2500

0 11.5000 12.0000 2.5000

0 -1.7500 -4.0000 -1.2500

M =

1.0000 -1.7500 -2.0000 -0.2500

0 1.0000 1.0435 0.2174

0 -1.7500 -4.0000 -1.2500

M =

1.0000 0 -0.1739 0.1304

0 1.0000 1.0435 0.2174

0 -1.7500 -4.0000 -1.2500

135

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

M =

1.0000 0 -0.1739 0.1304

0 1.0000 1.0435 0.2174

0 0 -2.1739 -0.8696

M =

1.0000 0 -0.1739 0.1304

0 1.0000 1.0435 0.2174

0 0 1.0000 0.4000

M =

1.0000 0 0 0.2000

0 1.0000 1.0435 0.2174

0 0 1.0000 0.4000

M =

1.0000 0 0 0.2000

0 1.0000 0 -0.2000

0 0 1.0000 0.4000

x =

0.2000

-0.2000

0.4000

El programa del cuadro 4.3 (Método de Gauss-Jordan) se puede extender para solucionar sistemas con múltiples vectores, el cual se presenta en el cuadro 4.4.

136

JUAN CARLOS HERRERA SÁNCHEZ

% Metodo de Gauss_Jordan %%% Solucion del sistema de ecuaciones lineales:% % [A][X]=[B]%

close all; clear all

% Definición de las matrices [A], [B]

A=[-4 7 8; 10 -6 -8;-5 7 6];

B=[10 0 0;0 5 0]’;

% Matriz aumentada [M]=[A B]

M = [A B];

[p,k]=size(B);

for i=1:p

M(i,:)=M(i,:)/M(i,i)

for j=1:p if i~=j M(j,:) = M(j,:)-M(i,:)*M(j,i) end endend

% Solución [X]

X = M(:,p+1:p+k)

Cuadro 4.4: Programa del Método de Gauss-Jordan: vectores múltiples.

137

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

Ejemplo:

Utilizar el programa anterior de MATLAB, para resolver el sistema

>>

M =

-4 7 8 0 5

10 -6 -8 10 10

-5 7 6 0 0

M =

1.0000 0 0 1.4000 2.4000

0 1.0000 0 1.6000 0.6000

0 0 1.0000 -0.7000 1.3000

X =

1.4000 2.4000

1.6000 0.6000

-0.7000 1.3000

4.6 Método de Cholesky

En ciertas aplicaciones de ingeniería para la solución de grandes sistemas de ecuaciones, se presentan algunas propiedades de matrices, que son de gran utilidad en la solución del problema. Es el caso de ecuaciones encontradas en Ingeniería Estructural. Este tipo especial de matrices son de banda, reales, simétricas y definida-positivas.

1

2

3

4 7 8 0 5

10 6 8 10 10

5 7 6 0 0

x

x

x

− − − = −

138

JUAN CARLOS HERRERA SÁNCHEZ

Si una matriz [A]nxn

es simétrica, y definida-positiva, se puede descomponer de la forma:

[ ][ ][ ]T

A G G=

Donde:

[ ]nxnG : Matriz triangular inferior

[ ]T

nxnG : Matriz triangular superior

Por tanto la solución del sistema [ ][ ] [ ]A X B= se simplifica computacionalmente re-escribiendo:

[ ][ ] [ ] [ ]TG G X B=

La anterior ecuación se puede resolver por un par de ecuaciones expresadas de la forma:

[ ][ ] [ ]G Y B=

[ ] [ ] [ ]TG X Y=

Ejemplo:

Resolver el sistema

[ ][ ] [ ]A X B=

Donde,

[ ]

1 1 1 2

1 5 3 0

1 3 3 0

2 0 0 7

A

− − − − = −

[ ]

1

2

3

4

x

xX

x

x

=

[ ]

2

4

4

1

B

− =

139

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

a) El primer paso es obtener la matriz [G]:

11 11 1 1g a= = =

2121 1

1

ag = = −

3131 1

1

ag = =

4141 2

1

ag = =

222 22 21 5 1 2g a g= − = − =

( )( )32 31 2132

22

3 1 11

2

a g gg

g

− − −−= = = −

( )( )42 41 2142

22

0 2 11

2

a g gg

g

− −−= = =

( ) ( )2 233 33 31 32 3 1 1 1g a g g= − + = − + =

43 41 31 42 3243

33

a g g g gg

g

− −=

( )( ) ( )( )43

0 2 1 1 11

1g

− − −= = −

140

JUAN CARLOS HERRERA SÁNCHEZ

La matriz que se obtiene es:

b) A continuación se debe resolver:

[ ][ ] [ ]G Y B=

La matriz aumentada es:

Resolviendo para 1y :

1 2y =

Resolviendo la segunda ecuación:

2 1

2

2 4 4 2 2

1

y y

y

= − + = − + = −

= −

( )

( )

2 2 244 44 41 42 43

44 7 1 1 4 1

g a g g g

g

= − + +

= − + + =

[ ]

1 0 0 0

1 2 0 0

1 1 1 0

2 1 1 1

G

− = − −

1 0 0 0 2

1 2 0 0 4

1 1 1 0 4

2 1 1 1 1

− − − −

141

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

Resolviendo la tercera ecuación :

Y finalmente se resuelve la última ecuación:

c) El tercer paso es resolver la ecuación:

[ ] [ ] [ ]TG X Y=

La matriz aumentada que se obtiene es:

Resolviendo la cuarta ecuación para 4x :

4 1x = −

Resolviendo la tercera ecuación para 3x , se obtiene:

Resolviendo la segunda ecuación para 2x :

2 3 4

2

2 1 1 0 1

0

x x x

x

= − + − = − + +

=

3 2 1

3

4 4 1 2

1

y y y

y

= + − = − −

=

4 3 2 1

4

1 2 1 1 1 4

1

y y y y

y

= + − − = + + −

= −

1 1 1 2 2

0 2 2 1 1

0 0 1 1 1

0 0 0 1 1

− − − −

3 4

3

1 1 1

0

x x

x

= + = −

=

142

JUAN CARLOS HERRERA SÁNCHEZ

Finalmente,

La solución es:

4.7 Factorización LU

Si la matriz [A] es de orden m × n y se puede escribir como el producto de dos matrices:

[ ] [ ][ ]A L U=

donde [L] es una matriz triangular inferior de orden m×m y [U] es una matriz triangular superior de orden m×n. Para una matriz de orden 3x3 tiene la forma:

y una matriz inferior

Considérese el sistema [ ][ ] [ ]L x c=

1 2 3 4

1

2 2 2 0 0 2

4

x x x x

x

= + − − = + + +

=

1

2

3

4

4

0

0

1

x

x

x

x

=

=

=

= −

11 12 13

22 23

33

[ ] 0

0 0

U U U

U U U

U

=

11

21 22

31 32 33

0 0

[ ] 0

L

L L L

L L L

=

143

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

Si se resuelven las ecuaciones comenzando por la primera, las soluciones toman la forma:

11

11

cx

L=

2 2 21 122

1( )x c L x

L= −

3 3 31 1 32 233

1( )x c L x L x

L= − +

El procedimiento anterior se conoce como substitución hacia adelante, y es similar al proceso de substitución hacia atrás o regresiva usado en el Método de Eliminación de Gauss.

Dado un sistema de ecuaciones:

[ ][ ] [ ]A x f=

se puede escribir la anterior ecuación:

Si se define [ ] [ ][ ]y U x= entonces,

11 1 1

21 1 22 2 2

31 1 32 2 33 3 3

L x c

L x L x c

L x L x L x c

=

+ =

+ + =

[ ][ ] [ ] [ ][ ][ ] [ ][ ]( ) [ ]

([ ][ ])

[ ]

A x L U x f

A x L U x f

= =

= =

144

JUAN CARLOS HERRERA SÁNCHEZ

[ ][ ] [ ][ ] [ ]A x L z f= =

Como [L] es una matriz triangular superior este sistema puede resolverse mediante una sustitución hacia abajo. Una vez se calcula [z], se puede obtener el vector de incógnitas [x]:

[ ][ ] [ ]U x z=

Como la matriz [U] es triangular superior, el sistema de ecuaciones se puede resolver mediante sustitución hacia atrás.

Ejemplo:

Dada la matrices [K], [L], [U] y [f] aplique la descomposición LU,

para resolver el sistema de ecuaciones [ ][ ] [ ]K x f=

[ ]1 0 0 4 2 1

[ ][ ] 5 1 0 0 3 7

2 3 1 0 0 2

K L U

− = = − −

Primero se debe resolver [ ][ ] [ ][ ] [ ]A x L z f= =

1

2

3

4 2 1 10

20 7 12 65

8 13 17 15

x

x

x

− − = −

1

2

3

1 0 0 10

5 1 0 65

2 3 1 15

z

z

z

= −

145

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

Por eliminación, nos queda:

z1=10

z2=65-5(10)=15

z3=15+2(10)-3(15)=-10

Ahora debemos resolver el sistema [ ][ ] [ ]U x z=

En forma de ecuaciones queda:

4 x1 − 2 x

2 + x

3 = 10

3 x2 + 7 x

3 = 15

− 2 x3 = −10

Al resolver usando sustitución hacia atrás, obtenemos:

x3 = 5.0

x2 = 5-7(5)/3=-6.667

x1 = 2.5 -5/4+2(-6.667)/4=-2.084

1

2

3

4 2 1 10

0 3 7 15

0 0 2 10

x

x

x

− = − −

146

JUAN CARLOS HERRERA SÁNCHEZ

4.8 Referencias

Beaufait, F. W. y Cliff, W. Computer Methods of Structural

Analysis. Prentice Hall, 1970.Kiusalaas, J. Numerical Methods in Engineering with MATLAB.

Cambridge University Press, 2009.Laub, A. Matrix Analysis for Scientists and Engineers.

SIAM: Society for Industrial and Applied Mathematics. Philadelphia, 2004.

Mathews J, Fink, K. Métodos Numéricos con MATLAB, Madrid, Prentice Hall, 2000.

Hsieh, Y. Teoría Elemental de Estructuras. Prentice Hall Hispanoamericana, México, D.F., 1970.

Uribe, J. Microcomputadores en Ingeniería Estructural. Ecoe Ediciones, Colombia, 1995.

Watkins, D. Fundamentals of Matrix Computations.Wiley Interscience, New York, 2002.

Yang, W. Y et. Al. Applied Numerical Methods Using MATLAB. Wiley-Interscience, 2005.

4.9 Problemas

1) Solucionar el sistema de ecuaciones siguiente usando inversión. Verificar la solución usando MATLAB.

2) Resolver por la regla de Cramer el sistema [ ][ ] [ ]A x b=

1 2 3

1 3

2 3

5 1

4 2 3

2

x x x

x x

x x

+ + =

+ =

+ =

[ ] [ ]2 4 1 10

1 3 2 5

2 3 5 0

b

Α = − − = −

147

SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES

3) Resolver el problema 2 por el Método de Eliminación de Gauss.

4) Resolver el sistema de ecuaciones, por el Método de Eliminación de Gauss.

5) Resolver por el Método de Gauss-Jordan el sistema

[ ][ ] [ ]A x b=

[ ] [ ]15 5 0 10

5 15 5 0

0 5 20 0

b

− Α = − = −

6) Resolver por el Método de Gauss-Jordan el sistema

[ ][ ] [ ]A X B=

[ ] [ ]15 5 0 5 15 10

5 15 5 0 10 0

0 5 20 0 0 5

B

− Α = − = −

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 3 2 30

2 2 26

8

3 2 6

x x x x

x x x x

x x x x

x x x x

− − + =

− + + − = −

− + + =

+ − − =

Anexo

Diferenciación e integración de matrices con MATLAB.

En muchas aplicaciones de Análisis Matricial de Estructuras y en el Método de Elementos Finitos, se deben obtener las derivadas e integrales de matrices. Aquí se presenta una breve introducción a su cálculo en MATLAB.

Ejemplo A1:

Dada el vector fila [N]

[ ] [ ]2N x x=

Se define en MATLAB mediante:

>> syms x

>> N=[x x*2]

N =

[ x, 2*x]

Para calcular la primera derivada de [N] se usa el comando diff

>> diff(N,x)

ans =

[ 1, 2]

150

JUAN CARLOS HERRERA SÁNCHEZ

Para calcular la segunda derivada de [N] se usa la instrucción:

>> diff(N,x,2)

ans =

[ 0, 0]

Para calcular la integral de [N] con MATLAB entre los limites de integración xi y xf se usa la instrucción: int(N,xi,xf)

Entonces, para calcular la integral de [N] entre x=0 y x=1, se usa la instrucción:

>> int(N,0,1)

ans =

[ 1/2, 1]

Ejemplo A2:

Dada la matriz

[ ] 2

0

0

xB

x

=

Se define en MATLAB, mediante la instrucción:

>> syms x

>> B=[x 0;0 x^2]

B =

[ x, 0]

[ 0, x^2]

151

ANEXO

Para calcular la integral de [B], entre x=0 y x=2, se usa la instrucción:

>> BI=int(B,x,0,2)

BI =

[ 2, 0]

[ 0, 8/3]

Ejemplo A3:

Dada la matriz

Se define en MATLAB, mediante la instrucción:

>> syms x L

>> C=[x x/L;0 x*(1/L)]

C =

[ x, x/L]

[ 0, x/L]

Para calcular la integral de [C] entre x=0 y x=L, se usa la instrucción:

>> int(C,x,0,L)

ans =

[ 1/2*L^2, 1/2*L]

[ 0, 1/2*L]

[ ]0

xxL

Cx

L

=

152

JUAN CARLOS HERRERA SÁNCHEZ

Ejemplo A4:

Dada la matriz

Se define en MATLAB como:

>> syms x L

>> C=[x x^2;x^3 x^2]

C =

[ x, x^2]

[ x^3, x^2]

Para calcular la primera, segunda derivada y tercera derivada de [C] se usan las instrucciones:

>> diff(C,x)

ans =

[ 1, 2*x]

[ 3*x^2, 2*x]

>> diff(C,x,2)

ans =

[ 0, 2]

[ 6*x, 2]

[ ]2

3 2

x xC

x x

=

153

ANEXO

>> diff(C,x,3)

ans =

[ 0, 0]

[ 6, 0]

Para calcular la integral de [C] entre x=0 y x=2, se usa la instrucción:

>> int(C,x,0,2)

ans =

[ 2, 8/3]

[ 4, 8/3]

Para calcular la integral de [C] entre x=0 y x=L, se usa la instrucción:

>> int(C,x,0,L)

ans =

[ 1/2*L^2, 1/3*L^3]

[ 1/4*L^4, 1/3*L^3]

Para calcular el producto [C][C]T se da la instrucción:

>> C*transpose(C)

ans =

[ x^2+x^2/L^2, x^2/L^2]

[ x^2/L^2, x^2/L^2]

154

JUAN CARLOS HERRERA SÁNCHEZ

Para calcular la integral de [C][C]T entre x=0 y x=L, se usa la instrucción:

>> int(C*transpose(C),x,0,L)

ans =

[ 1/3*(1+1/L^2)*L^3, 1/3*L]

[ 1/3*L, 1/3*L]

Para calcular la integral de [C]T[C] entre x=0 y x=L, se usa la instrucción:

>> int(transpose(C)*C,x,0,L)

ans =

[ 1/3*L^3, 1/3*L^2]

[ 1/3*L^2, 2/3*L]

Recommended