métodos matriciales para ingenieros con matlab

154
Facultad de Ingeniería Juan Carlos Herrera Sánchez, Ph.D. Métodos Matriciales para ingenieros con MATLAB

Upload: others

Post on 27-Oct-2021

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos Matriciales para ingenieros con MATLAB

Facultad de Ingeniería

Juan Carlos Herrera Sánchez, Ph.D.

Métodos Matricialespara ingenieros

con MATLAB

Page 2: Métodos Matriciales para 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: [email protected]

© 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

Page 3: Métodos Matriciales para ingenieros con MATLAB

Juan Carlos Herrera Sánchez, Ph.D.

Métodos Matricialespara ingenieros

con MATLAB

Page 4: Métodos Matriciales para 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

Page 5: Métodos Matriciales para ingenieros con MATLAB

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

Page 6: Métodos Matriciales para ingenieros con MATLAB
Page 7: Métodos Matriciales para ingenieros con MATLAB

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

Page 8: Métodos Matriciales para ingenieros con MATLAB

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

Page 9: Métodos Matriciales para ingenieros con MATLAB

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

Page 10: Métodos Matriciales para ingenieros con MATLAB

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]

Page 11: Métodos Matriciales para ingenieros con MATLAB

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

Page 12: Métodos Matriciales para ingenieros con MATLAB

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)’

Page 13: Métodos Matriciales para ingenieros con MATLAB

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 “;...”

Page 14: Métodos Matriciales para ingenieros con MATLAB

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

Page 15: Métodos Matriciales para ingenieros con MATLAB

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

Page 16: Métodos Matriciales para ingenieros con MATLAB

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

Page 17: Métodos Matriciales para ingenieros con MATLAB

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,:).

Page 18: Métodos Matriciales para ingenieros con MATLAB

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

Page 19: Métodos Matriciales para ingenieros con MATLAB

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) = []

Page 20: Métodos Matriciales para ingenieros con MATLAB

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

Page 21: Métodos Matriciales para ingenieros con MATLAB

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

Page 22: Métodos Matriciales para ingenieros con MATLAB

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

=

Page 23: Métodos Matriciales para ingenieros con MATLAB

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’

Page 24: Métodos Matriciales para ingenieros con MATLAB

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.

Page 25: Métodos Matriciales para ingenieros con MATLAB

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).

Page 26: Métodos Matriciales para ingenieros con MATLAB

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

Page 27: Métodos Matriciales para ingenieros con MATLAB

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

λλ

λ

=

Page 28: Métodos Matriciales para ingenieros con MATLAB

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

Page 29: Métodos Matriciales para ingenieros con MATLAB

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

Page 30: Métodos Matriciales para ingenieros con MATLAB

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

Page 31: Métodos Matriciales para ingenieros con MATLAB

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

Page 32: Métodos Matriciales para ingenieros con MATLAB

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

Page 33: Métodos Matriciales para ingenieros con MATLAB

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

Page 34: Métodos Matriciales para ingenieros con MATLAB

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

= − −

Page 35: Métodos Matriciales para ingenieros con MATLAB

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

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

Page 36: Métodos Matriciales para ingenieros con MATLAB

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

Page 37: Métodos Matriciales para ingenieros con MATLAB

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

Page 38: Métodos Matriciales para ingenieros con MATLAB

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

Page 39: Métodos Matriciales para ingenieros con MATLAB

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)

Page 40: Métodos Matriciales para ingenieros con MATLAB

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))

Page 41: Métodos Matriciales para ingenieros con MATLAB

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

= − − −

Page 42: Métodos Matriciales para ingenieros con MATLAB

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

=

Page 43: Métodos Matriciales para ingenieros con MATLAB

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

Page 44: Métodos Matriciales para ingenieros con MATLAB

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β λ + = −

Page 45: Métodos Matriciales para ingenieros con MATLAB

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

Page 46: Métodos Matriciales para ingenieros con MATLAB

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

+ +

= +

Page 47: Métodos Matriciales para ingenieros con MATLAB

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

+ −+ = + −

+ −+ =

Page 48: Métodos Matriciales para ingenieros con MATLAB

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

+ = −

Page 49: Métodos Matriciales para ingenieros con MATLAB

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]

Page 50: Métodos Matriciales para ingenieros con MATLAB

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

Page 51: Métodos Matriciales para ingenieros con MATLAB

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

Page 52: Métodos Matriciales para ingenieros con MATLAB

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

Page 53: Métodos Matriciales para ingenieros con MATLAB

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

=

Page 54: Métodos Matriciales para ingenieros con MATLAB

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

= − −

Page 55: Métodos Matriciales para ingenieros con MATLAB

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

Page 56: Métodos Matriciales para ingenieros con MATLAB

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)

Page 57: Métodos Matriciales para ingenieros con MATLAB

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)

Page 58: Métodos Matriciales para ingenieros con MATLAB

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

= =

Page 59: Métodos Matriciales para ingenieros con MATLAB

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:

Page 60: Métodos Matriciales para ingenieros con MATLAB

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

= =

Page 61: Métodos Matriciales para ingenieros con MATLAB

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

− =

Page 62: Métodos Matriciales para ingenieros con MATLAB

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

+

= = +

Page 63: Métodos Matriciales para ingenieros con MATLAB

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:

Page 64: Métodos Matriciales para ingenieros con MATLAB

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

=

Page 65: Métodos Matriciales para ingenieros con MATLAB

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

Page 66: Métodos Matriciales para ingenieros con MATLAB

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

= = −

=

Page 67: Métodos Matriciales para ingenieros con MATLAB

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=

= =∑

Page 68: Métodos Matriciales para ingenieros con MATLAB

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+= − = − =

Page 69: Métodos Matriciales para ingenieros con MATLAB

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

− = − −

Page 70: Métodos Matriciales para ingenieros con MATLAB

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

+ +

−− − −

= − − = − + − +

= − − = − − + + + =

Page 71: Métodos Matriciales para ingenieros con MATLAB

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

=

Page 72: Métodos Matriciales para ingenieros con MATLAB

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;

Page 73: Métodos Matriciales para ingenieros con MATLAB

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

+ +− − −= − + − +

= − + − + = −

Page 74: Métodos Matriciales para ingenieros con MATLAB

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

+ +

=

= − + −

= − + =

Page 75: Métodos Matriciales para ingenieros con MATLAB

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

Page 76: Métodos Matriciales para ingenieros con MATLAB

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)

Page 77: Métodos Matriciales para ingenieros con MATLAB

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

Page 78: Métodos Matriciales para ingenieros con MATLAB

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

−=

Page 79: Métodos Matriciales para ingenieros con MATLAB

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

Page 80: Métodos Matriciales para ingenieros con MATLAB

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

=

=

= = − +− −

= = − = −

Page 81: Métodos Matriciales para ingenieros con MATLAB

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

= =

− − − − − =

Page 82: Métodos Matriciales para ingenieros con MATLAB

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).

Page 83: Métodos Matriciales para ingenieros con MATLAB

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

→ −

Page 84: Métodos Matriciales para ingenieros con MATLAB

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

− − − = − − −

Page 85: Métodos Matriciales para ingenieros con MATLAB

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

Page 86: Métodos Matriciales para ingenieros con MATLAB

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

Page 87: Métodos Matriciales para ingenieros con MATLAB

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

→ −

→ −

Page 88: Métodos Matriciales para ingenieros con MATLAB

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

−=

Page 89: Métodos Matriciales para ingenieros con MATLAB

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.

Page 90: Métodos Matriciales para ingenieros con MATLAB

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

Page 91: Métodos Matriciales para ingenieros con MATLAB

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

Α Α Α Α

=

Page 92: Métodos Matriciales para ingenieros con MATLAB

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

Α − Α Α + Β =

− Α Α Α Β =

Page 93: Métodos Matriciales para ingenieros con MATLAB

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

− Β Β Α = Β Β

Page 94: Métodos Matriciales para ingenieros con MATLAB

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

− Β = − − −

− Β = − −

Β = −

Page 95: Métodos Matriciales para ingenieros con MATLAB

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

= −

Page 96: Métodos Matriciales para ingenieros con MATLAB

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

−− Β = Α − Α Α Α

Page 97: Métodos Matriciales para ingenieros con MATLAB

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

Page 98: Métodos Matriciales para ingenieros con MATLAB

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:

Page 99: Métodos Matriciales para ingenieros con MATLAB

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

− = − − −

Page 100: Métodos Matriciales para ingenieros con MATLAB
Page 101: Métodos Matriciales para ingenieros con MATLAB

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

Page 102: Métodos Matriciales para ingenieros con MATLAB

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 ≠

Page 103: Métodos Matriciales para ingenieros con MATLAB

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

= − − −

Page 104: Métodos Matriciales para ingenieros con MATLAB

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−

− = − −

Page 105: Métodos Matriciales para ingenieros con MATLAB

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

= −

Page 106: Métodos Matriciales para ingenieros con MATLAB

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

− = =

Page 107: Métodos Matriciales para ingenieros con MATLAB

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

Page 108: Métodos Matriciales para ingenieros con MATLAB

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

− −

−= = =

− −

Page 109: Métodos Matriciales para ingenieros con MATLAB

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

Page 110: Métodos Matriciales para ingenieros con MATLAB

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

′=

Page 111: Métodos Matriciales para ingenieros con MATLAB

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

→ −

→ − −

Page 112: Métodos Matriciales para ingenieros con MATLAB

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

− −

− − − − −

Page 113: Métodos Matriciales para ingenieros con MATLAB

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

→ −

→ −

Page 114: Métodos Matriciales para ingenieros con MATLAB

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

→ −

→ −

Page 115: Métodos Matriciales para ingenieros con MATLAB

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

− = −

=

Page 116: Métodos Matriciales para ingenieros con MATLAB

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

− + =

+ − = −

− + =

Page 117: Métodos Matriciales para ingenieros con MATLAB

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

Page 118: Métodos Matriciales para ingenieros con MATLAB

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

− + =

− = −

Page 119: Métodos Matriciales para ingenieros con MATLAB

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

= −

= − − +

Page 120: Métodos Matriciales para ingenieros con MATLAB

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.

Page 121: Métodos Matriciales para ingenieros con MATLAB

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

Page 122: Métodos Matriciales para ingenieros con MATLAB

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

− = − − −

− = −

Page 123: Métodos Matriciales para ingenieros con MATLAB

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

− − − −

Page 124: Métodos Matriciales para ingenieros con MATLAB

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

− + = −

= − + −

= + − =

Page 125: Métodos Matriciales para ingenieros con MATLAB

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]’

Page 126: Métodos Matriciales para ingenieros con MATLAB

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.

Page 127: Métodos Matriciales para ingenieros con MATLAB

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

− − − = −

Page 128: Métodos Matriciales para ingenieros con MATLAB

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

→ −

Page 129: Métodos Matriciales para ingenieros con MATLAB

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

Page 130: Métodos Matriciales para ingenieros con MATLAB

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

→ −

− → −

Page 131: Métodos Matriciales para ingenieros con MATLAB

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

→ −

→ −

Page 132: Métodos Matriciales para ingenieros con MATLAB

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

=

= −

=

Page 133: Métodos Matriciales para ingenieros con MATLAB

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.

Page 134: Métodos Matriciales para ingenieros con MATLAB

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

Page 135: Métodos Matriciales para ingenieros con MATLAB

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.

Page 136: Métodos Matriciales para ingenieros con MATLAB

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.

Page 137: Métodos Matriciales para ingenieros con MATLAB

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

− − − = −

Page 138: Métodos Matriciales para ingenieros con MATLAB

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

− =

Page 139: Métodos Matriciales para ingenieros con MATLAB

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

− − −= = −

Page 140: Métodos Matriciales para ingenieros con MATLAB

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

− − − −

Page 141: Métodos Matriciales para ingenieros con MATLAB

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

= + = −

=

Page 142: Métodos Matriciales para ingenieros con MATLAB

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

=

Page 143: Métodos Matriciales para ingenieros con MATLAB

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

= =

= =

Page 144: Métodos Matriciales para ingenieros con MATLAB

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

= −

Page 145: Métodos Matriciales para ingenieros con MATLAB

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

− = − −

Page 146: Métodos Matriciales para ingenieros con MATLAB

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

Α = − − = −

Page 147: Métodos Matriciales para ingenieros con MATLAB

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

− − + =

− + + − = −

− + + =

+ − − =

Page 148: Métodos Matriciales para ingenieros con MATLAB
Page 149: Métodos Matriciales para ingenieros con MATLAB

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]

Page 150: Métodos Matriciales para ingenieros con MATLAB

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]

Page 151: Métodos Matriciales para ingenieros con MATLAB

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

=

Page 152: Métodos Matriciales para ingenieros con MATLAB

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

=

Page 153: Métodos Matriciales para ingenieros con MATLAB

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]

Page 154: Métodos Matriciales para ingenieros con MATLAB

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]