Algebra Lineal Con MATLAB
Algebra Lineal Con MATLAB
Algebra Lineal Con MATLAB
1 2 3
A= 1 1 0
1 0 2
Se escribe como
>> A = [ 1 2 3 ; 1 1 0 ; 1 0 2 ]
o
>> A= [ 1 ,2 ,3 ; 1 ,1, 0 ; 1, 0 ,2 ]
A=
1 2 3
1 1 0
1 0 2
Y en el caso de un vector:
x = [ 1 2 3 ] este es un vector fila. (1)
Multiplicación de matrices.
Recordemos que para multiplicar las matrices A*B , el número de columnas de A debe ser igual al de
filas B. Y que en general el producto de matrices no es conmutativo.
Como a nosotros nos interesa para el cálculo de un SEA.
b = A*x'
b =
14
3
7
1 de 3
Comunicación Técnica Comunicación Electrónica Algebra lineal con Matlab
Matriz inversa.
Recordemos que la inversa de una matriz A es B tal que :
A*B = I o A*B = 1 I es la matriz identidad
-1
Es decir que A por su inversa B ( o A ) es la matriz identidad.
>> B= inv(A) La función inv() calcula la inversa de una matriz
B=
-0.4000 0.8000 0.6000
0.4000 0.2000 -0.6000
0.2000 -0.4000 0.2000
>> A*B
1.0000 0.0000 0.0000
0.0000 1.0000 0.0000
0.0000 0.0000 1.0000
o
>> B*A
1.0000 0.0000 0.0000
0.0000 1.0000 0.0000 Propiedad conmutativa de la multiplicación por la inversa.
0.0000 0.0000 1.0000
Solución de un SEA con MATLAB.
Al multiplicar la matriz A por el vector x transpuesto (A * x’) generamos un SEA:
A. x = b donde b es el vector de términos independientes de este sistema no homogéneo.
Sabemos que para hallar la soluciones x1 , x2 y x3 de este sistema, se multiplica la inversa por el
vector b, esto se puede deducir pues si multiplicamos el sistema por la inversa de A:
-1 -1 -1
A *Ax=A *b como A *A = I por lo tanto:
-1 -1
x = A * b en MATLAB se calcula A con la función inv(A), la matriz A no debe se singular.
x = inv(A) * b
x=
1.0000
2.0000
3.0000 Obtenemos así los valores de x, que coinciden con los establecidos en (1).
Nota: Internamente en MATLAB es más eficiente la operación ‘premultiplicación por la inversa’ que
se representa por el operador \ (barra invertida).
Así la solución del sistema Ax =b se obtiene con el comando:
>> x = A \ b
Con este operador el comando
>> A \ A Da como resultado una matriz unidad de 3x3.
Determinante.
Determinante de A = a11 a22 a33 + a12 a23 a31 + a13 a21 a32 - a11 a23 a32 - a12 a21 a33 - a13 a22 a31
Para calcular el determinante de una matriz en MATLAB se usa la función det(A).
>> det(A) La función det() calcula el determinante de una matriz
ans =
-5
La matriz debe ser cuadrada y no singular.
>> S = [ 1 2 3 ; 1 1 0 ; 2 4 6 ]
S=
1 2 3
1 1 0
2 4 6 Esta fila es la fila 1 * 2.00
>> det(S)
ans = 0
Al dar cero el determinante no podremos hallar la inversa.
2 de 3
Comunicación Técnica Comunicación Electrónica Algebra lineal con Matlab
[ymin,posimin] =min(y) Busca el mínimo (ymin) y su posición dentro del vector (posimin)
ym =3 posimin = 2
[ymax,posimax] =max(y) Busca el máximo (ymax) y su posición dentro del vector (posimax)
ymax= 11 posimax = 5
M = magic(3) Genera una matriz al azar de nxn elementos en este caso 3x3.
8 1 6
3 5 7
4 9 2
IDEN = eye(3) Genera una matriz identidad de nxn (en este caso 3x3)
1 0 0
0 1 0
0 0 1
3 de 3