Está en la página 1de 49

Computacin Aplicada

MAT LAB INTRODUCCION

Vectores y Matrices

Objetivos

Definir vectores y matrices


Distinguir las operaciones respectivas Relacionar las funciones bsicas para el trabajo con matrices y vectores. Que se familiaricen con las diferentes formas de introduccin de una matriz en Matlab.

Que conozcan las diferentes operaciones matriciales que se pueden resolver con el
Matlab.

Las sentencias en Matlab tienen la forma:

>> variable = expresin o simplemente >> expresin

El resultado de la expresin se asigna a la variable para su uso futuro. En


caso de que no exista esa variable, se asigna ese resultado a la variable "ans" (answer).

Definicin de vectores

El uso de vectores simplifica la resolucin de muchos problemas como la representacin grfica de funciones, el tratamiento estadstico de datos, etc.

Al igual que en el clculo elemental distinguiremos entre vectores fila y vectores columna.

Definicin de vectores fila

Vector fila:

>>vector fila=[ v1 v2 v3 vn] Donde vn, puede ser una variable, constante o expresin que representa la n-sima componente del vector fila. Tambin pueden separarse con ,

Definicin de vectores columna

Vector columna:

>>vector columna=[ v1; v2; v3; ;vn] Donde vn, puede ser una variable, constante o expresin que representa la n-sima componente del vector columna. Deben separarse con ;

Ejemplo
>> v=[0 45 90 180 360]; >> sin(v) ans = 0 >> cos(v) ans = 1.0000 0.5253 -0.4481 -0.5985 -0.2837 0.8509 0.8940 -0.8012 0.9589

Ejemplo
>> disp(' grados sin');disp([v' sin(v)']) grados sin 0 0 45.0000 0.8509 90.0000 0.8940 180.0000 -0.8012 360.0000 0.9589

Referencia a elementos de un vector

Los componentes de un vector sern identificados por su ndice: la variable velocidad (2) representa la segunda componente de vector velocidad del ejemplo 6. Los ndices sern secuencias de nmeros naturales empezando por 1.

Extraccin de elementos de un vector

Si las componentes que deseamos extraer no son consecutivas, ni tienen una ley de formacin clara, podemos seleccionar las componentes indicadas por otro vector.

>>selec=[1, 3, 4]; >>acel(selec) ans = 2 5 7

Longitud de un vector

Se obtiene utilizando la funcin:

>>length(vector)

>>length(velocidad) ans= 3

Utilizacin de incremento

Generacin de vectores fila especificando incremento: >>vector=a:h:b Igual se obtendra con >>vector=[a:h:b] Generacin especificando su dimensin con >>linspace(a,b,n) Si se omite n se toma por defecto 100

Ejemplo 12 Utilizacin del incremento


>> n=10 >> linspace(2,4,n) ans = Columns 1 through 5 2.0000 2.2222 2.4444 2.6667 2.8889

Columns 6 through 10
3.1111 3.3333 3.5556 3.7778 4.0000

Operaciones con vectores

Operaciones con escalares: suma, resta, multiplicacin, divisin y exponenciacin. En todos los casos el vector resultante es del mismo tipo que el vector de partida. Dado un vector v y un nmero real k:

v+k suma k a cada componente de v v-k resta v*k multiplica k v.*k multiplica k por cada elemento de v v/k divide k./v divide k por cada elemento de v v.^k eleva cada componente de v a la k k.^v eleva k por cada elemento de k

Ejemplos

Ejemplo 13

>>k=2 >> velocidad+k ans = 4 6 7 >> velocidad-k ans = 0 2 3 >> velocidad*k ans = 4 8 10

Ejemplo 14
>> velocidad/k ans = 1.0000 2.0000 >> k./velocidad ans = 1.0000 0.5000 >> velocidad.^k ans = 4 16 25 >> k.^velocidad ans = 4 16 32

2.5000

0.4000

Operaciones entre vectores

Cuando dos vectores sean del mismo tipo y tengan la misma dimensin, la suma, resta, multiplicacin, divisin y exponenciacin se hacen componente a componente

Operaciones entre vectores

Suma + Resta Multiplicacin .* Divisin ./ Exponenciacin .^

Ejemplo 15
>> vector1=[2, 4, 6] >> vector2=[2, 4, 6] >> vector3=vector1+vector2 vector3 = 4 8 12 >> vector4=vector1-vector2 vectro4 = 0 0 0 >> vector5=vector1.*vector2 vector5 = 4 16 36

Ejemplo 16
>> vector6=vector1./vector2 vector6 = 1 1 1 >> vector7=vector1.^vector2 vector7 =

256

46656

Funciones de Matlab especficas para vectores

Todas las funciones vistas en la conferencia anterior admiten como argumento un vector y el resultado ser un vector del mismo tipo.

Definicin de Matrices

Las matrices se definen de forma similar a los vectores. Cada fila se introducir como un vector fila. >>A=[1 2 3; 4 5 6; 7 8 9] Los elementos se determinan por sus ndices: >>A(2, 1)

Ejemplo 17
>>Las matrices se entran explcitamente como una lista de sus elementos encerrada entre corchetes. >> A = [1 2 3; 4 5 6; 7 8 9] A= 123 456 789 Como puede verse el ";" delimita cada fila de la matriz

Matrices
Podemos acceder a un bloque de elementos de la matriz de forma similar a lo explicado para vectores: A(i,:) extrae la fila i A(:,j) extrae la columna j El tamao de una matriz puede obtenerse con: >>[f, c]=size(A) Tambin puede usarse >>size(A)

Ejemplo 18
>> A(2, 1) %Extrae elemento fila 2 columna 1 ans = 4 >> A(1,:) %Extrae fila 1 ans = 1 2 3 >> A(:,2) % extrae la columna 2 ans = 2 5 8

Ejemplo 19
[f, c]=size(A) % tamao de A f= 3 c= 3 >> size(A) % tamao de A

ans =
3 3

Ejemplo 20
Los elementos de una matriz pueden ser expresiones. >> x = [-sqrt(3) sin(pi) (4+2+1)*8/4] x= -1.7321 0.0000 14.0000

>> x(5)=abs(x(1)) x= -1.7321 0.0000 14.0000 0 1.7321 donde puede verse como la dimensin de x se incrementa automticamente y los nuevos elementos no definidos se llenan de ceros.

Ejemplo 21
Matrices mayores pueden construirse mediante elementos de tipo matriz: >> r = [10 11 12]; >> A = [1 2 3; 4 5 6; 7 8 9] >> B = [A;r] B= 1 2 3 4 5 6 7 8 9 10 11 12

Ejemplo 22
Se pueden extraer submatrices utilizando B(1:2,:)

ans =
1 4 2 5 3 6

Operaciones con matrices

Transpuesta: Intercambio de columnas por filas. Suma + : Dadas dos matrices de la misma dimensin calcula su suma elemento a elemento Resta -: igual

Ejemplo 23 Operaciones con matrices, Transpuesta


Dada una matriz A obtener su traspuesta: >> A = [1 2 3; 4 5 6; 7 8 9] A= 1 2 3 4 5 6 7 8 9

>> B = A' B= 1 4 7 2 5 8 3 6 9 >> x = [-1 0 2]' x= -1 0 2

Ejemplo 24 Operaciones con matrices,Adicin y substraccin

Se realiza igualmente que en el lgebra, cuando las matrices tienen igual dimensin, de lo contrario nos da un mensaje de error. >> C = A + B C= 2 6 10 6 10 14 10 14 18 >> C = A - B C= 0 -2 -4 2 0 -2 4 2 0

Ejemplo 25 Operaciones con matrices,Adicin y substraccin

Tambin se admite la adicin y sustraccin de un escalar. >> y = x -1 y= -2 -1 1 >> y = x +1 y= 0 1 3

Operaciones con matrices

Producto * :producto matricial. El nmero de columnas de la primera debe coincidir con el nmero de filas de la segunda. Exponenciacin ^ : Calcula el producto de la matriz por s misma tantas veces como indique el exponente. La matriz debe ser cuadrada y el exponente un nmero natural.

Ejemplo 26 Operaciones con matrices, Multiplicacin


>> b = A * x b= 5 8 11 igualmente se puede multiplicar por un escalar: >> pi * x ans= -3.1416 0.0000 6.2832

Ejemplo 27 Operaciones con matrices, Exponenciacin


>> Para elevar una matriz a una potencia se emplea A^p, donde A tiene que ser cuadrada y p un escalar. >> A^3 ans = 468 1062 1656 576 1305 2034 684 1548 2412

Operaciones con matrices

Divisin a izquierda \ : A\B significa B dividida por A. Divisin a derecha / : A/B significa A dividida por B. Nota: los smbolos *, ^ y / precedidos por un punto indican que la operacin se realiza componente a componente, y no en el sentido usual del lgebra de matrices.

Ejemplo 28 Operaciones con matrices, Divisin

>> La operacin de divisin (no definida en el lgebra) puede realizarse mediante dos operadores "\" divisin izquierda, "/" divisin derecha. >>C=B/A = B*inv(A) (Divisin derecha) ans = 4 0 0 8 0 -4 8 0 0 D= E\A = inv(E)*A (Divisin izquierda) >> E=A ans = 0 -4 0 0 8 0 4 0 0

Funciones para el trabajo con matrices

Las funciones intrnsecas del Matlab tambin admiten como argumento una matriz. Clculo de la matriz adjunta: con el comando que calcula la traspuesta conjugada si es compleja o simplemente la traspuesta si es real.

Funciones para el trabajo con matrices

Obtener la diagonal de una matriz:

>>v=diag(A) Devuelve un vector columna formado por los elementos de la diagonal principal de la matriz A. Por ejemplo, podemos calcular la traza de una matriz de la siguiente manera: >>sum(diag(A))

Ejemplo 29 Operaciones con matrices

>> v=diag(A) v= 1 5 9 >> sum(diag(A))

ans =
15

Generacin de matrices

Existen funciones en Matlab para generar funciones especiales. Resaltamos las siguientes: Generacin de una matriz de ceros: >>zeros(n, m) Generacin de una matriz de unos: >>ones(n, m)

Ejemplo 30 Operaciones con matrices >>n=m=3 >> zeros(n, m) ans = 0 0 0 0 0 0 0 0 0 >> ones(n, m) ans = 1 1 1 1 1 1 1 1 1

Generacin de matrices

Generacin de una matriz identidad: >>eye(n, m) Generacin de matriz de coeficientes aleatorios entre 0 y 1: >>rand(n, m)

Ejemplo 31 Operaciones con matrices >> eye(n, m) ans = 1 0 0 0 1 0 0 0 1 >> rand(n, m) ans = 0.9501 0.4860 0.2311 0.8913 0.6068 0.7621

0.4565 0.0185 0.8214

Generacin de matrices

Matrices con diagonal dada:


>>diag(A)

Otra forma de generar matrices es la yuxtaposicin de dos matrices: >> [A B]

Ejemplo 32 Generacion de matrices >> diag(A) ans = 1 5 9 >> [A E] ans = 1 2 3 4 5 6 7 8 9

1 4 7

2 5 8

3 6 9

Conclusiones

El Matlab es un lenguaje diseado para el trabajo con matrices.


Hoy hemos aprendido los aspectos bsicos del trabajo con matrices y vectores. No se precisa de una declaracin previa de las variables a utilizar, las mismas pueden ser tanto complejas como reales.

Se pueden introducir las matrices de diferentes formas, tanto explcitamente como a travs de expresiones.

Las operaciones matriciales siguen las reglas elementales del lgebra excepto en la divisin, que no est definida, y que en la Matlab tiene una significacin especial.