Algebra Lineal Con Matlab

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Algebra Lineal Con Matlab as PDF for free.

More details

  • Words: 1,041
  • Pages: 3
Comunicación Técnica

Comunicación Electrónica

Algebra lineal con Matlab

Algebra lineal con MATLAB. Para sistemas de ecuaciones lineales no muy grandes es muy fácil recurrir a su solución con MATLAB, entonces conviene aprender algunas de las operaciones y funciones del manejo de matrices y vectores con esta herramienta. Esta práctica se va a orientar a usar las herramientas de MATLAB para: • Resolver un sistema de ecuaciones lineales algebraicas (SEA). • Calcular la inversa y el determinante de una matriz. Ya aprendimos a escribir matrices y vectores en MATLAB. Así la matriz: 1 A= 1 1

2 1 0

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

Transpuesta de una matriz. T Recordemos que B es la transpuesta de A (B = A ). donde b j, i = a i,j En MATLAB la transpuesta se evalúa con el operador apóstrofe ‘. >> B = A’ B= 1 1 1 2 1 0 3 0 2 En un vector fila como x su transpuesto es el vector columna: >> x’ ans = 1 2 3 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

0.0000 1.0000 0.0000

0.0000 0.0000 1.0000

o >> B*A 1.0000 0.0000 0.0000

Propiedad conmutativa de la multiplicación por la inversa.

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.

Recordemos que la inversa es: -1

A =

T

1 * [ Adj (A)] det(A)

2 de 3

Comunicación Técnica

Comunicación Electrónica

Algebra lineal con Matlab

Funciones elementales para matrices y vectores Las presentaremos con ejemplos. Los nombres de los vectores , matrices y usados a la izquierda del signo igual, o como argumentos (v , ym , posimax, num_elem , etc.) son de libre elección. Funciones para vectores. Dado el vector: v:= [ 7 ; 3 ; 6 ; 4 ; 11 ; 9 ] length(v) ans = 6

Devuelve el tamaño del vector (cantidad de elementos)

min(v) ans = 3

Busca el elemento con el valor mínimo

max(v) ans = 11

Busca el elemento con el valor máximo

[ymin,posimin] =min(y) ym =3 posimin = 2

Busca el mínimo (ymin) y su posición dentro del vector (posimin)

[ymax,posimax] =max(y) ymax= 11 posimax = 5

Busca el máximo (ymax) y su posición dentro del vector (posimax)

sum(v) ans = 40

Calcula la sumatoria de los elementos del vector

mean(v) ans = 6.6667

Calcula el promedio de los elementos del vector

[vord , posi] = sort(v) vord = posi =

3 2

4 4

6 3

7 1

Ordena el vector y devuelve un vector (vord) ordenado y otro vector (posi) con la posición de cada elemento en el original. 9 11 6 5

Funciones para matrices M = magic(3) 8 1 6 3 5 7 4 9 2

Genera una matriz al azar de nxn elementos en este caso 3x3.

IDEN = eye(3) 1 0 0 0 1 0 0 0 1

Genera una matriz identidad de nxn (en este caso 3x3)

[m,n] = size(M) m=3 n = 3

Devuelve la cantidad de filas (m) y columnas (n) de la matriz M

nfilas = size(M,1) Devuelve la cantidad de filas o sea nfilas=3 ncolum = size(M,2) Devuelve la cantidad de columnas o sea ncolum=3 º size (vector,1) se puede aplicar también para saber la cantidad de elementos de un vector: num_ele = size(v,1) o sea num_ele = 6

3 de 3

Related Documents

Algebra Lineal
May 2020 20
Algebra Lineal
June 2020 12
Algebra Lineal
May 2020 10
Algebra Lineal
October 2019 24