Podem definir vectors fila de dues maneres diferents (posant entre claudàtors els components i separant-los per espais o comes):
vectorV = [2 0 1]
vectorW = [ 2, 0, 1]
I els vectors columna d'una manera (posant entre claudàtors els components i separant-los per punt i comes):
vectorX = [1; -3; 0]
També podem definir un vector com un conjunt de valors a partir dels extrems:
rangX = [-10:10]
que crea el vecor fila amb els valors
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
Si el que volem es definir un valor incremental entre les columnes que no sigui 1 podem fer-ho afegint un tercer paràmetre:
rangT = [0:0.5:4]
que retorna
0.00000 0.50000 1.00000 1.50000 2.00000 2.50000 3.00000 3.50000 4.00000
Una altra manera de definir un rang és donar els valors extrems i quantes divisions volem. Recorrerem a la funció linspace(min, max, divisions)
. Per exemple:
vectorS = linspace(0, 10, 5)
retorna
0.00000 2.50000 5.00000 7.50000 10.00000
Per accedir a l'element n-éssim d'un vector farem nomvector(n)
. Com per exemple vectorS(2)
que retorna 2.5
.
Per definir el vector nul, és a dir, amb totes les entrades 0, invocarem la funció zeros(files, columnes)
que retorna una matriu amb tantes files i columnes com haguem passat per paràmetres. Per exemple:
vNulXYZ = zeros(1, 3)
retorna
0 0 0
Anàlogament, podem definir un vector amb totes les entrades a 1 amb la funció ones(files, columnes)
Podem concatenar dos vectors, és a dir, posar les files o columnes d'un i un altre a continuació. Si concatenem vectors fila posarem una coma (,
) entre ambdós i si, en canvi, concatem dos vectors columna posarem punt i como entre ambdós (;
).
Per exemple:
a = [0:1:5];
b = [6:1:10];
c = [a, b]
produeix
0 1 2 3 4 5 6 7 8 9 10
Podem construir un vector a partir de les entrades d'un altre. Seguint amb el cas anterior podem crear d
com les entrades 3a, 5a, 8a i 2a de c
:
d = c([3, 5, 8, 2])
desant en d els valors
2 4 7 1
on és important fixar-se la qüestió de l'ordre.
Una operació habitual és la trasposició d'un vector, la qual es fa amb l'apòstrof ('
). Així, si fem d'
obtindrem
ans =
2
4
7
1
Les operacions de suma i multiplicació per escalars són tal i com ens podríem imaginar:
A = [-1.2, 2.3, 5.8]
B = [2.7, 6.3, 9.0]
C = [0.0, 5.8, -4.2]
D = A+B-C
E = 3*C
Octave informarà d'error en cas que les dimensions dels vectors no siguin adequades per dur a terme les operacions.
També podem implementar el producte escalar de vectors. També aquí haurem de tenir en compte les mides dels vectors:
P = [1, 3, -2, 5]
Q = [-1; 3; 0; -2]
R = P*Q
El producte escalar de dos vectors és la multiplicació d'un pel trasposat d'un altre. Per exemple:
u = [1.2, 3.7, -4.2]
v = [-0.5, 3.1, 6.3]
producteEscalar = u*v'
Una manera alternativa de fer.ho és recorrent a la funció dot(u, v)
. Així, la darrera línia del codi anterior seria equivalent a:
producteEscalar = dot(u, v(
El producte vectorial entre dos vectors es fa mitjançant la funció cross(u, v)
com per exemple:
> u=[1,1,0]
u =
1 1 0
> v=[1,0,1]
v =
1 0 1
> cross(u, v)
ans =
1 -1 -1
Algunes funcions bàsiques:
size(M)
retorna la mida del vector o matriu M com un vector fila on la 1a dada representa les files i la segona les columnes del vector.