Een eerste kennismaking met Maxima - ou.nl · Vectoren en matrices Vectoren en matrices worden...

13
Computeralgebra met Maxima 1 2. Een eerste kennismaking met Maxima Als u nog niet eerder kennis heeft gemaakt met CAS (Computer Algebra System) software, dan lijkt Maxima misschien erg gecompliceerd en moeilijk, zelfs voor het oplossen van eenvoudige wiskundeproblemen op VO-niveau. Dat hoeft echter niet het geval te zijn want Maxima is erg gebruiksvriendelijk en deze eerste kennismaking zal u snel en moeiteloos op weg helpen. Als u de eerste stappen achter de rug heeft, kunt u desgewenst altijd zoeken naar meer specifieke informatie over de mogelijkheden van Maxima in de officiële Maxima handleiding (http://maxima.sourceforge.net/docs/manual/en/maxima.html ). U kunt ook in-line, d.w.z. tijdens een Maximasessie, documentatie krijgen door het intypen van een vraagteken gevolgd door een spatie en de zoekterm in de invoerlijn (bijvoorbeeld ? integrate). We kiezen in deze kennismaking voor een pragmatische benadering, waarbij we via eenvoudige voorbeelden laten zien hoe de oplossingen van alledaagse (wiskunde) problemen kunnen worden berekend. Natuurlijk is dit slechts het topje van de ijsberg. Maxima biedt veel meer dan dit, maar ook met een beperkte basiskennis kunt u al goed uit de voeten. Uiteindelijk kost deze eerste kennismaking u slechts weinig tijd. Hieronder introduceren we het gebruik van Maxima. We gaan er daarbij vanuit dat u Maxima heeft geïnstalleerd op uw computer. Zie paragraaf 1.4 voor de installatie-instructies. Maxima als rekenapparaat U kunt Maxima gebruiken als een snelle en betrouwbare calculator met een willekeurig grote precisie binnen de grenzen van de hardware van uw PC. Maxima verwacht van u dat u een of meer opdrachten en expressies intypt, gescheiden van elkaar door een puntkomma (;), zoals u dat ook in andere programmeertalen zou doen. Maxima biedt u de mogelijkheid om te verwijzen naar het laatst verkregen resultaat via het % karakter, en ook naar eerdere input of output door de prompts %i (<regelnummer>) resp. %o (<regelnummer>). Bijvoorbeeld:

Transcript of Een eerste kennismaking met Maxima - ou.nl · Vectoren en matrices Vectoren en matrices worden...

Computeralgebra met Maxima

1

2. Een eerste kennismaking met Maxima Als u nog niet eerder kennis heeft gemaakt met CAS (Computer Algebra System) software, dan lijkt Maxima misschien erg gecompliceerd en moeilijk, zelfs voor het oplossen van eenvoudige wiskundeproblemen op VO-niveau. Dat hoeft echter niet het geval te zijn want Maxima is erg gebruiksvriendelijk en deze eerste kennismaking zal u snel en moeiteloos op weg helpen. Als u de eerste stappen achter de rug heeft, kunt u desgewenst altijd zoeken naar meer specifieke informatie over de mogelijkheden van Maxima in de officiële Maxima handleiding (http://maxima.sourceforge.net/docs/manual/en/maxima.html). U kunt ook in-line, d.w.z. tijdens een Maximasessie, documentatie krijgen door het intypen van een vraagteken gevolgd door een spatie en de zoekterm in de invoerlijn (bijvoorbeeld ? integrate). We kiezen in deze kennismaking voor een pragmatische benadering, waarbij we via eenvoudige voorbeelden laten zien hoe de oplossingen van alledaagse (wiskunde) problemen kunnen worden berekend. Natuurlijk is dit slechts het topje van de ijsberg. Maxima biedt veel meer dan dit, maar ook met een beperkte basiskennis kunt u al goed uit de voeten. Uiteindelijk kost deze eerste kennismaking u slechts weinig tijd. Hieronder introduceren we het gebruik van Maxima. We gaan er daarbij vanuit dat u Maxima heeft geïnstalleerd op uw computer. Zie paragraaf 1.4 voor de installatie-instructies.

Maxima als rekenapparaat U kunt Maxima gebruiken als een snelle en betrouwbare calculator met een willekeurig grote precisie binnen de grenzen van de hardware van uw PC. Maxima verwacht van u dat u een of meer opdrachten en expressies intypt, gescheiden van elkaar door een puntkomma (;), zoals u dat ook in andere programmeertalen zou doen.

Maxima biedt u de mogelijkheid om te verwijzen naar het laatst verkregen resultaat via het % karakter, en ook naar eerdere input of output door de prompts %i (<regelnummer>) resp. %o (<regelnummer>). Bijvoorbeeld:

Een eerste kennismaking met Maxima

2

Als zowel teller als noemer van een breuk gehele getallen zijn, dan wordt een vereenvoudigde breuk of een geheeltallige waarde teruggegeven. Deze waarde kan worden benaderd door het gebruik van kommagetallen via de functie float (of bfloat voor grote kommagetallen) of via de sneltoets combinatie CTRL-F :

Zoals hierboven vermeld, vormen grote getallen geen enkel probleem voor Maxima:

Computeralgebra met Maxima

3

Uitrekenen van 33! = 33⋅ 32⋅ 31⋅ 30⋅ ……… ⋅ 2⋅ 1 :

Constanten en eenvoudige functies

Hieronder volgt een lijst van veel gebruikte constanten in Maxima, die u soms nodig heeft:

We zullen hieronder enkele van deze constanten gebruiken samen met bekende functies:

• %e het getal van Euler e 2,71....≈

• %pi π π 3,14....≈

• %phi de gulden snede ϕ 1 51,618...

2

+= ≈

• %i de imaginaire eenheid 1i = − ; 2 1i = −

• minf reële min-oneindig −∞

• inf reële plus-oneindig ∞

• infinity complexe oneindig

Een eerste kennismaking met Maxima

4

Definiëren van functies en variabelen

Aan variabelen kunnen we een waarde toekennen via een dubbele punt ‘:’ en functies kunnen we definiëren door middel van ‘:=’. De volgende voorbeelden illustreren het gebruik ervan:

Merk op dat Maxima alleen de natuurlijke logaritme kent als de functie log. De logaritme met grondtal 10 is niet standaard beschikbaar, maar u kunt deze zelf als volgt definiëren:

Computeralgebra met Maxima

5

Symbolisch rekenen

De opdracht factor stelt ons in staat om een getal in priemfactoren te ontbinden, d.w.z. te schrijven als een product van priemgetallen (bijvoorbeeld: 42 = 2 ⋅ 3⋅ 7):

Het resultaat (%o32) moet u lezen als: 31 15 7 4 3 22 3 5 7 11 13 17 19 23 29 31⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ We kunnen via factor ook veeltermen in factoren ontbinden:

Veeltermen uitschrijven (haakjes wegwerken) gebeurt via de opdracht expand:

Vereenvoudigen van breuken (rationale uitdrukkingen) kan via de opdracht ratsimp:

Vereenvoudigen van trigonometrische uitdrukkingen verloopt via de opdracht trigsimp :

Het uitschrijven/herleiden van trigonometrische uitdrukkingen verloop via trigexpand :

Een eerste kennismaking met Maxima

6

Merk hierbij op dat Maxima 2x niet als een product accepteert, u dient expliciet te schrijven 2*x om aan te geven dat het hier een product betreft. Als u de TeX weergave van een gegeven uitdrukking wilt tonen, dan kunt u de tex functie gebruiken:

Opmerking:

TeX is een veelgebruikte syntax om wiskundige formules mee te represen- teren. Meer over TeX vindt u bijvoorbeeld op de site: http://www.ntg.nl/

Oplossen van vergelijkingen en stelsels

Vergelijkingen en stelsels van vergelijkingen kunnen eenvoudig worden opgelost via de functie solve ; de oplossingen kunnen ook uit complexe getallen bestaan (van de vorm a + bi):

2D en 3D tekenen Maxima biedt de mogelijkheid om tweedimensionale en driedimensionale plaatjes/grafieken te tekenen : ook is het mogelijk meerdere functies in één plaatje te tekenen.

Computeralgebra met Maxima

7

De functies plot2d en plot3d werken heel eenvoudig zoals u hieronder kunt zien. Bij 2D plots geeft de tweede parameter het bereik van de x-waarden aan ; bij een 3D plot geven de tweede en derde parameter het x-bereik resp. het y-bereik van de te plotten grafiek aan. Overigens kan het plotten nog veel eenvoudiger verlopen door middel van een dialoogvenster, dat getoond wordt via het menu “Plotting → Plot2d / Plot3d”. Via dat dialoogvenster kunt u ook nog gebruik maken van allerlei extra opties voor het verfraaien van de grafieken (bijvoorbeeld het tekenen van de assen, aanbrengen van een rooster, etc.).

-15

-10

-5

0

5

10

15

20

-4 -2 0 2 4x

x 2̂x*sin(x)

-10

-5

0

5

10

15

20

25

-4 -2 0 2 4

x̂2-

x-6

x

Een eerste kennismaking met Maxima

8

Met behulp van het cursorkruis is het ook mogelijk de grafiek op het scherm te roteren.

Limieten

De algemene gedaante van een limietopdracht ziet er als volgt uit limit (expr, x, val) ; hierbij wordt de limiet berekend van expr als de reële variabele x nadert tot de waarde val :

-2-1.5-1-0.5 0 0.5 1 1.5 2

-6 -4 -2 0 2 4 6-6-4

-2 0

2 4

6-2

-1.5-1

-0.5 0

0.5 1

1.5 2

cos(y)+sin(x)

Computeralgebra met Maxima

9

Differentiëren De basisopdracht bij het differentiëren is diff (expr, x); hierbij wordt de eerste afgeleide van expr naar x geretourneerd:

We kunnen ook hogere afgeleiden berekenen door de orde als een extra parameter mee te geven :

Integreren Maxima biedt verschillende mogelijkheden om te integreren. Om symbolisch te integreren gebruiken we integrate (expr, x) :

Een eerste kennismaking met Maxima

10

Voor bepaalde integralen integrate (expr, x , onder, boven) moeten we de onder- en bovengrens vermelden als derde resp. vierde parameter :

Als de functie integrate niet in staat is een bepaalde integraal te berekenen, dan kunt u de integraal benaderen door een van de beschikbare numerieke methodes (bijvoorbeeld romberg, nadat u via load (“romberg”) het pakket romberg heeft geladen):

Sommen en producten

Voor het berekenen van sommen en producten zijn de functies sum en product beschikbaar. De functie simpsum (simplify sum) vereenvoudigt, als dit mogelijk is, de berekende som. Met behulp van het product kunt u ook uw eigen versie van de functie faculteit maken. Bij de opdracht sum (expr, k, begin, eind ) worden de waarden van expr gesommeerd, waarbij de index k loopt van begin tot en met eind:

Computeralgebra met Maxima

11

Reeksontwikkelingen

Reeksontwikkelingen zijn belangrijke gereedschappen in de dagelijkse praktijk van de wiskunde. Via reeksontwikkelingen kunnen (ingewikkelde) functies benaderd worden door veeltermen. De functie powerseries (expr, x, a) retourneert de algemene vorm van de machtreeks van expr in de variabele x rond het punt a. De functie taylor (expr, x, a, n ) geeft een veeltermbenadering van de orde n rond het punt a van de uitdrukking expr als functie van x:

Een eerste kennismaking met Maxima

12

Via een plaatje kunt u dan zie hoe goed de Taylorbenadering is. De plaatjes kunt u ook inline verkrijgen door de opdracht plot2d te vervangen door wxplot2d:

Vectoren en matrices

Vectoren en matrices worden tegenwoordig op velerlei terreinen als handige wiskundige hulpmiddelen gebruikt. Ter illustratie laten we hier zien hoe we deze kunnen gebruiken bij het oplossen van stelsels vergelijkingen. We kiezen als voorbeeld het volgende stelsel van 4 vergelijkingen met vier onbekenden:

0

2

4

6

8

10

-3 -2 -1 0 1 2 3x

1+x+x^2/2%e x̂

of in vector-matrixnotatie

2 3 6

2 3 2

4 2 3 8

3 4 2 1

p q r s

p q r s

p q r s

p q r s

+ − + = − + − = − + − + = − + + =

2 3 1 1 6

1 2 3 1 2

4 1 2 3 8

3 4 1 2 1

p

q

r

s

− − − − ⋅ = − −

Computeralgebra met Maxima

13

We kunnen dit stelsel nog compacter schrijven als A x b⋅ = ,

met A =

2 3 1 1

1 2 3 1

4 1 2 3

3 4 1 2

− − − − −

, b =

6

2

8

1

en x =

p

q

r

s

De matrix A en de vector b voeren we als volgt in :

De oplossing van het stelsel 1x A b−= ⋅ is in Maxima eenvoudig als volgt te realiseren.

Hopelijk vond u deze eerste kennismaking aardig en nuttig om u op weg te helpen met Maxima. CAS beschikt over krachtige gereedschappen en als u de moeite neemt om te leren hoe u deze op gepaste wijze kunt gebruiken, zult u ontdekken dat dit een goede tijdsbesteding was.

Matrix A heet de coëfficiëntenmatrix Vector b bevat de rechterleden van het stelsel vergelijkingen Vector x bevat de 4 onbekenden p, q , r en s