Está en la página 1de 37

2.

2 Matrices en Matlab

Usted puede pensar en una matriz como compuesto de 1 o más vectores fila de igual

longitud. De manera equivalente, se puede pensar en una matriz de estar formado por 1 o más

vectores columna de igual longitud. Consideremos, por ejemplo, la matriz

A=

1230

5 -1 0 0

3 -2 0 5

.

Se podría decir que la matriz A se compone de 3 filas de longitud 4. De manera equivalente,

se podría decir que la matriz A se compone de 4 columnas de longitud 3. En cualquiera de los


modelos,

contamos con 3 filas y 4 columnas. Diremos que las dimensiones de la matriz son

3-por-4, a veces escrito 3 × 4.

Ya sabemos cómo introducir una matriz en Matlab: delimitar cada elemento de una fila

con un espacio o una coma, y comenzar una nueva fila, poniendo fin a una disputa con un punto y
coma.

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

A=

1230

5 -1 0 0

3 -2 0 5

Podemos usar el comando de Matlab tamaño para determinar las dimensiones de cualquier
matriz.
>> Tamaño (A)

ans =

34

Eso es 3 filas y 4 columnas!

Indexación

Matrices de indexación en Matlab es similar a la indexación vimos con vectores. La

diferencia es que hay otro Dimension2

Para acceder al elemento de la fila 2 columna 3 de la matriz A, introduzca este comando.

Veremos más adelante que podemos tener más de dos dimensiones. 276 Capítulo 2 vectores y
matrices en Matlab

>> A (2,3)

ans =

Este es de hecho el elemento de la fila 2, columna 3 de la matriz A.

Se puede acceder a toda una fila con el operador de colon de Matlab. El comando

A (2, :) esencialmente significa "cada columna de la fila 2" de la matriz A.

>> A (2, :)

ans =

5 -1 0 0

Tenga en cuenta que esta es la segunda fila de la matriz A.

Del mismo modo, puede acceder a cualquiera de las columnas de la matriz A. La notación A (:, 2)
es

pronunciado "columna de cada fila 2" de la matriz A.

>> A (:, 2)

ans =
2

-1

-2

Tenga en cuenta que esta es la segunda columna de la matriz A.

También puede extraer una submatriz de la matriz A con la indexación. Supongamos,

por ejemplo, que desea extraer una submatriz usando las filas 1 y 3 y

columnas 2 y 4.

>> A ([1,3], [2,4])

ans =

20

-2 0

Estudie esto cuidadosamente y determinar si hemos realmente las filas 1 y 3 y columnas


seleccionadas

2 y 4 de la matriz A. Podría ayudar a repetir el contenido de A.Section matriz 2.2 Matrices en


Matlab 77

>> A

A=

1230

5 -1 0 0

3 -2 0 5

Puede asignar un nuevo valor a una entrada de la matriz A.

>> A (3,4) = 12

A=

1230

5 -1 0 0

3 -2 5 12
Cuando se asigna a una fila, columna o submatriz de la matriz A, debe reemplazar

los contenidos con una fila, columna o submatriz de igual dimensión. Por ejemplo,

este siguiente comando asignar nuevos contenidos a la primera fila de la matriz A.

>> A (1,:) = 20:23

A=

20 21 22 23

5 -1 0 0

3 -2 5 12

Hay una excepción a esta regla. Si el lado derecho contiene un solo número,

entonces ese número se le asignará a cada entrada de la submatriz de la izquierda.

Por ejemplo, para hacer que cada entrada en la columna 2 de la matriz A igual a 11, trata de la

siguiente código.

>> A (:, 2) = 11

A=

20 11 22 23

5 11 0 0

3 11 5 12

Es interesante lo que sucede (y muy potente) cuando intenta asignar un valor a

una entrada que tiene un índice de fila o columna mayor que la dimensión correspondiente

de la matriz. Por ejemplo, pruebe este comando.

>> A (5,5) = 777

A=

20 11 22 23 0

5 11 0 0 0

3 11 5 12 0

00000
0 0 0 0 777

Tenga en cuenta que Matlab felizmente asigna 777 a la fila 5, columna 5, la ampliación de las
dimensiones

de la matriz y el relleno de las entradas que faltan con ceros.

>> Tamaño (A)

ans =

55

La transposición de una matriz

Usted puede tomar la transpuesta de una matriz en la misma forma que ha tomado la

transpuesta de un vector fila o columna. Por ejemplo, formar una matriz de "magia" con

el siguiente comando.

>> A = magia (4)

A=

16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

Usted puede calcular AT con el siguiente comando.

>> A. '

ans =

16 5 9 4

2 11 7 14

3 10 6 15

13 8 12 1Sección 2.2 Matrices en Matlab 79

Tenga en cuenta que la primera fila de la matriz AT era anteriormente la primera columna de la
matriz
A. La segunda fila de la matriz AT antes era la segunda columna de la matriz

A, y así sucesivamente para las tercera y cuarta columnas de la matriz de AT

. En esencia, teniendo

la transpuesta refleja la matriz A través de su (esquina superior izquierda diagonal principal

esquina inferior derecha), por lo que las filas de A columnas convertido de AT y las columnas de

A filas convertido de AT

Construcción de Matrices

Matlab tiene algunas capacidades poderosas para construir nuevas matrices de uno o

más matrices y / o vectores. Por ejemplo, empezar por la construcción de una matriz de 2 × 3 de

queridos.

>> A = queridos (2,3)

A=

111

111

Ahora, construir una nueva matriz con A como la primera columna y A como la segunda columna.

Como no estamos comenzando una nueva fila, podemos utilizar el espacio ni comas para delimitar

las entradas de fila.

>> C = [A A]

C=

111111

111111

Por otro lado, supongamos que queremos construir una nueva matriz con A como la

primera fila y A como la segunda fila. Para iniciar una nueva fila debemos poner fin a la primera fila

con un punto y coma.

>> C = [A; A]
C=

111

111

111

111

Vamos a crear una matriz de 2 × 3 de todos zeros.80 Capítulo 2 vectores y matrices en Matlab

>> D = ceros (2,3)

D=

000

000

Ahora, vamos a construir una matriz de las matrices A y D.

>> E = [A D; D A]

E=

111000

111000

000111

000111

Las posibilidades son infinitas, con una salvedad. Las dimensiones deben ser correctos

o Matlab informará de un error. Por ejemplo, cree una matriz de 2 × 2 de unos.

>> A = queridos (2,2)

A=

11

11

Y una matriz 2 × 3 de ceros.

>> B = ceros (2,3)

B=
000

000

Es posible construir una nueva matriz con A y B como elementos de fila.

>> C = [A B]

C=

11000

1 1 0 0 0Section 2.2 Matrices en Matlab 81

Pero no es posible construir una nueva matriz con A y B como elementos de columna.

>> C = [A; B]

??? Error al utilizar ==> vertcat

Dimensiones argumentos CAT no son consistentes.

Esto sucede porque A tiene 2 columnas, pero B tiene 3 columnas, por lo que las columnas

no se alinean.

Veremos más tarde trabajan que las capacidades de construcción de la matriz de Matlab son un

poderoso aliado.

Multiplicación escalar-Matrix

Si se le pregunta a multiplicar una matriz por un escalar, es de esperar que la operación de

multiplicación escalar de la matriz se lleva a cabo exactamente de la misma manera que

multiplicación escalar en vectores. Es decir, basta multiplicar cada entrada de la matriz por

el escalar.

I Ejemplo 1. Si A es la matriz

A=3

123

456
789

,

realizar la multiplicación escalar 3A-matriz.

Simplemente multiplicar 3 veces cada entrada de la matriz.

3A = 3

123

456

789

=

369

12 15 18

21 24 27

Matlab entiende multiplicación escalar-matriz. En primer lugar, introducir la matriz A.

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

A=

123

456

789
Ahora calcular 3A.82 Capítulo 2 vectores y matrices en Matlab

>> 3 * A

ans =

369

12 15 18

21 24 27

Matriz de Adición

Si dos matrices tienen la misma dimensión, a continuación, añadir las matrices mediante la adición
de la

entradas en cada matriz correspondiente.

I Ejemplo 2. Si A y B son las matrices

A=

111

222

333

yB=

111

111

111

,
encontrar la suma A + B.

Sólo tienes que añadir las entradas correspondientes.

A+B=

111

222

333

+

111

111

111

=

222

333

444

.

Matlab entiende la suma de matrices.

>> A = [1 1 1; 2 2 2; 3 3 3]; B = [1 1 1; 1 1 1; 1 1 1];


>> A + B

ans =

222

333

444

Esto es idéntico a la suma calculada a mano anteriormente.

Vamos a ver lo que sucede cuando las dimensiones no son las mismas.

I Ejemplo 3. Si A y B son las matrices

|A=

111

222

333

yB=

111

1 1 1?

luego encontrar la suma A + B.

Tenga en cuenta las dimensiones de cada matriz.

>> A = [1 1 1; 2 2 2; 3 3 3]; B = [1 1 1; 1 1 1];

>> Tamaño (A)

ans =

33
>> Tamaño (B)

ans =

23

Las matrices A y B no tienen las mismas dimensiones. Therfore, no es

posible sumar las dos matrices.

>> A + B

??? Error al utilizar ==> más

Dimensiones de la matriz deben estar de acuerdo.

Se espera completamente Este mensaje de error.

Un último ejemplo es el fin.

I Ejemplo 4. Si la matriz A es

A=

111

222

333

,

calcular A + 1.

Tenga en cuenta que esta adición de una matriz y un escalar no tiene sentido.

A+1=

111

222
333

 + 184 Capítulo 2 vectores y matrices en Matlab

Las dimensiones son todo mal. Sin embargo, esta es una ocurrencia común en tales

cálculos algebraicos (como veremos a lo largo del curso), Matlab permite esto

-matriz escalar adición.

>> A = [1 1 1; 2 2 2; 3 3 3];

>> A + 1

ans =

222

333

444

Matlab, simplemente añade 1 a cada entrada de la matriz A. Es decir, interpreta Matlab

A + 1, como si se tratara de la adición de la matriz del Ejemplo 2.

Además Matrix disfruta varias propiedades, que le pediremos que explorar en

los ejercicios.

1. La adición es conmutativa. Es decir, A + B = B + A para todas las matrices A y B

que tienen la misma dimensión.

2. La adición es asociativa. Es decir, (A + B) + C = A + (B + C), para todas las matrices

A, B, y C que tienen la misma dimensión.

3. La matriz de cero es la identidad aditiva. Es decir, si A es m × n y 0 es una

m × n matriz de todos los ceros, entonces A + 0 = A.

4. Cada matriz A tiene un inverso aditivo. Formar la matriz -A negando cada

la entrada de la matriz A. Entonces, A + (-A) = 0.

Matrix-Vector Multiplicación

Considere el sistema lineal de tres ecuaciones con tres incógnitas.


2x + 3y + 4z = 6

3x + 2y + 4z = 8

5x - 3y + 8x = 1.

(2,1)

Debido a que cada una de las entradas correspondientes son iguales, los siguientes 3 × 1 vectores

también son iguales.

2x + 3y + 4z

3x + 2y + 4z

5x - 3y + 8x

=

Section 2.2 Matrices en Matlab 85

El vector de la izquierda puede ser escrita como una suma de vectores.

2x

3x

5x

+

3y

2y

-3y

+

4z

4z

8z

=

Multiplicación escalar se puede utilizar para factorizar la variable de cada vector en el

lado izquierdo.

x

+y

-3

+z

=

1

 (2.2)

La construcción en el lado izquierdo de este resultado es tan importante que lo haremos

hacer una pausa para hacer una definición.

Definición 5. Deje α1, α2,. . ., Y αn ser escalares y dejar v1, v2,. . ., Y

VN ser vectores. Entonces la construcción

α1v1 + α2v2 + · · · + αnvn

se llama una combinación lineal de los vectores v1, v2,. . ., Y vn. La

escalares α1, α2,. . ., Y αn son llamados los pesos de la combinación lineal.

Por ejemplo, se dice que

+y

-3

+z


es una combinación lineal de los vectores [2, 3, 5] T

, [3, 2, -3] T

Y [4, 4, 8] T

Por último, damos un último paso adicional y escribimos el sistema (2.2) en el

forma

234

324

5 -3 8


=

. (2,3)

Tenga en cuenta que el sistema (2.3) tiene la forma

Ax = b,

donde

Aquí se utiliza el operador de transposición a ahorrar un poco de espacio en el documento. 386


Capítulo 2 vectores y matrices en Matlab

A=

234

324

5 -3 8

, x =

z

, y b =

.

La matriz A en (2.3) se llama la matriz de coeficientes. Si se compara el

matriz de coeficientes en (2.3) con el sistema original (2.1), se ve que las entradas

de la matriz de coeficientes son simplemente los coeficientes de x, y, y z en (2,1). En

lado derecho del sistema (2.3), el vector b = [6, 8, 1] T

contiene los números de

el lado derecho del sistema original (2.1). Por lo tanto, es una simple cuestión de

transformar un sistema de ecuaciones en una ecuación matricial.

Sin embargo, es aún más importante comparar los lados izquierdos de sistema

(2.2) y el sistema (2.3), señalando que

234

324

5 -3 8


=x

+y

-3

+z


.

Esto nos dice cómo multiplicar una matriz y un vector. Uno toma una combinación lineal

de las columnas de la matriz, usando las entradas en el vector como pesos para

la combinación lineal.

Veamos un ejemplo de matriz-vector de multiplicación

I Ejemplo 6. Multiplicar la matriz y el vector

1 2 -3

304

0 -2 2

-2

.

Para realizar la multiplicación, tomar una combinación lineal de las columnas de la

matriz, usando las entradas en el vector como pesos.

1 2 -3

304
0 -2 2

-2

=1

-2

-2

+3


-3

+

-4

+

-9

12


-12

15

10

Es importante señalar que esta respuesta tiene el mismo número de entradas como lo hace

cada columna de la matriz.

Vamos a ver si Matlab entiende esta forma de matriz-vector de multiplicación.

En primer lugar, cargar la matriz y el vector.

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

Ahora realizar la multiplicación.

>> A * x

ans =

-12

15

10

Tenga en cuenta esto es idéntico a nuestro resultado calculado mano.

Veamos otro ejemplo.

I Ejemplo 7. Multiplicar Ax, donde

A=

111
2 0 -2

yx=

Si intenta realizar el vector-matriz mediante la adopción de una combinación lineal utilizando

las entradas de los vectores como pesos,

Ax =

111

2 0 -2

??1

= 1?

+ 1?

+? ?
1

-2

. (2.4)

El problema es clara. No hay suficientes pesos en el vector para realizar la

combinación lineal.

Vamos a ver si Matlab entiende este problema "de peso".

>> A = [1 1 1; 2 0 -2]; x = [1; 1];

>> A * x

??? Error al utilizar ==> mtimes

Dimensiones de la matriz interiores deben estar de acuerdo.

Dimensiones internas? Vamos a ver si somos capaces de intuir lo que eso significa. En nuestro
ejemplo,

la matriz A tiene dimensiones de 2 × 3 y el vector x tiene dimensiones 2 × 1. Si yuxtaponemos

estas dimensiones en la forma (2 × 3) (2 × 1), entonces las dimensiones interiores No match.88


Capítulo 2 vectores y matrices en Matlab

Requisito Dimensión. Si la matriz A tiene dimensiones m × n y vector

x tiene dimensiones n × 1, entonces decimos "las dimensiones innner coinciden," y el

Ax producto matriz-vector es posible. En palabras, el número de columnas de

la matriz A debe ser igual al número de filas de vector x.

Multiplicación Matrix-Matrix

Nos gustaría ampliar nuestra definición de matriz-vector de multiplicación con el fin de

encontrar el producto de matrices. Aquí está la definición necesaria.

Definición 8. Sea A y B matrices y dejar b1, b2,. . ., Y bn representan

las columnas de la matriz B. Entonces,

AB = A
b1, b2,. . . , Bn

Ab1, Ab2,. . . , Abn

Por lo tanto, tomar el producto de las matrices A y B, sólo tiene que multiplicar la matriz A

veces cada columna vector de la mirada de la matriz B. Veamos un ejemplo.

I Ejemplo 9. Multiplicar

12

3 4? ? 1 -2

2 1?

Multiplicamos los primeros tiempos de la matriz cada columna de la segunda matriz, entonces
usamos

combinaciones lineales para realizar las multiplicaciones matriz-vector.

12

3 4? ? 1 -2

2 1?

??12

3 4? ? 1
2

12

3 4? ? -2

??

+ 2?

, -2

+ 1?

2
4

??

50

11 -2

Vamos a ver si Matlab entiende esta forma de multiplicación de la matriz-matriz. En primer lugar,

cargar las matrices A y B.

>> A = [1 2 3; 4]; B = [1 -2; 2 1];

Ahora, multiplique.

Ejemplo 11. Multiplicar

AB =

111

2 0 -2

12

1 -2

20

.

Cargue las matrices A nd B en Matlab y comprobar sus dimensiones.

>> A = [1 1 1; 2 0 -2]; B = [1 2; 1 -2; 2 0];


>> Tamaño (A)

ans =

23

>> Tamaño (B)

ans =

32

Por lo tanto, la matriz A tiene dimensiones de 2 × 3 y B tiene dimensiones de 3 x 2. Por lo tanto, la

dimensiones internas coinciden (ambos son iguales a 3) y es posible formar el producto

de A y B.

>> C = A * B

C=

40

-2 4

Tenga en cuenta las dimensiones de la respuesta.

>> Tamaño (C)

ans =

22

Recordemos que fue un 2 × 3 y B fue de 3 × 2. Tenga en cuenta que las "dimensiones exteriores"
son

2 × 2, que dan las dimensiones del producto.

Dimensiones del producto. Si la matriz A es m × n y la matriz B es n × p,

a continuación, las dimensiones de AB serán m × p. Decimos que las "dimensiones exteriores

dar la dimensión del producto ". Sección 2.2 Matrices en Matlab 91

Propiedades de la multiplicación de matrices

La multiplicación de matrices es asociativa. Es decir, para cualquier matrices A, B, y C,

que proporcionan las dimensiones están en lo cierto,


(AB) C = A (BC).

Veamos un ejemplo.

I Ejemplo 12. Dada

A=

22

3 3?

,B=

11

2 5?

YC=

33

2 5?

usar Matlab para demostrar que (AB) C = A (BC).

Cargue las matrices A, B y C en Matlab, entonces calcular el lado izquierdo

de (AB) C = A (BC).

>> A = [2 2; 3 3]; B = [1 1; 2 5]; C = [3 3; 2 5];

>> (A * B) * C

ans =

42 78

63 117

A continuación, el cálculo de la parte derecha de (AB) C = A (BC).

>> A * (B * C)
ans =

42 78

63 117

Por lo tanto, (AB) C = A (BC).

Multiplicación de matrices es asociativa. En general, si A, B, y C tienen

dimensiones de manera que las multiplicaciones son posibles, la multiplicación de matrices es

asociativo. Es decir, que es siempre el caso de que

(AB) C = A (BC) 0.92 Capítulo 2 vectores y matrices en Matlab

Por desgracia, la multiplicación de matrices no es conmutativa. Es decir, incluso si A

y B son de dimensiones correctas, es posible que AB 6 = BA. Echemos un vistazo a un

ejemplo.

I Ejemplo 13. Sea

A=

12

3 4?

yB=

35

2 7?

Realice las matrices A y B conmutan? Es decir, ¿AB = BA?

Cargue las matrices en Matlab, entonces calcular AB.

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

>> A * B

ans =
7 19

17 43

Ahora calcular BA.

>> B * A

ans =

18 26

23 32

Por lo tanto, AB 6 = BA.

Multiplicación de matrices no es conmutativa. En general, incluso si las dimensiones

de A y B nos permiten invertir el orden de multiplicación, matrices

A y B no se conmute. Es decir,

AB 6 = BA.

Cualquier cambio en el orden de la multiplicación de matrices probablemente cambiar

la respuesta.

Algunas matrices no conmutan, haciendo de este aún más complicado.

>> A = [5 3; 7 4], B = [- 4 3; 7 -5];

>> A * B

ans =

10

01

>> B * A

ans =

10

01

En este caso, AB = BA.

Sin embargo, en general, la multiplicación de matrices no es conmutativa. La pérdida de la


propiedad conmutativa no es para tomarse a la ligera. Cada vez que cambie el orden

de la multiplicación, se arriesga una respuesta incorrecta. Hay muchos insidiosa

formas en que los cambios de orden pueden entrar en nuestros cálculos. Por ejemplo, si usted

multiplicar el lado izquierdo de la ecuación a la izquierda por una matriz A, luego se multiplica

el lado derecho de la ecuación a la derecha por la misma matriz A, que haya

cambiado el orden y debe esperar una respuesta incorrecta. Vamos a explorar cómo

la pérdida de la propiedad conmutativa puede afectar negativamente a otras algebraica


familiarizado

propiedades en los ejercicios.

Aquí está una lista de propiedades de la matriz que puede confiar en el trabajo todo el tiempo.

Sean A y B dos matrices de la dimensión correcta para que las adiciones y

multiplicaciones que siguen son posibles. Deje que α y β ser escalares.

A (B + C) = AB + AC

(A + B) C = AC + BC.

(Α + β) A = aA + ßA

α (A + B) = aA + alphaB.

α (ßA) = (αβ) A.

(AA) B = α (AB) = A (alphaB).

Por ejemplo, como se ha dicho, la multiplicación de matrices es distributiva sobre la suma.

Es decir, A (B + C) = AB + AC.

>> A = [2 3; -1 4]; B = [1 2; 0 9]; C = [- 3 2; 4 4];

>> A * (B + C)

ans =

8 47

18 48

>> A * B + A * C
ans =

8 47

18 4894 Capítulo 2 vectores y matrices en Matlab

También podría gustarte