next up previous
Next: Plottning Up: Studio 1 Previous: Variabler

Vektorer

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 $ 4$.

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$ med första talet i $ w$, andra talet i $ v$ med andra talet i $ w$ och så vidare kan vi helt enkelt addera v och w m.h.a.
>> v+w

ans =

     6     8    10    12
Detta ä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.*w
har vi multiplicerat första talet i $ v$ med första talet i $ w$, andra talet i $ v$ med andra talet i $ w$ osv. P.s.s, vill vi upphöja alla element i v till två skriver vi
>> v.^2
Utelämnad punkt vid elementvisa räkneoperationer på vektorer är ett av de vanligaste programmeringsfelen i Matlab.

Vid multiplikation med ett vanligt tal $ t$ multipliceras dock varje element i vektorn med $ t$. I detta fall behövs inte .* utan det räcket med bara *. Så om

>> t=2
få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     4
Raden 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 $ 4$ och $ 12$ 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+w
svarar 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 $ 10$.

b. Deklarera en annan vektor u, som innehåller alla heltal från 0 till $ 5$.

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.


next up previous
Next: Plottning Up: Studio 1 Previous: Variabler
Fredrik Bengzon 2004-08-24