Documentos de Académico
Documentos de Profesional
Documentos de Cultura
U
U
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
A=
1230
5 -1 0 0
3 -2 0 5
.
contamos con 3 filas y 4 columnas. Diremos que las dimensiones de la matriz son
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
Indexación
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 =
Se puede acceder a toda una fila con el operador de colon de Matlab. El comando
>> A (2, :)
ans =
5 -1 0 0
Del mismo modo, puede acceder a cualquiera de las columnas de la matriz A. La notación A (:, 2)
es
>> A (:, 2)
ans =
2
-1
-2
por ejemplo, que desea extraer una submatriz usando las filas 1 y 3 y
columnas 2 y 4.
ans =
20
-2 0
>> A
A=
1230
5 -1 0 0
3 -2 0 5
>> 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,
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,
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
una entrada que tiene un índice de fila o columna mayor que la dimensión correspondiente
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
ans =
55
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=
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> A. '
ans =
16 5 9 4
2 11 7 14
3 10 6 15
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
. En esencia, teniendo
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=
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
>> 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
>> 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=
000
000
>> E = [A D; D A]
E=
111000
111000
000111
000111
Las posibilidades son infinitas, con una salvedad. Las dimensiones deben ser correctos
A=
11
11
B=
000
000
>> C = [A B]
C=
11000
Pero no es posible construir una nueva matriz con A y B como elementos de columna.
>> C = [A; B]
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
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
,
3A = 3
123
456
789
=
369
12 15 18
21 24 27
>> 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
A=
111
222
333
yB=
111
111
111
,
encontrar la suma A + B.
A+B=
111
222
333
+
111
111
111
=
222
333
444
.
ans =
222
333
444
Vamos a ver lo que sucede cuando las dimensiones no son las mismas.
|A=
111
222
333
yB=
111
1 1 1?
ans =
33
>> Tamaño (B)
ans =
23
>> A + B
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
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
>> A = [1 1 1; 2 2 2; 3 3 3];
>> A + 1
ans =
222
333
444
los ejercicios.
Matrix-Vector Multiplicación
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
2x + 3y + 4z
3x + 2y + 4z
5x - 3y + 8x
=
2x
3x
5x
+
3y
2y
-3y
+
4z
4z
8z
=
lado izquierdo.
x
+y
-3
+z
=
1
(2.2)
+y
-3
+z
, [3, 2, -3] T
Y [4, 4, 8] T
forma
234
324
5 -3 8
=
. (2,3)
Ax = b,
donde
A=
234
324
5 -3 8
, x =
z
, y b =
.
matriz de coeficientes en (2.3) con el sistema original (2.1), se ve que las entradas
el lado derecho del sistema original (2.1). Por lo tanto, es una simple cuestión de
Sin embargo, es aún más importante comparar los lados izquierdos de sistema
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.
1 2 -3
304
0 -2 2
-2
.
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
>> A * x
ans =
-12
15
10
A=
111
2 0 -2
yx=
Ax =
111
2 0 -2
??1
= 1?
+ 1?
+? ?
1
-2
. (2.4)
combinación lineal.
>> A * x
Dimensiones internas? Vamos a ver si somos capaces de intuir lo que eso significa. En nuestro
ejemplo,
Multiplicación Matrix-Matrix
AB = A
b1, b2,. . . , Bn
Por lo tanto, tomar el producto de las matrices A y B, sólo tiene que multiplicar la matriz A
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
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,
Ahora, multiplique.
AB =
111
2 0 -2
12
1 -2
20
.
ans =
23
ans =
32
de A y B.
>> C = A * B
C=
40
-2 4
ans =
22
Recordemos que fue un 2 × 3 y B fue de 3 × 2. Tenga en cuenta que las "dimensiones exteriores"
son
Veamos un ejemplo.
A=
22
3 3?
,B=
11
2 5?
YC=
33
2 5?
de (AB) C = A (BC).
>> (A * B) * C
ans =
42 78
63 117
>> A * (B * C)
ans =
42 78
63 117
ejemplo.
A=
12
3 4?
yB=
35
2 7?
>> A * B
ans =
7 19
17 43
>> B * A
ans =
18 26
23 32
A y B no se conmute. Es decir,
AB 6 = BA.
la respuesta.
>> A * B
ans =
10
01
>> B * A
ans =
10
01
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
cambiado el orden y debe esperar una respuesta incorrecta. Vamos a explorar cómo
Aquí está una lista de propiedades de la matriz que puede confiar en el trabajo todo el tiempo.
A (B + C) = AB + AC
(A + B) C = AC + BC.
(Α + β) A = aA + ßA
α (A + B) = aA + alphaB.
α (ßA) = (αβ) A.
Es decir, A (B + C) = AB + AC.
>> A * (B + C)
ans =
8 47
18 48
>> A * B + A * C
ans =
8 47