Numerieke operatoren & precisie

Maple is uiteraard te gebruiken als een rekenmachine. De standaard operatoren '+', '-', '*', '/' zijn gedefinieerd, terwijl '^' voor de machtsverheffing gebruikt wordt (hiervoor is '**' een alternatief, dit ten behoeve van Fortran fans). Een commando in Maple wordt steeds afgesloten met een ';'. Enkele voorbeelden:

> 3.17*11.5/2.1 + 3^2;

[Maple Math]

> 3/7;

[Maple Math]

Zoals uit de bovenstaande voorbeelden blijkt rekent Maple zolang mogelijk symbolisch: 3/7 wordt gerepresenteerd als een breuk, eerder dan "0.4285...". Indien we een numerieke waarde wensen kan dit mbv. 'evalf' (evaluate float):

> evalf(3/7);

[Maple Math]

Men kan het resultaat van de voorgaande berekening gebruiken in de volgende mbv. '%'.

> evalf(2*%);

[Maple Math]

Indien men het resultaat van de berekening daarvoor wil gebruiken kan dit met '%%' :

> evalf(3*%%);

[Maple Math]

Dit werkt enkel tot '%%%', men kan niet verder dan drie stappen terug gaan in de berekening mbv. dit history mechanisme.

Het moet echter opgemerkt worden dat deze manier van werken vaak aanleiding geeft tot onverwachte resultaten, vooral bij het opnieuw uitvoeren van een worksheet.

De precisie van de berekeningen wordt bepaald door de waarde van de constante 'Digits'. De default waarde is:

> Digits;

[Maple Math]

Wenst men een grotere (of kleinere) precisie, dan hoeven we enkel 'Digits' aan te passen.

> Digits := 15;

[Maple Math]

> evalf(3/7);

[Maple Math]

> Digits := 10;

[Maple Math]

Het is echter ook mogelijk aan evalf een tweede argument mee te geven dat de precisie van deze evaluatie bepaalt:

> evalf(3/7,30);

[Maple Math]

Let echter op:

> a := evalf(3/7);

[Maple Math]

> evalf(2*a,20);

[Maple Math]

> evalf(2*3/7,20);

[Maple Math]

Indien de precisie kleiner was voor een gedeelte van de berekening kan je niet verwachten een grotere precisie te bereiken door in de laatste stap de precisie te vergroten. Voor hoge precisie moet bij het begin van de berekeningen 'Digits' een hogere waarde krijgen.