Vektori v=[v1,v2,...,vn] määritellään näin:
>> v=[v1 v2 ... vn] >> vt=[v1; v2; ... ;vn]Erottimina voidaan käyttää välien sijasta/lisäksi pilkkuja. Jos erottimina käytetään puolipisteitä, syntyy pystyvektori.
Kokeile:
>> a=[1 2 3 4 5] % Vaakavektori >> b=[6;7;8;9;10] % Pystyvektori >> a*b % Matriisitulo, tässä tapauksessa vektorien sisätulo
>> a=1:5; b=(6:10)'; % Puolipiste estää tulostuksen.Kaksoispiste-operaattorin yleinen muoto:
alku:lisäys:loppuLisäyksen oletusarvo on 1. Toisaalta lisäys voi olla myös negatiivinen, eikä välttämättä edes kokonaisluku.
Sijoitus muuttujaan, kaksoispisteen käyttötavat, funktiotlength ,sum , vektorin alkion poimiminen.
L10=1:10 L10kaant=10:-1:1 L10+L10kaant N=length(L10) (L10+L10kaant)/2 sum(ans) sum(L10) N*(L10(1)+L10(end))/2Lisää kaksoispisteen käytöstä tässä lyhyessä
doc colon
.)
Edellä näkyi vektorin alkion poiminta: L10(1) ja L10(end).
Tässä end on varattu nimi, jolla saa kätevästi vektorin viimeisen
alkion indeksin. (Toinen, hiukan pitempi tapa olisi: N=length(L10); L10(N) .)
Erityisen kätevää on, että vektoria voi indeksoida myös vektorilla, katsopa
alla olevaa esimerkkiä (ja suorita mieluusti ja varioiden).
>> satunnaisvek=rand(1,6) satunnaisvek = 0.0782 0.4427 0.1067 0.9619 0.0046 0.7749 >> satunnaisvek(2:4) ans = 0.4427 0.1067 0.9619 >> satunnaisvek(3:end-1) ans = 0.1067 0.9619 0.0046 >> length(satunnaisvek) ans = 6Tehtävä: Avaa uusi m-tiedosto (skripti) vaikkapa alkulukuja.m . Kirjoita siihen komennot, joilla saat selville kaikkien korkeintaan N:n suuruisten alkulukujen lukumäärän ja summan. Aloita tiedosto näin:
% Selitä, mitä skripti tekee ja vaikka oma nimi, pvm. ym. N = 100 lkm = ... summa= ...Apu:
help primes (tai doc primes)
help sum
.
Myöhemmin: opitaan tekemään funktio-m-tiedostoja, jolloin N voidaan antaa parametrina omalle "alkulukuja"-funktiolle.
Indeksointi, length, clear
* ^ / \
tarkoittavat matrisiituloa, potenssia ja "jakolaskuja".
Sensijaan vastinalkioittain ("pisteittäin") tapahtuva laskenta suoritetaan lisäämällä piste (.) vastaavan operaatiomerkin eteen. Niinpä vastinalkioittain tapahtuva vektorien u
ja v
kertolasku on u.*v
Lue tarkemmin tästä (laajemmasta) oppaasta.Tehtävä: Täydennä
Myös lyhyemmässä tällä kohdin on aihetta käsitelty.
alkulukuja.m
-tiedostoa
lisäämällä alkulukujen neliösumman laskenta (ja aja).
Tehtävä Piirrä:
x e-x2
välillä [-2,2].
- 1/(1+x2) välillä [-4,4]
- sin(2x) sinisellä ja cos(5x) punaisella, välillä [-pi,pi] (samaan kuvaan).
Merkitse vielä samaan kuvaan sin(2x):n arvot o-merkeillä x:n arvoilla -pi, -pi+h,...
-pi+2h, ..., pi, kun h=pi/8.
grid on/off, hold on/off, axis, xlim, ylim, figure, subplot, shg
, close all