Vous êtes sur la page 1sur 45

VECTORES Y MATRICES

VECTOR

Los vectores son las matrices ms simples: un vector fila de m elementos es


una matriz de dimensin m1, un vector columna de n elementos es una
matriz de dimension 1n. En esta pgina, vamos a ver como se crean
vectores, como se realizan operaciones con estas entidades y cmo se accede
a sus elementos.

En muchos lenguajes, el primer elemento de un vector (array) tiene ndice


cero, en MATLAB tiene ndice uno.

Un vector x es un conjunto de n nmeros reales

[x1, x2, ....xn]

Geometricamente, representa un punto en el espacio Rn,

VECTOR EN MATLAB

En MATLAB representamos un vector del siguiente modo

>> r=[5 3 -5]


r = 5 3 -5
Para crear un vector fila se escribe sus elementos unos a continuacin de los otros separados
por espacios o comas, y entre parntesis cuadrados, tal como se muestra en el cuadro.

Para crear un vector columna se escribe los elementos unos a continuacin de los otros separados
por puntos y comas o bien, en forma columna tal como se indica en el cuadro.
>> r=[5; 3; -5];
>> r =
5
3
-5
Podemos convertir un vector fila en columna mediante el operador transpuesto '

VECTOR TRANSPUESTO

'
>> r=[1,2,3]'
r =
1
2
3

VECTOR A ESCALA
>> x=3:2:15
x = 3 5 7 9 12 15
>> y=2:-0.2:1
y = 2.0000 1.8000 1.6000 1.4000 1.2000 1.0000
>> z=-5:3 % el espaciado por defecto es 1
y = -5 -4 -3 -2 -1 0 1 2 3

elementos de un vector
ejemplo x=[3,6,9,12,15,18];

Indice 1

Valor 3

12

15

18

TAMAO de un vector

Para acceder a un elemento i del vector r se escribe r(i).


Para acceder la primer elemento se escribe r(1).
Para acceder al ltimo se escribe r(end).
La funcin length devuelve el nmero de elementos del vector
>> r=[5 3 -5];
>> r(1)
ans =5
>> r(end)
ans =-5
>> length(r)
ans = 3

forma de extraer un vector de otro vector.

Por ejemplo, creamos un vector u con los elementos comprendidos


entre las posiciones 3 y 7 ambas incluidas, de un vector v que tiene
10 elementos
>> v=[4 10 -3 7 -1 0 8 13 -7 0];
>> u=v(3:7)
u = -3 7 -1 0 8

crear un vector u a partir de v

crear un vector u tomando el elemento quinto, primero, cuarto y octavo


elemento del vector v, en este orden.
>> v=[4 10 -3 7 -1 0 8 13 -7 0];
>> u=v([5 1 4 8])
u = -1 4 7 13

aadir elementos a un vector

Se pueden aadir elementos a un vector de la siguiente forma


>> v=1:4
v = 1 2 3 4
>> v(5:10)=7:3:22
v = 1 2 3 4 7 10 13 16 19 22
>> v(12)=-1
v = 1 2 3 4 7 10 13 16 19 22 0 -1
Si se sobrapasa la dimensin del vector que era 10, se le aade el elemento de
ndice 12, al elemento de ndice 11 se le asigna automticamente cero.

concatenacin

Creamos un vector a partir de otros dos vectores, insertamos un


escalar (vector de dimensin 1) al principio de un vector o en medio
del vector
>> a=[1 2 3];
>> b=[4 5 6 7];
>> c=[a b]
c = 1 2 3 4 5 6 7
>> d=[-1 a]
d = -1 1 2 3
>> e=[d(1:2) -5 d(3:4)]
e = -1 1 -5 2 3

Eliminar elementos

Se pueden eliminar elementos de un vector


>> e
e = -1 1 -5 2 3
>> e(2:4)=[]
e = -1 3

Operaciones con vectores


Suma de un escalar y un vector

Suma de un escalar y un vector


>> x=[1,2,3];
>> x+5
ans = 6 7 8

Producto

El producto de un vector u por un escalar es otro vector v de la


misma direccin, se multiplica cada elemento por el escalar
v=u=[u1u2....un]v=u=[u1u2....un]
>> u=[1,2,3];
>> u*3
ans = 3 6 9

Otras operaciones

Se pueden realizar ms operaciones con un vector, por ejemplo calcular


la raz cuadrada de un conjunto de datos
>> x=[4 9 16 25];
>> u=sqrt(x)
u = 2 3 4 5
>> 3*u-2
ans = 4 7 10 13

Suma de dos vectores

Los vectores con el mismo nmero de elementos se pueden sumar o restar.


u=[u1u2....un]v=[v1v2....vn]
u+v=[u1+v1u2+v2....un+vn]
>> u=[1,2,3];
>> v=[4,5,6];
>> u+v
ans = 5 7 9

Producto escalar de dos vectores

El producto escalar se obtiene multiplicando el vector fila u por el vector


columna v
u*v = u1v1 + u2v2 +...+ unvn
MATLAB dispone de la funcin dot(u,v) para calcular el producto escalar
de dos vectores u y v.
>> u = [5 6 7];
>> v = [4 3 2];
>> dot(u,v)
ans = 52
>> u*v'
ans = 52

Norma

MATLAB dispone de la funcin norm que calcula el mdulo de un vector.


>> u = [5 6 7];
>> norm(u)
ans = 10.4881
>> sqrt(u*u')
ans = 10.4881

linspace(xi,xf,n

vector=linspace(xi,xf,n)
>> x=linspace(0,6,5)
x = 0 1.5000 3.0000 4.5000 6.0000
Por lo que son equivalentes los vectores definidos por
>> x=0:2:20
>> x=linspace(0,20,11)
length(50:11:2000) calcula la cantidad de mltiplos de 11

Tablas

tabla de logaritmos de la siguiente forma


>> x=(1:0.1:1.5)'; %vector columna
>> logs=[x log10(x)]
logs =
1.0000 0
1.1000 0.0414
1.2000 0.0792
1.3000 0.1139
1.4000 0.1461
1.5000 0.1761

logspace

La funcin logspace es similar a linspace pero genera un conjunto de


elementos espaciados logartmicamente. Por ejemplo, para crear el
vector x=[10,100,1000,10000] escribimos
>> x=logspace(1,4,4)
x = 10 100 1000 10000

Operaciones elemento a elemento

>> u=[1,2,3];
>> v=[4,5,6];
>> u.*v
ans = 4 10 18
En MATLAB, podemos utilizar las operaciones elemento a elemento
para evaluar una funcin para un conjunto de valores de la variable x,
y esto nos va a ser de mucha utilidad en las representaciones grficas.
>> x=[0,1,-1,2,-3,4];
>> y=2*x.^2-3
y = -3 -1 -1 5 15 29

Funciones que operan con vectores


Valor medio de los elementos del vector u

>> u = [3 7 2 16];
>> mean(A)
ans = 7

max(u)

c es el mayor elemento del vector u

>> u = [3 7 2 16 9 5 18 13 0 4];
>> c = max(u)
c = 18

min(u)

El ms pequeo elemento del vector u

>> u = [3 7 2 16];
>> min(u)
ans = 2

sum(u)

Devuelve la suma de todos los elementos del vector

>> u = [3 7 2 16];
>> sum(u)
ans = 28

sort(u)

Ordena los elementos del vector en orden ascendente

>> u = [3 7 2 16];
>> sort(u)
ans = 2 3 7 16

std(u)

Devuelve la desviacin estndar

>> u = [3 7 2 16];
>> std(u)
ans = 6.3770

Calcula el producto escalar uv de los vectores u y v

>> u = [5 6 7];
>> v = [4 3 2];
>> dot(u,v)
ans = 52

Calcula el producto vectorial uv de los vectores u y v.

>> u = [5 6 7];
>> v = [4 3 2];
>> cross(u,v)
ans = -9 18 -9

mean(u)

dot(u,v)

cross(u,v)

Matrices

Una matriz A de m filas y n columnas o de dimensin mn se representa por


A=

a11a21...am1
a12a22...am2
............
a1na2n...amn

Matriz transpuesta

La matriz traspuesta A' de la matriz A consiste en intercambiar filas por


columnas: La primera columna de la matriz A es la primera fila de la matriz
traspuesta A', la segunda columna de la matriz A se convierte en segunda fila
de la matriz A', y as sucesivamente. La dimensin de la matriz tarspuesta A'
es nm, es decir n filas y m columnas

Creacin de una matriz


Se puede crear una matriz de 32, y asignar a la variable A de dos formas
>> A=[1 2; 3 4; 5 6];
A = 1 2
3 4
5 6
>> A(2,2) % es el elemento de la fila 2 columna 2
ans = 4
>> size(A) %dimension de la matriz A (2 filas, 3 columnas)
ans = 3 2
>> B=A' % B es la matriz traspuesta de A
B = 1 3 5
2 4 6
>> size(B)
ans = 2 3

Concatenacin :>> x1=[1,2,3]; %vectores fila


>> x2=[4,5,6]; >> A=[x1,x2]

A=123456

>> x1=[1;2;3]; %vectores columna

>> x2=[4;5;6];

>> A=[x1,x2]

A=142536

>> X=[1,2,3;4,5,6]

X=123

456

>> Y=[7,8,9;10,11,12;13,14,15]

Y = 7 8 9 10 11 12 13 14 15

>> A=[X;Y]

A=123

456

789

10 11 12

13 14 15

funcion repmat

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

>> B=repmat(A,3,2) %repite 3 veces la fila y 2 veces la columna

B=1 2 1 2

3 4 3 4

1 2 1 2

3 4 3 4

1 2 1 2

3 4 3 4

Una matriz se puede convertir en un


vector columna

>> A=[1,2,3;4,5,6];

>> X=A(:) % agarra por columnas y los ordena en uma sola columna

X=1

Un vector se puede convertir en una


matriz diagonal mediante diag.

>> x=[1,2,3];

>> A=diag(x)

A=

100

020

003

Matrices predefinidas

La funcin zeros(m,n) crea una matriz de dimensin mn cuyos elementos son


todos ceros

La funcin ones(m,n) crea una matriz de dimensin mn cuyos elementos son


todos unos

La funcin eye(n) crea una matriz cuadrada de dimensin nn en la cual, los


elementos de la diagonal son unos y el resto de los elementos son ceros, es
decir, crea la matriz identidad de dimensin n.

Por ejemplo, zeros(n) reserva espacio para una matriz cuadrada de dimensin
nn.Lo mismo ocurre con ones(n)

>> y=zeros(3)

y=000

000

000

>> y=zeros(1,3)

y=000

>> eye(3)

ans = 1 0 0 i

010j

001k

Acceso a los elementos de una matriz


Existen tambin varias formas de acceder a ms de un elemento de una matriz
mediante el operador dos puntos :. Sea la matriz A.
A=[1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16]
A(:,2) se accede a los elementos de la columna 2
A(:,end) se accede a los elementos de la ltima columna
A(3,:) se accede a los elementos de la fila 3
A(1:3,2:4) se refiere a la submatriz de filas de la 1 a la 3 y de columnas de la 2 a la 4

>> A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]

A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

>> A(:,2)

ans =

2
6

10
14

>> A(3,:)

ans = 9 10 11 12

>> A(1:3,2:4)

ans = 2 3 4
6

10 11 12

acceder a varios elementos de la matriz

>> A=[1,2,3,4;5,6,7,8;9,10,11,12];

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

ans =

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

ans = 6 7 8

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

ans = 6 7 8

10 11 12

Eliminar y aadir

>> A(4,:)=[]

A=

1 2 3 4

5 6 7 8

9 10 11 12

>> A(4,:)=13:16

A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]

Mximos, mnimos, ..

>> x=0:5; %vector fila

>> y=3*x.^2-5; %vector fila

>> tabla=[x' y']

tabla =

0 -5

1 -2

27

3 22

4 43

5 70

>> size(tabla) %matriz de 6 filas y 2 columnas

ans = 6 2

>> max(tabla(:,2))

ans = 70

>> min(tabla(:,2)) ans = -5

>> sum(tabla(:,2))

ans = 135

cuadrados del nmero entero n, n2 y de


potencias de 2

>> n=[0:5]';

>> potencias=[n n.^2 2.^n]

potencias =
0

16

16

25

32

Operaciones con matrices


Suma de matrices de la misma dimensin
Producto de dos matrices

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

>> B=[1 2; 3 4; 5 6];

>> A*B

ans =
22 28
49 64

Producto escalar de dos vectores

Dos vectores se pueden multiplicar si tienen el mismo nmero de elementos


n, uno de ellos es un vector fila de dimensin 1n y el otro es un vector
columna de dimensin n1, el resultado es una matriz de dimensin 11, es
decir un escalar.

Producto de un escalar por una matriz

Cuando una matriz se multiplica por un nmero, cada elemento de la matriz


se multiplica por dicho nmero.

La operacin kA es commutativa, se obtiene el mismo resultado haciendo el


producto Ak

Operaciones elemento a elemento

Existen muchas situaciones en las que se requieren operaciones elemento a


elemento similares a las que se lleva a cabo con la suma o la diferencia de
dos matrices de las mismas dimensiones.

Ejm
>> A=[1,2,-4;7,0,5];
>> B=[-6,12,-5;-2,16,15];
>> A.*B
ans =

-6

-14 0

24 20
75

>> A.^2
ans =

4 16

49 0 25
>> A./B
ans =

-0.1667
-3.5000

0.1667

0.8000

0.3333

FIN

Vous aimerez peut-être aussi