26.07.2013 Views

PDF-format

PDF-format

PDF-format

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

{1, 1<br />

2<br />

, 1<br />

3<br />

1 1<br />

, ,<br />

4 5 }<br />

En anden nyttig funktion er select, der udvælger elementer fra en liste eller mængde ud fra en funktion der anvendt<br />

på et element giver sandt (elementet medtages) eller falsk (elementet medtages ikke), altså en funktion hvis krop er et<br />

logisk udtryk. For eksempel:<br />

> select(x->x>2 and x select(x->123 mod x = 0,[seq(n,n=2..122)]);<br />

[3, 41]<br />

Bemærk at sekvensen dannet med seq laves om til en liste simpelt hen ved at pakke den ind i kantede parenteser.<br />

Moduludoperatoren a mod b giver resten ved division af a med b (altså resten af 123 delt med x i dette tilfælde, og når<br />

den er nul går x op i 123).<br />

Såvel map som select anvender eventuelle argumenter ud over de to første som ektra argumenter til den funktion<br />

der skal evalueres (hvis den tager mere end et enkelt argument):<br />

> map((x,y)->y^x,{1,2,3,4},10);<br />

{10, 100, 1000, 10000}<br />

> restart;<br />

13 Tabeller<br />

En fjerde vigtig struktur er tabeller (arrays). Tabeller er en slags udvidelse af lister til flere dimensioner og med<br />

vilkårlige heltalsintervaller som indekser. Man kan tænke på en liste som en en-dimensionel tabel med indeks gående<br />

fra 1 til antallet af elementer (dog kan man ikke ændre det enkelte element i en liste hvilket man kan med en tabel).<br />

En tabel konstrueres med array funktionen. De(t) første argument(er) til array er de(t) interval(ler), man vil benytte<br />

som indeks og det sidste argument er en liste af de elementer der skal gemmes i tabellen fra start (den kan udelades).<br />

> tabel1:=array(1..4,[a,b,c,d]);<br />

tabel1 := [a, b, c, d]<br />

> tabel1[2];<br />

b<br />

I modsætning til hvad man kan med lister kan man ikke udtage en deltabel ved at indeksere en tabel med et interval.<br />

Til gengæld kan man ændre det enkelte element i en tabel:<br />

> tabel1[3]:=f;<br />

tabel13 := f<br />

For at se indholdet af en tabel er man nødt til at anvende funktionen print da Maple ikke automatisk ekspanderer<br />

tabeller når de indgår i udtryk (dette er meget praktisk hvis man arbejder med store tabeller).<br />

> tabel1;<br />

> print(tabel1);<br />

tabel1<br />

[a, b, f, d]<br />

Man kan som sagt definere tabeller i flere dinemsioner:<br />

> tabel2:=array(1..3,1..3,[[1,2,3],[4,5,6],[7,8,9]]);<br />

> tabel2[2,3];<br />

⎡<br />

tabel2 := ⎣<br />

6<br />

1 2 3<br />

4 5 6<br />

7 8 9<br />

⎤<br />

⎦<br />

15

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!