PDF-format
PDF-format
PDF-format
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