En vektorer är en lista med tal, s.k. element. Vektorer utgör ett smidigt sätt att lagra flera tal i en variabel. Vi kan t.ex. deklarera vektorn v genom
>> v = [1 2 3 4]Längden av en vektor är antalet element i den. För att få reda på hur lång v är kan vi använda kommandot
>> length(v)vilket naturligtvis ger svaret
Låt oss nu deklarera en annan vektor w med utseendet
>> w = [5 6 7 8]Om vi nu vill addera första talet i
>> v+w ans = 6 8 10 12Detta är ett exempel på en s.k. elementvis räkneoperation, dvs. samma procedur appliceras på alla tal som står på samma plats i vektorerna.
Elementvisa multiplikationer, divisioner och exponentieringar är lite knepigare att göra eftersom de skrivs med en punkt framför operatorn, t.ex.
.* ./ .^Alltså, skriver vi
>> v.*whar vi multiplicerat första talet i
>> v.^2Utelämnad punkt vid elementvisa räkneoperationer på vektorer är ett av de vanligaste programmeringsfelen i Matlab.
Vid multiplikation med ett vanligt tal multipliceras dock varje
element i vektorn med
. I detta fall behövs inte .* utan
det räcket med bara *. Så om
>> t=2får vi utan fel skriva
>> t*v ans = 2 4 6 8
Ett smidigt sätt att tillverka vektorn v är med följande syntax
>> v=1:1:4 v = 1 2 3 4Raden v=1:1:4 skall tolkas på följande sätt:
Således kan vi generera en vektor w med alla jämna tal
mellan och
m.h.a.
>> w=4:2:12 w = 4 6 8 10 12
Långa vektorer vill man ofta inte ha utskrivna. Detta slipper man genom att avsluta raden med ett semikolon, t.ex.
>> w = 4:2:12;
Observera att två vektorer v och w skall vara lika långa för att man ska kunna addera dem. Försöker vi t.ex. att skriva
>> v+wsvarar Matlab med felmeddelandet
??? Error using ==> + Matrix dimensions must agree.
Övning:
a. Deklarera en vektor v, som innehåller alla jämna tal från 0
till .
b. Deklarera en annan vektor u, som innehåller alla heltal
från 0 till .
c. Addera 2v till w och subtrahera sedan w
från v.
d. Multiplicera u med v elementvis.
e. Dividera v med u elementvis.
f. Kvadrera alla tal i v.