Vous êtes sur la page 1sur 9

Vectores

La matriz (array) es el tipo fundamental de dato en MATLAB. La variable escalar que


hemos estudiado en la pgina anterior es un caso particular de matriz de dimensin 11.
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.
Vectores
Un vector x es un conjunto de n nmeros reales
[x1, x2, ....xn]
Geometricamente, representa un punto en el espacio Rn, especificado por
las n coordendas x1, x2, ....xn.
En Fsica representamos un vector r en el espacio R3 respecto a un Sistema de
Referencia Ortonormal formado por el origen O y tres vectores unitarios mutuamente
perpendiculares. Las direcciones de estos vectores se denominan, ejes X, Y y Z,
respectivamente.
r =5i+3j5kr=5i^+3j^5k^
Los coeficientes de los vectores unitarios (las proyecciones del vector r sobre los ejes
coordenados) son las coordendas (x, y, z) del punto P.

En MATLAB representamos un vector del siguiente modo


>> r=[5 3 -5]
r = 5 3 -5
>> 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]
r=
5
3
-5
Podemos convertir un vector fila en columna mediante el operador transpuesto '
>> r=[1,2,3]'

r= 1
2
3
Un vector con un espaciado constante x entre el primer trmino, xi y el ltimo
trmino, xf., se crea del siguiente modo:
vector=xi:x:xf
>> 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
Creamos el vector
>> x=[0,0.38,0.71,0.92,1.00,0.92,0.71,0.38,0];

Operaciones con vectores


Suma de un escalar y un vector
>> x=[1,2,3];
>> x+5
ans = 6 7

Producto de un escalar por un vector


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 =

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=[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

Producto escalar de dos vectores


uv=uvcosuv=u1v1+u2v2+....+unvnuv=uvcosuv=u1v1+u2v2+....+unvn
El producto escalar se obtiene multiplicando el vector fila u por el vector columna v
(u1u2...un)v1v2...vn=u1v1+u2v2+...+unvn(u1u2...un)
(v1v2...vn)=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

Cuando el vector u y v coinciden, calculamos el mdulo del vector u.


uu=u2=u21+u22+....+u2nuu=u2=u12+u22+....+un2
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
A partir de la definicin del producto escalar podemos calcular el ngulo entre los
vectores u y v
cos=u1v1+u2v2+....+unvnuvcos=u1v1+u2v2+....+unvnuv
Escribimos la ventana de comandos
>> u = [5 6 7];
>> v = [4 3 2];
>> ang=acosd(dot(u,v)/(norm(u)*norm(v))
ang = 22.9745
Dos vectores u y v son perpendiculares si el producto escalar es cero.
La proyeccin de un vector u a lo largo de la direccin del vector v se calcula del
siguiente modo: se multiplica escalarmente el vector u por el vector unitario v/v cuya
direccin y sentido son los del vector v.
uv=ucos=uvv=u1v1+u2v2+....+unvnvuv=ucos=uvv=u1v1+u2v2+....+unvnv

Por ejemplo, el ngulo que forma el vector u con el eje Z se calcula

u=uxi+uyj+uzkcos=uzu

Matrices
Una matriz A de m filas y n columnas o de dimensin mn se representa por
A=a11a21...am1a12a22...am2............a1na2n...amnA=[a11a12...a1na21a2
2...a2n............am1am2...amn]
Para acceder a un elemento situado en la fila i y en la columna j, Aij, se escribe A(i,j). La
funcin size devuelve dos nmeros que corresponden a las dimensiones de la matriz.
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 mcolumnas
A'=a11a12...a1na21a22...a2n............am1am2...amnA'=[a11a21...am1a12a
22...am2............a1na2n...amn]
Creacin de una matriz
Se puede crear una matriz de 32, y asignar a la variable A de dos formas distintas
>> A=[1 2 3
4 5 6];
>> A=[1 2 3; 4 5 6]
A=
1 2 3
4 5 6
>> A(2,2) %accede al elemento situado en la fila 2 columna 2
ans = 5
>> size(A) %dimensiones de la matriz A (2 filas, 3 columnas)
ans = 2 3
>> B=A' % B es la matriz traspuesta de A
B=
1 4
2 5
3 6
>> size(B)
ans = 3 2
Se puede crear una matriz a partir de vectores o a partir de otras matrices
>> x1=[1,2,3]; %vectores fila
>> x2=[4,5,6];
>> A=[x1;x2]
A=

1 2 3
4 5 6
>> x1=[1;2;3]; %vectores columna
>> x2=[4;5;6];
>> A=[x1,x2]
A=
1 4
2 5
3 6
>> X=[1,2,3;4,5,6]
X=
1 2 3
4 5 6
>> Y=[7,8,9;10,11,12;13,14,15]
Y=
7 8 9
10 11 12
13 14 15
>> A=[X;Y]
A=
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
La funcion repmat crea una matriz B compuesta de la repeticin de nm copias de A.
>> A=[1,2;3,4];
>> B=repmat(A,3,2)
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(:)
X=
1
4

2
5
3
6
Un vector se puede convertir en una matriz diagonal mediante diag.
>> x=[1,2,3];
>> A=diag(x)
A=
1 0 0
0 2 0
0 0 3

Vous aimerez peut-être aussi