Introductie in MATLAB

Maat: px
Weergave met pagina beginnen:

Download "Introductie in MATLAB"

Transcriptie

1 Introductie in MATLAB André Hensbergen Inhoudsopgave Introductie in MATLAB, deel Invoeren van opdrachten 1.2 De help-faciliteit 1.3 Rekenen met getallen 1.4 Toekenningen 1.5 Werken met matrices 1.6 Matrixbewerkingen; oefeningen 1.7 Functies in Matlab 1.8 Plotten 1.9 Printen Introductie in MATLAB, deel 2 2.m-files 3 Control Flow 3.1 for-loops 3.2 if-else en while 4 Algemene commando s 5 Opgaven Opdrachten

2

3 Introductie in MATLAB, deel 1 Matlab (afkorting voor Matrix Laboratory) is een interactief systeem: de ingetikte commando s (opdrachten), afgesloten door Enter, worden direct uitgevoerd, en indien gewenst verschijnen de resultaten direct op het scherm. Om de output op het scherm te onderdrukken sluit je een commando af met een puntkomma. 1.1 Invoeren van opdrachten Het intikken van opdrachten vraagt wel enige nauwkeurigheid. Het vergeten van bijvoorbeeld een * of een ) kan ertoe leiden dat de opdracht niet of verkeerd wordt uitgevoerd. Hieronder volgt een lijst met links de in de wiskunde gebruikelijke notatie en rechts de vorm waarin het ingetikt moet worden. (a, b, x en y zijn getallen) Wiskundige notatie Intikken a + b a+b a b a-b ab a*b 3xy 3*x*y a a/b b a b a^b x sqrt(x) π pi e exp(1) 3 4i 3-4*i sin x, arctan x,... sin(x), atan(x),... e x, ln x exp(x), log(x) log x ( = 10 log x ) log10(x) x abs(x) Inf (i) Houd er rekening mee dat Matlab case sensitive is. Dat wil zeggen dat er verschil is tussen hoofd- en kleine letters. Het getal π bijvoorbeeld wordt binnen Matlab geschreven als pi, het invoeren van Pi zal een foutmelding opleveren. (ii) Opdrachten in Matlab worden afgesloten door het indrukken van de Enter of RETURN-toets. Het antwoord verschijnt direct op het scherm. Door het commando af te sluiten met een ; (puntkomma) wordt de uitvoer op het scherm onderdrukt. 1

4 1.2 De help-faciliteit Matlab beschikt over een uitgebreide help-functie. Met behulp van het commando help onderwerp verschijnt er een toelichting bij onderwerp. Bijvoorbeeld: help elfun geeft informatie over de elementaire functies die Matlab kent. Lees (via in de rechterbalk of Page Up/Down) wat er zoal in staat. Met alleen het commando help verschijnt een lijst van mogelijke onderwerpen. 1.3 Rekenen met getallen Matlab is in feite een zeer uitgebreide programmeerbare rekenmachine. Om met het pakket kennis te maken en te wennen aan het invoeren van commando s zullen we een aantal korte opdrachten uitvoeren. Tik in: 12/3 (Druk nu de Enter of RETURN toets in) Op het scherm verschijnt de uitvoer van het commando in de volgende vorm: ans = 4 Matlab is een numeriek pakket, dat wil zeggen dat er geen exacte berekeningen uitgevoerd kunnen worden. Het hangt van de opgegeven nauwkeurigheid af in hoeveel decimalen er wordt gerekend. Matlab ongeveer 16 decimalen nauwkeurig (waarvan er standaard vijf op het scherm verschijnen). Voer in: 12/9 (Druk nu de Enter of RETURN toets in) Als antwoord verschijnt op het scherm: ans =

5 Rekenen met complexe getallen is voor MATLAB geen probleem. Het getal i kent MATLAB ook als i. het getal a + bi voer je in als a+b*i. Met de commando s abs en angle kun je de modulus resp. het argument van een complex getal vinden, en verder zijn er de commando s real, imag, conj en exp met voor de hand liggende acties (zo niet: raadpleeg help). Opgave Bereken (1 + 2i)(5 3i) en (1 + i 3) 5, en ga met MATLAB na dat e 3 4 πi = i. Standaard geeft Matlab op het scherm 5 cijferige getallen met een vaste komma. Met behulp van het format commando kun je opgeven welke notatie vorm je wilt gebruiken. In onderstaande tabel staan verschillende opties: In de rechterkolom staan de representaties van π, van en van Commando Resultaat Voorbeeld format short 5 cijfers, scaled fixed point e 006 format short e 5 cijfers, floating point e e 006 format long 15 cijfers, als short e 006 format zonder toevoegingen is hetzelfde als format short. Voor overige mogelijkheden: raadpleeg help format. Stel Matlab in op long. Voer in: pi sin(pi) Het antwoord is (bijna!) 0. Ga nu weer over op de standaard-instelling. 3

6 1.4 Toekenningen Als een matrix (of getal) meerdere keren gebruikt gaat worden kun je de waarde ervan toekennen aan een variabele. Je hebt hem dan als het ware een naam gegeven, en kunt hem via die naam weer oproepen Als voorbeeld berekenen we de eerste vier machten van de matrix A = [1, 2, 1; 2, -1, 2; 1, 3, -2] (i.p.v. komma s kun je ook spaties nemen) A2 = A^2; A3 = A^3; A4 = A^4; Vervolgens kun je de som hiervan berekenen via som = A + A2 + A3 + A4 (De spaties staan hier slechts voor de leesbaarheid. Matlab negeert ze.) De naam van een variabele hoeft natuurlijk niet beperkt te blijven tot één karakter. Het is aan te raden bij het maken van programma s logische variabele-namen te kiezen; dit zal de leesbaarheid en duidelijkheid zeer ten goede komen. N.B.1 Als je niet zelf een variabele introduceert om een waarde in op te slaan, kiest Matlab hiervoor de variable ans. Dit is hierboven al een paar keer gebeurd. Het is echter een goede gewoonte om de resultaten van elke berekening in een eigen variabele op te slaan, in dit geval bijv. in A2, A3, A4. N.B.2 bij de eerstvolgende toekenning A =... wordt de oude waarde van A weggegooid/vergeten. Een paar commando s om de actuele stand van zaken op te vragen of te beïnvloeden: who opvragen van alle variabelen met een waarde; size(x) geeft de afmetingen (aantal rijen, kolommen) van x; clear x1 verwijder de variabele x1 ; clear all verwijder de waarden van alle variabelen. clc veegt het scherm schoon (idem: Clear Command Window). In Matlab is het alleen mogelijk aan een variabele een gedefinieerde waarde toe te kennen Het volgende geeft bijvoorbeeld problemen: clear x; (hiermee wordt x leeg gemaakt) functie = x^2 + 4 * sin(x) Om een dergelijke functie in te voeren moet deze door de gebruiker zelf ingeprogrammeerd worden. De gebruiker breidt als het ware de lijst Matlab-commando s uit met een nieuwe functie. In deze fase gaan wij hier niet verder op in. Het is (nog) niet mogelijk formulemanipulatie uit te voeren met Matlab, daartoe zijn andere pakketten beschikbaar (bijvoorbeeld: Maple, Mathematica). Het berekenen van de functiewaarde van boven bedoelde functie f in bijv. het punt π/3 kan als volgt gebeuren: 4

7 x = pi/3; y = x^2 + 4*sin(x) Voer dit uit. Opmerking. Met de -toets kun je voorgaande commando s terughalen en, al of niet gewijzigd, opnieuw uit laten voeren door op Enter te drukken. (Hiervoor hoeft de cursor niet aan het eind van de regel te staan.) Met de Delete- en de Back Space-toets (dat is bij sommige toetsenborden de toets boven Enter) kun je symbolen wegvegen; met de en rechts van de Ctrl-toets kun je binnen een regel van links naar rechts lopen. Probeer dit uit! 1.5 Werken met Matrices Het basis-element van Matlab is de matrix. Speciale gevallen hiervan zijn een 1 1 matrix, d.w.z. een scalar, en een matrix bestaande uit slechts één rij of kolom, d.w.z. een vector. De grenzen van een matrix hoeven niet gedeclareerd te worden. (Ze kunnen opgevraagd worden met het commando size.) Bij het elementsgewijs invoeren van een matrix worden de verschillende rij-elementen gescheiden door spaties of door komma s. De rijen worden gescheiden door puntkomma s, of door naar een nieuwe regel te gaan. De getallen worden omsloten door twee rechte haken, [ en ]. De matrix A = wordt als volgt ingevoerd: A = [ ; ; 7 8 9] ( spaties tussen de getallen! ) Op het scherm verschijnt: A = Voorbeeld van het invoeren van een kolomvector: b = [ 1; 6; 7; 5; -3 ] Matrix-elementen kunnen afzonderlijk of in groepen opgeroepen of van een waarde voorzien worden, onderstaande tabel geeft een overzicht van de mogelijkheden: A(i,j) A ij (het element in de i e rij, j e kolom) A(:,j) j e kolom van A A(i,:) i e rij van A A(k:l, m:n) deelmatrix van alle elementen A ij k i l, m j n (oftewel: k-de t.e.m. l-de rij, m-de t.e.m. n-de kolom) v(i:j) deelvector (v i, v i+1,..., v j ) van de vector v 5

8 En voor een vierkante matrix: diag(a) geeft de hoofddiagonaal van A (als kolom-vector); diag(a,k) geeft de k-de nevendiagonaal van A (als k < 0, dan wordt degene onder de hoofddiagonaal genomen) Probeer het een en ander uit: Voer in de 3 4-matrix: A = [ ; ; ] (spaties!) Voorspel en controleer wat het resultaat is van de volgende commando s: (N.B.: één van de commando s zal een foutmelding geven. Welke, en waarom? ) B = A(:, 3) C = A(1:3,2:4) D = diag(c,-1) A(1,1) = 9 A(2:3, 1:3) = [0 0 0; 0 0 0] A(1:3, 1) = [1, 1, 5] A(1:2, 1:2) = [-1, -1; 3, 3] A = A(3:3, 1:4) Hoewel de laatste regel een voorbeeld is van slordig programmeren, kun je er wel duidelijk aan aflezen wat er in feite gebeurt bij een toekenning (Engels: assignment) van het type A = B. Eerst wordt de waarde van B uitgerekend, en vervolgens wordt deze waarde (een getal, een vector of een matrix) toegekend aan de variabele A. Als A reeds een waarde had dan wordt die weggegooid/vergeten. Het = teken betekent hier dus iets heel anders dan is gelijk aan. Je kunt A = B dan ook het best lezen als: A wordt B. In programmeertalen als Pascal, maar ook in computeralgebra pakketten als Maple en Derive, is hiervoor het symbool := gebruikelijk. Voorspel wat het resultaat zal zijn van de volgende commando s: s = 1, s = s+1, s = s+5, s = s^2 6

9 1.6 Matrix-bewerkingen Wat nu volgt is een greep uit het grote arsenaal aan matrix-bewerkingen waar de Matlab-gebruiker standaard de beschikking over heeft. De commando s met een worden toegelicht in het volgende punt. De commando s met een hebben betrekking op begrippen die pas later (bij lineaire algebra) aan de orde zullen komen. Voor alle bewerkingen geldt: is het je niet duidelijk wat er bedoeld wordt: raadpleeg help. C = A+B gewone optelling van matrices C = A-B gewone verschil van matrices C = A*B gewone matrixvermenigvuldiging (bij onjuiste afmetingen volgt een foutmelding); C = A.*B elementsgewijze vermenigvuldiging (A en B moeten dezelfde afmetingen hebben); C = A+k bij elk element van A wordt het getal k opgeteld; C = A^k gewone machtsverheffing (k Z); bijv. te gebruiken voor berekening van A 1 ; C = A.^k elementsgewijze machtsverheffing; (kan handig zijn bij het invoeren van een polynoom) C = A berekent de getransponeerde A T ; C = A\B berekent voor een niet-singuliere, vierkante matrix A de unieke oplossing van het de vergelijking AX= B; berekent voor een overbepaald stelsel (meer vergelijkingen dan onbekenden) een kleinste kwadraten oplossing; C= B/A oplossing van XA = B, analoog aan vorige commando; [L,U,P] = lu(a) berekent de PLU-ontbinding van A; L = eig(a) L is een kolomvector met de (mogelijk complexe) eigenwaarden van A; [X,D] = eig(a) D is een diagonaalmatrix met op de diagonaal de eigenwaarden van A, de kolommen van X zijn de bijbehorende eigenvectoren; [Q,R] = qr(a) produceert een QR-ontbinding van matrix A; A = diag(v) geeft diagonaalmatrix met diagonaal v(1), v(2),...,v(n); A = zeros(n) A wordt de n n nulmatrix; A = zeros(n,m) A wordt de n m nulmatrix; A = eye(n) A wordt de n n identiteitsmatrix; A = ones(n,m) A wordt de n m matrix met louter 1-en; x = k:n x wordt de vector (k, k+1, k+2,..., n); x = a:h:b x wordt de vector (a, a+h, a+2h,..., b), aangenomen dat b a deelbaar is door h 7

10 Een paar voorbeelden ter illustratie (verklaar waar nodig de foutmeldingen): (i) Voer in x = [1,3,5,8] y = [2,2,0,6] z = x.*y w = x*y (wat gaat voor? * of? ) (ii) Voer in s = 1:10 s1 = s^2 s2 = s.^2 s3 = s.^3 (iii) Laat A = en b = Bereken u = A\b, en ga na of Au = b Merk op: Ax = b is strijdig. N.B. dit is geheel in overeenstemming met de uitleg bij het commando U= A\B (meer hierover: straks bij lineaire algebra) Om het denken in rijen en kolommen te bevorderen: Opgave Voer (op een handige manier) de volgende twee matrices in: A = : : : : : (A heeft 18 rijen. Gebruik de : : : : : commando s a:h:b en ones. ) : : : : : B = Overigens zullen we later een andere manier zien een gestructureerde matrix in te voeren, nl. met een for-loop. 8

11 Opgave Gegeven een rijvector v van lengte n. Hoe kun je de som van de elementen van v berekenen? Aanwijzing: neem het product met een geschikte kolomvector. Bereken op deze manier de som van de eerste honderd kwadraten, dat wil zeggen: (Antwoord: ) 1.7 Functies in Matlab Zoals gezegd: Matlab giet alle structuren in de vorm van matrices. Zo ook functies. Matlab kent de elementaire functies x α, sin, cos, tan, e x, ln ( log!), x ( sqrt(x) ), en zo nog wat meer. (Als je wilt weten welke: vraag het op met help elfun.) Als je invoert x = 0:0.1:pi; (Zie lijst met matrixbewerkingen.) y = sin(x) dan worden er twee variabelen x en y aangemaakt met waarden (0, 0.1, 0.2,..., 3.0, 3.1) resp. (sin(0), sin(0.1), sin(0.2),..., sin(3.0), sin(3.1) ). Matlab neemt dus elementsgewijs de sinus van x, en slaat de functie als het ware op in een tabel. Meer weet Matlab niet van de functie y. Het is zinloos om bijvoorbeeld met y(0.25) de sinus van 0.25 te willen berekenen. (Kijk maar wat er gebeurt.) Vraag: wat stelt y(5) voor? De elementsgewijze matrix-operaties.* en.^ zijn met name handig om functies in te voeren: Voorbeeld De functie f(x) = 1 3 x2 + x sin x op het interval [0, 3] met stapgrootte 0.1. Ten eerste de x-waarden: x = 0:0.1:3.0; (dit geeft een vector van lengte 31) Nu moeten we voor k = 1, 2, 3,..., 31 berekenen y(k) = f(x(k)). Met behulp van de.* en de.^ operator lukt dit als volgt: y = (1/3)*x.^2 + x.*sin(x) Het resultaat van de toekenning y = (1/3)*x^2+x.*sin(x) is niet direct leesbaar te noemen. Het volgende punt betreft het grafisch weergeven van gegevens. 9

12 1.8 Plotten Met het plot commando kun je vectoren (en matrices) grafisch laten weergeven. Als je een functie invoert door een rij x-waarden met bijbehorende y-waarden te geven, krijg je met het commando plot(x,y) min of meer de grafiek op het scherm: plot(y) plot(x,y) Voorbeelden tekent de punten (1, y(1)), (2, y(2)),..., (n, y(n)) en verbindt ze met rechte lijnen. doet hetzelfde voor de punten (x(1), y(1)),..., (x(n), y(n)). x en y mogen hier rij- of kolomvectoren van gelijke lengte zijn. Voer in x = [2,5,4,8,10,4] y = [6,3,9,1,4,0] plot(x,y) Voer in (bij het invoeren van tekst springt Matlab automatisch naar het Command Window terug): x = 0:0.1:3; y = sin(x); plot(x,y) (geen paniek, zie eerstvolgende opmerking! ) Opmerking Bij een volgende plot-opdracht komt het plaatje niet altijd direct in beeld. Als het Plot Window zich achter het Command Window bevindt, kun je het op verschillende manieren naar voren halen: A) als een deel van het Plot Window wel zichtbaar is, click je het simpelweg aan met de muis. (Je kunt een deel zichtbaar maken door het Command Window iets te verkleinen.) of B) door op de menubalk Windows aan te clicken en vervolgens Figure No. 1. of C) door te bladeren via Alt-Tab. Nog een voorbeeld: Voer in x = 1:10; y = 20:30; plot(x,y) Wat gaat hier fout? 10

13 Bij het plotten van meerdere grafieken in één plaatje is het soms handig om verschillende kleuren en tekens te gebruiken. De volgende tabel biedt voldoende variatiemogelijkheden; voor het volledige aanbod: raadpleeg help plot. Symbool Kleur Symbool Stijl y geel (yellow). stip r rood o rondje g groen - lijn b blauw -. streep-stip w wit * ster Voorbeeld Voer in: x = 0:.1:3.1; y = sin(x); z = x.*sin(x); (elementsgewijze matrixvermenigvuldiging!) plot(x,y, y-, x,z, r-. ) Er zijn twee manieren om meerdere grafieken in één plaatje te krijgen: met één plot-opdracht, zoals boven, of met een aantal plot-opdrachten na elkaar, met tussendoor het commando hold on. Voorbeeld Voer in: x = 0:0.1:3.2; y = sin(x); x2 = 0:0.3:3; y2 = sin(x2); plot(x,y, g ) (haal de vorige regel terug en wijzig) Ga nu naar het Command Window terug. Het Plot Window is dan nog steeds aanwezig. Geef vervolgens: hold on plot(x2,y2, yo ) en de twee grafieken staan in één plaatje (achter het Command Window). Alle volgende plot-opdrachten geven grafieken in hetzelfde plaatje. Wil je een heel nieuw plaatje maken dan kun je dat doen door hold off te geven, of door het Plot Window te verlaten door de Control Menu Box (het hokje linksboven) te double-clicken. 11

14 Met onderstaande commando s kun je de layout van een bestaande plot beïnvloeden: axis([xmin xmax ymin ymax]) axis( off ) x-coördinaat loopt van xmin tot xmax, de y-coördinaat van ymin tot ymax. tekent de assen niet title( tekst ) geeft de titel tekst. (N.B. tekst moet tussen quotes gezet worden.) xlabel( tekst ) ylabel( tekst ) gtext( tekst ) Voorbeeld Voer in p = [2, 5, 5, 2, 2]; q = [2, 2, 5, 5, 2]; plot(p,q) title( vierkant? ) zet tekst langs de x-as analoog aan xlabel doet het (evt. nog lege) Plot-Window in beeld verschijnen, en zet tekst op de positie die je met de muis (linkerknop) aanklikt. Het resultaat is het vierkant met hoekpunten (2,2), (5,2), (5,5) en (2,5). Door op de x-as en y-as het interval [0,7] te nemen krijg je een duidelijker beeld: axis([0,7,0,7]) Wil je tenslotte dat het vierkant er als een vierkant uitziet, geef dan de opdracht: axis( square ) Probeer tenslotte het volgende uit: gtext( Dit is het punt (5, 5) ) Opmerking De zelf gedefinieerde instellingen m.b.v. axis blijven geldig zolang je met hetzelfde plaatje werkt. Oefeningen 1. Construeer een (gladde) grafiek van sin x op het interval [0, 4π], waarin de punten ( kπ, sin ( ) ) kπ 6 6, k = 0, 1,..., 24 met een * zijn aangegeven. 2. (Krommen in het (complexe) vlak. Zie moduul 1, 1.4) De kromme gedefinieerd door x = x(t), y = y(t), a t b, of door Φ:[a, b] C kun je met Matlab eenvoudig op het scherm krijgen. We nemen als voorbeeld x = 3 cos(t), y = sin(t), t [0, 2π]. Voer in 12

15 t = 0:0.1:2*pi; x = 3*cos(t); y = sin(t); plot(x,y) (een redelijk fijne interval-verdeling) Nu zelf: (a) Maak mooie plaatjes van een aantal Lissajoux-figuren. Bepaal zelf een geschikt interval voor t en een geschikte interval-verdeling (zodat de volledige kromme glad op het scherm verschijnt). (i) x(t) = cos(2t), y(t) = sin(5t) (ii) x(t) = cos(2t + π/3), y(t) = sin(5t) (iii) x(t) = cos(5t + π/4), y(t) = sin(4t) (b) Teken de kromme z = t e it, 0 t 4π. (In feite opgave 2 van 4 uit moduul 1.) Aanwijzing: je kunt t en z vrijwel letterlijk invoeren. z wordt dan een vector van complexe getallen. Je krijgt de kromme in beeld met plot(real(z), imag(z)) Geef ook eens de stijl-optie punt of ster mee; dan kun je als het ware zien hoe de snelheid verandert 1.9 Printen Als je het plaatje op het scherm er acceptabel uit vindt zien, dan kun je het als volgt vastleggen op papier (= printen): Klik in de menubalk van het Plot Window File aan, en in de Dialog Box die verschijnt Print. In het Afdrukken Window tenslotte click je OK (okay) aan. Als de opdracht is verwerkt kom je weer terug in het Plot Window. Een van de printers zal een plaatje uitspuwen (eventueel nadat jij op de knop continue reset hebt gedrukt, of vandaag of morgen weer een andere knop). [Printen vanuit Matlab geeft nogal eens complicaties. Voordat je bij weigering om te printen hulp inroept van een begeleider of systeembeheerder, kun je het volgende nog proberen: verlaat (bv. met Alt+Tab) Matlab, click in de Program Manager het Turbo Pascal ikoon aan, en vervolgens het ikoon Recapture(dosprint). Vorig jaar lukte het printen dan soms wel.] 13

16 Introductie in MATLAB, deel 2 2.m-files In de eerste introductie heb je kennisgemaakt met een aantal basiscommando s van het pakket Matlab, alsmede met enkele van de plot-mogelijkheden. In deze tweede introductie leer je (een klein beetje) programmeren in Matlab. Laten we om te beginnen eens kijken naar de structuur van Matlab. Matlab bestaat uit een kleine kern, met daarin basiscommando s als +,.*, :, rand, who, size, plot, det, sin, exp met daaromheengebouwd een scala aan al dan niet specialistische procedures en functies, opgeslagen in zogenoemde M-files (of.m-files). Voorbeelden hiervan: mean, hist, quad, fzero, trace De (implementaties van de) basis-commando s zijn voor de gebruiker niet zichtbaar en niet te beïnvloeden. De gebruiker kan zelf.m-files toevoegen. Die optie maakt dragelijk dat het Matlab Command Window nogal beperkt is in z n mogelijkheden. In feite is Matlab nog steeds een DOS-programma met een Windows-jasje. Commando s (opnieuw) laten uitvoeren door ze aan te clicken werkt niet, en het telkens terughalen van eerder ingetypte commando s gaat bij een wat ingewikkelder probleem al snel irriteren. Een Matlab-sessie opslaan om er op een later moment mee verder te gaan heeft ook geen zin. Script Files Ten eerste kun je een aantal commando s in een zogenaamde script file zetten (oftewel een programma tje schrijven) en die vervolgens runnen. Ten tweede kun je function files maken met procedures en functies, die je vanuit het command window aan kunt roepen. Werkend op een computer in de pc-zaal ga je eerst via het commando cd a: naar de a-drive (nadat je hebt gezorgd dat zich daarin een schijfje bevindt). Het is namelijk niet de bedoeling allemaal prive-spullen op het netwerk op te slaan. Voor een script file ga je als volgt in te werk (eerst a.u.b. cd a:) Click op de menubalk aan: File New M-file De Matlab Editor/Debugger opent een nieuw document, waarin jij een programma kunt schrijven. (In oudere versies van Matlab wordt de notepad-editor gebruikt.) Het is een goede gewoonte om het programma te beginnen met een of enkele regels commentaar over de werking van het programma. (Een commentaar wordt voorafgegaan door %). Met help naam (de nog te verzinnen naam) krijg je dit commentaar later snel in beeld. 14

17 Ben je klaar met schrijven dan moet je het programma (dat nu alleen nog maar op het scherm staat) ergens opslaan, in jargon: saven. Click aan: File Save As Geef het beest een naam: naam.m gevolgd door Enter of Ok De extensie.m is belangrijk! (Als jij hem niet geeft, dan voegt de editor die standaard toe.) Verlaat de.m-file. (Alt-F4, of Alt-Tab, of File Exit) Laat vanuit het Matlab Command Window de commando s uitvoeren, door simpelweg naam te geven (zonder.m), of via: File Run naam.m Wil je het programma wijzigen, dan roep je de M-file op door: File Open naam.m (of door te bladeren met Alt-Tab, als je de editor aldus verlaten had.) Om de gewijzigde versie te bewaren geef je Save in plaats van Save As (tenzij je de oude versie ook nog wilt bewaren natuurlijk). Zoals de naam al aangeeft kun je de Matlab-editor ook gebruiken om fouten in je programma s op te sporen en te verwijderen (= debuggen ). Indien nodig moet je dit t.z.t. zelf maar zien uit te vogelen. Voorbeeld (Tevens oprakelen van plotten) Maak een.m-file met de volgende commando s: x = 0:0.1:4*pi; y = sin(x); plot(x,y); hold on; (toegelicht in 1.8: plotten ) x = 0:pi/6:4*pi; y = sin(x); plot(x,y, r* ) Save het geheel (op de a: onder de naam plotsin.m (of iets anders, mits nieuw en eindigend op.m), ga naar het Command Window en geef het commando plotsin Het voordeel moge duidelijk zijn: mocht je achteraf besluiten dat je toch liever groene rondjes in plaats van rode sterretjes hebt, dan wijzig je de laatste regel van de.m-file. Voer iets dergelijks uit. 15

18 Function Files Deze paragraaf is ter extra informatie aangeboden. Voor de opdrachten hoef je niet per se zelf function-files te maken (hoewel het handig kan zijn). Sla hem in eerste instantie over, en lees verder bij: Control Flow. Zoals gezegd, er kunnen twee soorten.m-files onderscheiden worden: script files en function files. In script files wordt simpelweg een aantal commando s in een.m-file gegroepeerd. Met function files kun je zelf functies en procedures aan Matlab toevoegen. Script files kun je runnen, function files roep je aan. De eerste regel van een function file luidt in het algemeen als volgt: function y = functienaam(x) Ook hier is het een goede gewoonte om te te beginnen met een of meer regels commentaar over de werking van de functie. Met help functienaam kun je dit commentaar later eenvoudig opvragen. Enkele voorbeelden: 1. De functie f : R R met functievoorschrift f(x) = x 2 e x2 kun je toevoegen als.m-file newfunc: function y = newfunc(x); % newfunc(x) berekent (elementsgewijs) x^2 * exp(-x^2) y = x.^2.* exp(-x.^2); Doe dit, en maak een plot van deze functie op het interval [0, 5]. 2. De volgende functie berekent het grootste verschil tussen twee opeenvolgende elementen van een vector: function result = maxdiff(x) % maxdiff(x) berekent het grootste verschil x(i) - x(i-1) % van vector x L = length(x); v = x(2:l) - x(1:l-1); result = max(abs(v)); Als je deze M-file opslaat als maxdiff.m, dan kun je voortaan het maximale verschil tussen twee opeenvolgende elementen van een vector y laten berekenen via s = maxdiff(y) Doe dit voor de vector z gedefinieerd door x = 0:0.1:1.5*pi; z = sin(x.^2); 16

19 Opmerkingen: 1. Bij zinvoller function files zul je vaak gebruikmaken van de commando s for, if, while, Voor één-regelige functies als in voorbeeld 1. kent Matlab (vanaf versie 5) het commando inline. De functie newfunc is daarmee in te voeren als newfunc = inline( x.^2.* exp(-x.^2), x ); waarna je bijvoorbeeld newfunc(5) kunt berekenen via newfunc(5) Raadpleeg desgewenst help inline. 3. De variabelen result en x in de regel function result = functienaam(x) zijn, hoe kan het anders in Matlab, matrices. x heet de input, result de output. In plaats van een enkele variabele, kun je ook meerdere variabelen als input en/of output nemen. De aanhef wordt dan function [res1, res2,..., resk] = functienaam(x1, x2,..., xn) Tot slot: 4. Een belangrijk verschil tussen script files en function files is het karakter van de variabelen. De variabelen die in een function file gebruikt worden zijn lokaal. Ze leven als het ware alleen binnen de procedure. We gaan hier niet verder in op dit punt. 17

20 3 Control Flow (for, while, if...) 3.1 for-loops Met de commando s for k = 1:n <opdr.1> ; <opdr.2> ; <opdr.m> ; end; wordt de serie opdrachten <opdr.1>;..... ; <opdr.m.>; n keer uitgevoerd. Het verdient aanbeveling om elke opdracht af te sluiten met een puntkomma, om onnodige output op het scherm te onderdrukken. In het algemeen zullen de uit te voeren opdrachten afhangen van de zogenoemde loop-variabele k. (Spreek uit: loep-variabele ) Het is een goede gewoonte om de loop-opdrachten in te laten springen, en niet meer dan één opdracht per regel te schrijven. Voorbeelden 1) Met de volgende commando s kun je de som van de eerste 50 kwadraten berekenen (maak een.m-file som.m): s = 0; for k = 1:50 s = s + k^2; end; s De opdracht die 50 keer wordt uitgevoerd is: tel k^2 op bij s. Het laatste commando, zonder puntkomma, doet het antwoord op het scherm verschijnen. Voor wie nog nooit geprogrammeerd heeft: kijk eens wat er gebeurt als in de derde regel de puntkomma weggelaten wordt. 18

21 2) De rij van Fibonacci 1, 1, 2, 3, 5, 8, 13,..... is vastgelegd door de eerste twee waarden en het voorschrift f n+1 = f n + f n 1 Het volgende programma genereert de eerste vijftig Fibonacci-getallen. f(1) = 1; f(2) = 1; for k = 3:50 f(k) = f(k-1) + f(k-2); end; Aan het eind is f een vector van lengte 50, en het k-de element van f is precies het k-de Fibonacci-getal. Als je alleen geïnteresseerd bent in de waarde f 50, dan spaar je op de volgende manier enige geheugenruimte uit (maak een M-file fibo.m): f1 = 1; f2 = 1; for k = 1:48 f3 = f1+f2; f1 = f2; f2 = f3; end; f2 Er zijn nu slechts drie variabelen f1, f2 en f3 in het spel; na elke stap wordt de waarde die niet meer nodig is weggegooid. Ook weer voor wie nog weinig of geen programmeerervaring heeft: na de volgende wijzigingen zijn de eerste acht stappen goed te volgen: laat k lopen van 1 t/m 8, en voeg de volgende commando s als zesde regel (direct boven end) tussen: disp([f1, f2, f3]), pause(2) Het is ook mogelijk om binnen een for-loop een andere for-loop te plaatsen. We spreken dan van een geneste loop. Voorbeeld clear all for k = 1:8 for l = 1:8 A(k,l) = k+l-1; end; end; A (twee keer end!) (voor het resultaat) Hiermee wordt de 8 8 matrix A met A kl = k + l 1 geconstrueerd. (Nu wordt het wel echt vervelend de puntkomma in de loop weg te laten.) 19

22 Opmerking: Vermijd for-loops als er een (efficiënter) alternatief voorhanden is. Onder andere door handig gebruik van het Matlab commando : is dit vaker mogelijk dan je (vooral de wat meer ervaren programmeur!) zou verwachten, en het kan de rekentijd aanzienlijk bekorten. Voorbeeld Zoals in de eerste introductie beschreven, kun je de som van de eerste N kwadraten ook berekenen met de commando s: v = 1:N; enen = ones(n,1); kwad = v.^2; somkwad = kwad*enen of zo je wilt (maar leesbaarder wordt het er niet op) als: somkwad = ((1:N).^2)*ones(N,1) Met de commando s tic en toc kun je de verstreken tijd in beeld krijgen. Neem om de gedachte te bepalen N = Voeg in de m-file som.m (van voorbeeld 1) als eerste regel toe: tic en als laatste regel toc en verander de waarde 50 door de waarde Voer het programma uit. Vergelijk dit met het volgende programma : N= 10000; tic; somkwad = ((1:N).^2)*ones(N,1), toc Voor de volledigheid (en misschien begin je er ook wel lol in te krijgen) noemen we de while- en de if-statement. Heb je er geen lol in c.q. tijd voor, dan is dit voor jou het eind van de introductie. Blader door naar de pagina met kop foutmeld.m, en zet vervolgens je tanden in de opgaven en opdrachten. 20

23 3.2 while-loops en if... else Met het commando while cond <opdrachten>; end; wordt de serie opdrachten uitgevoerd zolang voldaan is aan de voorwaarde cond. De voorwaarden zullen zijn van het type n < N, n = p, n m, of combinaties ervan. De volgende tabel geeft een overzicht van de logische operatoren : n > m n is groter dan m; n < m n is kleiner dan m; n >= m n is groter dan of gelijk aan m; n <= m n is kleiner dan of gelijk aan m; n == m n is gelijk aan m; n ~= m n is niet gelijk aan m; A & B A en B A B A of B (evt. beiden) (logische of ) xor(a,b) A of B, maar niet beiden (exclusieve of ) ~A ontkenning van A ( niet A ) De logische operatoren, die elementsgewijs werken, kunnen twee waarden opleveren: 0 en 1. 1 staat voor waar en 0 staat voor onwaar. Probeer eens uit: 2 == 3 waarde = [1 3 5] <= [1 2 6] x = sqrt(10); x > 2 & x < 3 x = 1:10, w = ( sin(x) > 0.5 sin(x) < -0.5 ) Oefening Hoeveel van de getallen sin(1), sin(2), sin(3),....., sin(1000) zijn groter dan 0.5? (Antwoord: 332 ) 21

24 Opmerking Met een while-loop kan een for-loop nagebootst worden: k = 1; while k < n <opdrachten>; k = k+1; end; heeft dezelfde werking als: for k = 1:n <opdrachten> ; end; N.B. Kom je er tijdens het rekenen achter dat er iets misgaat, (met name bij een while-loop ligt het gevaar van een oneindige loop op de loer), dan kun je het rekenproces stopzetten met de toetsen [Ctrl]+C of [Ctrl]+[Break]. (Voorbeeld: n = 1; while n > 0 n = n+1; end; ) Behalve met de zojuist genoemde noodstop, kun je met de volgende commando s het rekenproces tijdens een loop in de gaten houden en beïnvloeden: disp( tekst ) toont de tekst tekst op het scherm. disp(x) toont de inhoud (zonder de naam) van matrix X. (X zal in het algemeen een tekstvector zijn.) x = input( tekst ) toont tekst op het scherm en wacht op een waarde van de gebruiker (gevolgd door Enter), en kent deze waarde aan x toe. (Indien de gebruiker direct Enter geeft dan wordt x de lege matrix.) [x,y] = ginput(n) ( graphical input ) vraagt n punten (x i, y i ), die worden opgeslagen in de vectoren x en y. De gebruiker clickt de punten aan met de muis. [x,y] = ginput gaat door met punten op te slaan tot de gebruiker Enter geeft. pause onderbreekt een loop tot de eerstvolgende toetsaanslag (bijv. handig na disp ) pause(n) onderbreekt de loop n seconden (bijvoorbeeld om even een tussenresultaat te bekijken). break breekt een loop af. error( tekst ) breekt een loop af en geeft tevens de (fout)melding tekst. 22

25 if... else Met het commando if cond <opdrachten A>; else <opdrachten B>; end; wordt eerst gekeken of aan de voorwaarde cond is voldaan. Zo ja, dan worden de opdrachten A uitgevoerd, zo nee, opdrachten B. Het gedeelte else... mag ontbreken, en het mag ook op zijn beurt een vertakking geven. De constructie gaat er dan als volgt uitzien: if cond.a <opdrachten A>; elseif cond.b <opdrachten B>; else <opdrachten C>; end; Voorbeelden Het volgende programma slaat de kwadraten onder de duizend op in de vector kw. n = 1; while n^2 < 1000 kw(n) = n^2; n = n+1; end; kw En met het volgende wordt gekeken of de elementen van vector x naar grootte geordend zijn : L = length(x); k = 1; Geordend = 1; while Geordend & k < L if x(k) > x(k+1) Geordend = 0; else k = k+1; end; end; (x is geordend Geordend = 1) 23

26 Opmerkingen (Voor diegenen die geprogrammeerd hebben in Pascal, Algol,...) 1. In for- en while-loops geen do gebruiken, en bij de if... else - constructie geen then. 2. Bij een voorwaarde van het type A is gelijk aan B A == B gebruiken, en niet A = B. Het laatste geeft de nogal vage foutmelding: missing variable or function 3. Matlab kent ook een case-constructie. Zo je wilt: raadpleeg help case. 24

27 4 Algemene commando s Nog even op een rijtje gezet een aantal commando s om een soepele omgang met Matlab te bewerkstelligen. clc clg diary save fname var load data.dat cd naam dir help comm what lookfor naam who whos clear variabele clear all disp tekst format maakt het command window leeg (maar de toegekende waarden blijven actief) leegt alle plot-windows bewaart de tekst van een Matlab-sessie slaat de waarde van de variabele var extern op in de file fname of fname.mat laadt variabele data (of data.mat) directory naam wordt de nieuwe working directory geeft de inhoud van de directory waarin u werkt geeft hulp bij het commando comm geeft de M-, Mat- en MEX-files uit de huidige directory doorzoekt de eerste comment -regels van alle M-files. Voorbeeld: lookfor zeros geeft lijst met actieve variabelen in de huidige Matlab-sessie als who maar met extra informatie verwijdert genoemde variabele verwijdert alle variabelen toont tekst op het scherm (de commando s T = tekst ; disp(t) geven hetzelfde resultaat) stelt de vorm van de output in (opties: long, short, bank, compact, loose) Verder kun je vanuit Matlab externe commando s uitvoeren door ze vooraf te laten gaan door een uitroepteken. Voorbeeld (Als je in een DOS-omgeving werkt)!copy file1 file2!cd en!dir kunnen wel eens problemen geven, vermoedelijk omdat cd en dir ook Matlab-commando s zijn. Tenslotte: is de hier gegeven uitleg te summier, dan kan de help-functie wellicht uitkomst bieden. 26

28 5 Oefeningen Voor oefening 1 t.e.m. 4 die van harte aanbevolen zijn, heb je alleen for-loops nodig. Bij oefening 6 t.e.m. 8, bedoeld voor liefhebbers, is het gebruik van if en while aan te raden. 1. Voer de volgende matrices A en B in met behulp van één of meer loops. A = : : :... : : : :... : : : :... : (15 rijen), B = n! (spreek uit n faculteit ) is gedefinieerd via: n! = n(n 1)(n 1) (en apart: 0! = 1 ). Bereken de som van de eerste eenentwintig getallen 1 20 n! : S = 1 n! (Antwoord (via format long ): S = ) n=0 3. Construeer de 30 bij 30 matrix A met op de hoofddiagonaal 2-en, direct boven en onder de diagonaal 1-en, en verder overal 0-en. Doe dit op twee manieren: (a) Met behulp van het commando diag(..,..): als v een (rij- of kolom-)vector is van lengte m, dan wordt met V = diag(v, k) een vierkante matrix V geconstrueerd met v als k-de nevendiagonaal, en met verder overal 0-en. (b) Via enkele loops. (Begin met het invoeren van een nulmatrix.) (Een derde mogelijkheid is: met een dubbele loop waarin via if verschillende gevallen onderscheiden worden.) Bekijk ter controle de 5 5 rechter-onder-matrix, en bereken de determinant van A. (Antwoord: 31) 27

29 4. In hoofdstuk 3 moduul 1 is als beste eerste-orde-benadering van een functie de linearisering ingevoerd. In moduul 2 bekijken we hogere orde benaderingen, en dan blijkt de beste benadering van sin x met polynomen van graad 2n+1 gegeven te worden door het polynoom t 2n+1 (x) = x x3 3! + x5 x2n ( 1)n 5! (2n + 1)! In deze opgave bekijken we grafieken van t n voor verschillende n. Neem om te beginnen n = 4 en interval I = [ 5, 5]. x = -5:.1:5; t 9 kun je natuurlijk invoeren via: Voer in: t9 = x - x.^3/6 + x.^5/120 - x.^7/( ) + x.^9/( ) maar voor grotere n wordt zoiets al snel ondoenlijk. We kiezen een slimmere aanpak, gebruik makend van de gelijkvormigheid van de termen die gesommeerd moeten worden: term = x; t9 = term; term = -term. x.^2/(2 3); t9 = t9 + term; term = -term. x.^2/(4 5); t9 = t9 + term; term = -term. x.^2/(6 7); t9 = t9 + term; term = -term. x.^2/(8 9); t9 = t9 + term; De laatste vier regels lenen zich prima voor het gebruik van een for-loop! (i) Voer bovenstaande uit. Let goed op hoe je de loop-variabele, zeg k gebruikt (met name wat de begin- en eindwaarde moeten zijn). (ii) Bekijk sin x en t 15 (x) op het interval [-5, 5] en op het interval [-8, 8]. Bekijk ook de verschilfunctie om te zien hoe groot de afwijking maximaal is. (iii) Bekijk sin x en t 25 (x) op het interval [-10, 10] en op het interval [-12, 12]. Mooi hè! Terzijde Een handig commando om polynomen in te voeren is polyval: Laat v = [v1, v2, v3,..., vk] en x vectoren zijn. Dan is y = polyval(v,x) equivalent met y = v(k) + v(k-1) x + v(k-2) x.^ v(1) x.^(k-1) Hetgeen overigens veel efficiënter berekend wordt via: y = ((... (((v(1)*x+ v(2)).*x + v(3)).... ).*x + v(k) (Ter vergelijking: 2x 3 + 5x 2 3x + 7 = ((2x + 5)x 3)x + 7 ) 28

30 5. (Lagrange-polynomen) Deze opgave geeft nog wat extra oefenmateriaal. Op de volgende pagina vind je een korte uitwerking. Gegeven n + 1 verschillende getallen x 0, x 1, x 2,..., x n in R, en n + 1 niet noodzakelijk verschillende y-waarden y 0, y 1, y 2,..., y n. We willen een polynoom van zo laag mogelijke graad berekenen dat door alle n + 1 punten (x 0, y 0 ), (x 1, y 1 ),...., (x n, y n ) gaat. We gaan daartoe als volgt te werk: Het gezochte polynoom p moet voldoen aan de n + 1 eisen p(x i ) = y i, dus het ligt voor de hand om te proberen: p(x) = a 0 + a 1 x + a 2 x a n x n. Invullen van de n + 1 gegeven punten levert voor de coëfficiënten a 0,..., a n het volgende stelsel vergelijkingen: a 0 + a 1 x 0 + a 2 x a n x n 0 = y 0 a 0 + a 1 x 1 + a 2 x a n x n 1 = y 1 : : : : : : : : : a 0 + a 1 x n + a 2 x 2 n a n x n n = y n Oftewel: 1 x 0 x x n 0 1 x 1 x x n 1 1 x 2 x x n 2 : : : : : : : : 1 x n x 2 n... x n n a 0 a 1 a 2 : : a n = Aangetoond kan worden dat de coëfficiëntenmatrix van dit stelsel niet singulier is, als de steunpunten x 0, x 1, x 2,..., x n verschillend zijn. Neem bijv. de zes punten (-2, 3), (-1, 5), (0, 2), (1, 2), (2, 0) en (4, -2). Gezocht is nu het polynoom p 5 (x) van graad 5 door deze punten. (i) Sla de x-waarden op in x, en de y-waarden in y en plot de zes punten met de plot-optie *. (ii) Voer de coëff. matrix A op een handige manier in. Controleer voordat je gaat rekenen of de gegevens goed zijn ingevoerd! (iii) Bereken de coëfficiënten a 0,..., a 5 via het commando u = A\y. (y moet een kolom zijn.) (iv) Vorm nu het polynoom p 5, waarvan de coëfficiënten in u zijn opgeslagen. (Zie opg. 4) (v) Bekijk het resultaat: hold on; plot(t,p5) y 0 y 1 y 2 : : y n. 29

31 6. ( bubble sort ) Schrijf een function file sorteer.m die de elementen van een vector x naar oplopende grootte sorteert, en wel op de volgende wijze: doorloop de vector x van voor naar achter, en verwissel buren die niet in de juiste volgorde staan, houdt met een variabele change bij of er verwisselingen plaatsvinden, zo nee, dan is x geordend, zo ja, herhaal de stappen. Overigens, Matlab bevat een veel sneller sorteercommando: sort. 7. (Nulpuntsbepaling via bisectie) De functie f : R R, met f(x) = x + exp(x) heeft een nulpunt p op het interval [-2, 0]. Gevraagd wordt p te benaderen tot op 5 decimalen achter de komma, door herhaalde halvering van het interval [-2, 0] tot een interval [a, b] van lengte kleiner dan dat nulpunt p bevat. Het midden c = (a + b)/2 wijkt dan hoogstens 10 5 van p af. Ga bijvoorbeeld als volgt te werk: stel om te beginnnen a = -2; b = 0; err = 2; Laat c het midden zijn van [a, b], bereken f(c), stel a = c dan wel b = c, al naar gelang f van teken wisselt tussen c en b, of tussen a en c. Halveer err en herhaal deze stappen totdat err kleiner is geworden dan Ook hier: Matlab heeft ingebouwde commando s roots (voor nulpunten van polynomen) en fzero. 8. Neem een willekeurig positief geheel getal p groter dan 1. Als p even is: deel p door 2, als p oneven is: vermenigvuldig p met 3 en tel er 1 bij op. Herhaal dit proces tot het resultaat 1 is. Het is een open vraag uit de getaltheorie of dit proces altijd eindigt, c.q. het getal 1 altijd bereikt wordt. Twee commando s voor integer division (n en k zijn gehele getallen): r = rem(n,k) geeft de rest r bij deling van n door k: n = q k + r q = floor(n/k) geeft bovengenoemde q. a. Na hoeveel stappen wordt 1 bereikt als p = 99? (Maak een M-file grow.m.) b. Wat is de hoogste tussenwaarde die voor een startwaarde p = 99 bereikt wordt? c. Wat is de hoogste tussenwaarde die voor een startwaarde p kleiner dan 100 bereikt wordt, en voor welke p gebeurt dit? 30

32 6 Opdrachten In het verleden was er een verplicht Matlab-practicum waarin iedere student (onder anderen) vijf van de volgende opdrachten moest beantwoorden en inleveren. Ze zijn toegevoegd als extra (en eenvoudig) oefenmateriaal. In één opdracht wordt een print (of twee prints) van een kromme gevraagd. Bij de andere opdrachten is het voldoende de antwoorden in één.m-file te zetten en die vervolgens net als een plot uit te printen (nl. door aanclicken van File Print ). Hiertoe copieer je eerst de relevante zaken vanuit het Command Window naar de verslag.m-file. Dit gaat als volgt: zet de mouse-pointer aan het begin van het te copiëren gedeelte; houd de linkerknop van de muis ingedrukt terwijl je de mouse-pointer naar het einde van het te copiëren gedeelte schuift. Laat daar los; Het ge-highlighte (zwartgemaakte) gedeelte kan gecopiëerd worden door Edit Copy aan te clicken (of Edit Cut als je de tekst op de oorspronkelijke positie weggegooid wilt hebben.), de muis naar de positie (eventueel in een ander window) te verplaatsen waar je de tekst wilt hebben, en vervolgens Edit Paste te geven. (De zogenaamde shortcut keys Ctrl-C, Ctrl X en Ctrl-V hebben hetzelfde effect als Edit Copy, Edit Cut resp. Edit Paste.) In elke opdracht geldt: c 1 c 2 c 3 c 4 c 5 c 6 is je zes-cijferige studienummer. Met een parameter als c 2 c 3 c 4 wordt bedoeld het getal met de drie cijfers c 2, c 3 en c 4. Op de volgende wijze bepaal je jouw vijf opdrachten: Laat v k = c k + 2c k+1, k = 1, 2, 3, 4, 5 en r k = v k (mod 4) (de rest bij deling door 4; dus r k = 0, 1, 2, of 3). Het k-de opdrachtnummer wordt: 5r k + k. Ingewikkeld? De volgende commando s doen precies wat nodig is: c = [c1 c2 c3 c4 c5 c6]; v = c(1:5) + 2*c(2:6); r = rem(v,4); nrs = 5*r + (1:5) en de vijf opdrachtnummers verschijnen in beeld. 32

33 Opdrachten 1. A is de matrix met in de eerste rij en in de eerste kolom c 1 c 2 c 3 c 4 c 5 c 6 c 1 c 2... c 6, op de diagonaal c 1, 1, 1, 1,...., 1, 1 en verder overal 0-en. (Handig invoeren die hap!) Bereken de determinant van A. (Vind zelf het commando om de determinant te berekenen. Vergeet bij dit commando niet de haakjes.) 2. Laat a 1 = c 1 c 2 c 3 en a 2 = c 4 c 5 c 6. Laat verder, voor n > 2 a n+1 = 2a 3 n + 2a 5 n 1. Bereken a 99 en a 100 tot drie cijfers achter de komma. Let bij gebruik van een loop op de onder- en de bovengrens! 3. Construeer als volgt vector v: laat n = 10 (c 1 + c 2 + c 3 + c 4 ), h = π/n, dan wordt v = (sin(h), sin(2h), sin(3h),....., sin(nh) ). Bereken p = v 1 v 2 + v 2 v v n 1 v n en ook de maximale coördinaat van w = ( v 1 v 2, v 2 v 3,..., v n 1 v n ). 4. Neem p = 1.c 1 c 2, q = 2.c 3 c 4. (Bijv. bij studienr : p = 1.12, q = 2.34 ) Maak een tabel van de functies f(x) = sin(px) en interval [0, 6] met stapgrootte 0.3. M.a.w.: 0.0 f(0.0) g(0.0) 0.3 f(0.3) g(0.3) f(6.0) g(6.0) g(x) = x cos(qx) op het 5. Laat a het grootste cijfer zijn van je studienummer en b het kleinste. Laat c = a 2, en d = b + a + 1. Geef in één plaatje de volgende twee Lissajouxkrommen { weer: x(t) = cos(at) y(t) = sin(ct) en { x(t) = cos(at + π/d) y(t) = sin(ct) Neem het interval zo groot dat er de krommen gesloten zijn, en gebruik verschillende lijn-stijlen. 33

34 6. Gevraagd wordt van de volgende matrix A de determinant te berekenen. A is een matrix met op de diagonaal c 1 c 2 c 3 c 4 c 5 c 6 c 1 c c 6, direct boven en onder de diagonaal 1-en en verder overal 0-en. (Handig invoeren die hap!) (Vind zelf het commando om de determinant te berekenen. Vergeet bij dit commando niet de haakjes.) 7. Neem α = 3.c 2. De rij x n n is gedefinieerd door x 0 = c 3 c 4 en x 1 = c 5 c 6, en voor n 1: x n+1 = α 3x n + 2x n 1. Bereken x 14 en x 15 tot op 14 decimalen nauwkeurig. Let bij gebruik van een loop op de onder- en de bovengrens! 8. Construeer als volgt vector v: laat n = 10 (c 1 + c 2 + c 3 + c 4 ), h = π/n, dan wordt v = (cos(h), cos(2h), cos(3h),....., cos(nh) ) Bereken A = (v 1 v 2 ) 2 + (v 2 v 3 ) , (v n 1 v n ) 2, alsmede de maximale coördinaat van w = ( v 1 v 2, v 2 v 3,..., v n 1 v n ). 9 Neem p = 1.c 1 c 2, q = 0.c 3 c 4 c 5. (Bijv. bij studienr : p = 1.12, q = ) Maak een tabel van de functies f(x) = xe ( px) + x en interval [1, 5] met stapgrootte 0.2. M.a.w.: 1.0 f(1.0) g(1.0) 1.2 f(1.2) g(1.2) f(5.0) g(5.0) g(x) = e qx /x op het 10. Laat a het grootste cijfer zijn van je studienummer en b het kleinste. Laat R = a+b, r = a b 2, α = R r r en β = R + r r. (Als r toevallig kleiner zou worden dan 3: neem r = 3.) Geef in één plaatje de volgende Spirograaf-figuren weer { x(t) = (R r) cos(t) + r cos(αt) K 1 : y(t) = (R r) sin(t) + r sin(αt) { x(t) = (R + r) cos(t) + r cos(βt) en K 2 : y(t) = (R + r) sin(t) + r sin(βt) Neem het interval zo groot dat de krommen gesloten zijn, zorg dat de verhouding x:y gelijk is aan 1:1, en gebruik verschillende lijn-stijlen. 34

35 11. A is de matrix met op de diagonaal c 1 c 2 c 3 c 4 c 5 c 6 c 1 c c 6, direct boven en onder de diagonaal 2-en en verder overal 1-en. (Handig invoeren die hap!) Bereken de determinant van A. (Vind zelf het commando om de determinant te berekenen. Vergeet bij dit commando niet de haakjes.) 12. Laat a 1 = 0.c 3 c 4 c 5, en a n+1 = 3.5a n (1 a n ), n 1. Bereken a 74 en a 75 tot 10 cijfers achter de komma. Let bij gebruik van een loop op de onder- en de bovengrens! 13. Construeer als volgt vector v: laat n = 10 (c 1 + c 2 + c 3 + c 4 ), h = 3/n, dan wordt v = (cos(h), cos(2h), cos(3h),....., cos(nh) ) Laat w = ( v 2, v 3 v n,..., ). v 1 v 2 v n 1 Bereken A = (w 1 ) 2 + (w 2 ) (w n 1 ) 2 en ook het minimum M van {w 1, w 2, w 3,..., w n 1 } 14. Neem p = 1.c 1 c 2, q = 0.c 3 c 4 c 5. Maak een tabel van de functies f(x) = x 2 e ( px) + x en het interval [0, 4] met stapgrootte 0.2. M.a.w.: 0.0 f(0.0) g(0.0) 0.2 f(0.2) g(0.2) f(4.0) g(4.0) g(x) = e qx /(x + 1) op 15. We bekijken de kromme die een punt doorloopt dat meebeweegt met een wiel dat over een horizontale weg loopt. Het wiel heeft straal R, en het punt begint zich op afstand d van de as. (d kan groter zijn dan R, denk bijvoorbeeld aan een treinwiel over een rail, en als d = R dan doorloopt het punt een cycloïde.) Een parametrisering voor de kromme { x(t) = Rt d sin(t) y(t) = R d cos(t) Laat R = 1, d 1 = 3 4 R en d 2 = b R, waarbij b = 1 + (c 1 + c 2 )/40. Geef in één plaatje de twee krommen weer met de gegeven waarden voor R en d, waarbij het wiel twee volledige omwentelingen maakt. Gebruik verschillende lijn-stijlen. Maak ook een plot waarbij de assen zodanig gekozen zijn dat de verhouding x:y ongeveer 1:1 is. 35

36 16. A is de 3 24 matrix met als eerste rij vier keer (naast elkaar) c 1 c 2 c 3 c 4 c 5 c 6, als tweede rij [ ], en als derde rij [ ]. (Handig invoeren die hap!) Bereken de determinanten van de matrices AA T en (A T A I 24 ). (Vind zelf het commando om de determinant te berekenen. Vergeet bij dit commando niet de haakjes.) 17. Laat a 1 = c 1 c 2 c 3 en a 2 = c 4 c 5 c 6. Laat verder, voor n > 2 a n+1 = 1a 2 n + 1a 2 n Bereken a 99 en a 100 tot drie cijfers achter de komma. Let bij gebruik van een loop op de onder- en de bovengrens! 18. Construeer als volgt vector v: laat n = 2(c 1 + c 2 + c 3 + c 4 + c 5 + c 6 ), dan wordt v = (cos((1.1) 2 ), cos((1.2) 2 ), cos((1.3) 2 ),....., cos((1 + n 10 )2 ) Laat w = (w 1, w 2,..., w n 1 ) = ( v 1 v 2, v 2 v 3,..., v n 1 v n ). Bereken A = (w 1 ) 2 + (w 2 ) (w n 1 ) 2 en het maximum M van {w 1, w 2, w 3,..., w n 1 }. 19. Neem p = 1.c 1 c 2, q = 0.c 3 c 4 c 5. (Bijv. bij studienr : p = 1.12, q = ) Maak een tabel van de functies f(x) = x sin(px) en interval [0, 6] met stapgrootte 0.3. M.a.w.: 0.0 f(0.0) g(0.0) 0.3 f(0.3) g(0.3) f(6.0) g(6.0) g(x) = cos(qx 2 ) op het 20. Laat a = c 4 20 en b = (c 5 + c 6 ). Teken de kromme gedefinieerd door z = e (a+bi)t, waarbij 2 t 4. Bereken de minimale waarde r en de maximale waarde R van z, en teken in hetzelfde plaatje de cirkels met middelpunt (0, 0) en stralen r resp. R. 36

Matlab introductie. Kees Vuik

Matlab introductie. Kees Vuik Matlab introductie Kees Vuik 2014 Delft University of Technology Faculty of Electrical Engineering, Mathematics and Computer Science Delft Institute of Applied Mathematics Copyright 2014 by Delft Institute

Nadere informatie

Cursus Matlab voor Technische Aardwetenschappen. K. Dekker I.A.M. Goddijn P. Sonneveld

Cursus Matlab voor Technische Aardwetenschappen. K. Dekker I.A.M. Goddijn P. Sonneveld Cursus Matlab voor Technische Aardwetenschappen K. Dekker I.A.M. Goddijn P. Sonneveld 1 2 Inhoudsopgave 1 Introductie in Matlab 1 1.1 Het invoeren van opdrachten......................... 1 1.2 De help-faciliteit...............................

Nadere informatie

Matlab-Introductie (les 1)

Matlab-Introductie (les 1) Matlab-Introductie (les 1) Wat is Matlab? MATLAB staat voor MATrix LABoratory. Opstarten van Matlab Dit hangt af van het onderligge systeem (Windows, Linux,...), Maar kortweg geldt bijna altijd: ga met

Nadere informatie

Korte handleiding Maple bij de cursus Meetkunde voor B

Korte handleiding Maple bij de cursus Meetkunde voor B Korte handleiding Maple bij de cursus Meetkunde voor B Deze handleiding sluit aan op en is gedeeltelijk gelijk aan de handleidingen die gebruikt worden bij de cursussen Wiskunde 2 en 3 voor B. Er zijn

Nadere informatie

Aantekeningen over MATLAB

Aantekeningen over MATLAB Aantekeningen over MATLAB Hieronder volgen zeer beknopte aantekeningen over MATLAB. Wat is MATLAB? MATLAB staat voor MATrix LABoratory. Opstarten van MATLAB Met de muis en het menu Matlab opstarten. Er

Nadere informatie

Beknopte handleiding voor Derive 5.0 for Windows

Beknopte handleiding voor Derive 5.0 for Windows - Lesbrief Beknopte handleiding voor Derive 5.0 for Voorspelbaarheid en Populaties in de tijd Doelgroep Klas 5 t/m 6 havo en vwo Vakken en domeinen Algemene natuurwetenschappen VWO Wiskunde VWO: A domein

Nadere informatie

Introductie in R. http://www.math.montana.edu/stat/tutorials/r-intro.pdf http://www.math.montana.edu/stat/docs/splus_notes.ps

Introductie in R. http://www.math.montana.edu/stat/tutorials/r-intro.pdf http://www.math.montana.edu/stat/docs/splus_notes.ps Introductie in R R is een programmeer taal met een groot aantal voorgeprogrammeerde statistische functies. Het is de open source versie van S-plus. Wij gebruiken R dan ook omdat het gratis is. Documentatie

Nadere informatie

Een korte samenvatting van enkele FORTRAN opdrachten

Een korte samenvatting van enkele FORTRAN opdrachten Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5

Nadere informatie

Uiteenzetting Wiskunde Grafische rekenmachine (ti 83) uitleg

Uiteenzetting Wiskunde Grafische rekenmachine (ti 83) uitleg Uiteenzetting Wiskunde Grafische rekenmachine (ti 83) uitleg Uiteenzetting door een scholier 2691 woorden 4 juni 2005 5,9 118 keer beoordeeld Vak Wiskunde Basisbewerkingen 1. Inleiding De onderste zes

Nadere informatie

Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde

Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde voor B. 1 Eenvoudige operaties en functies. 1. De bewerkingen optellen aftrekken, vermenigvuldigen, delen en machtsverheffen worden

Nadere informatie

Basistechnieken TI-84 Plus C Silver Edition

Basistechnieken TI-84 Plus C Silver Edition Basistechnieken TI-84 Plus C Silver Edition Als je dit practicum doorwerkt, weet je de eerste beginselen van het werken met de grafische rekenmachine TI-84 Plus C Silver Edition. In de tekst van het practicum

Nadere informatie

Derive in ons wiskundeonderwijs Christine Decraemer

Derive in ons wiskundeonderwijs Christine Decraemer Dag van de Wiskunde 003 de en 3 de graad Module 6: Eerste sessie Derive in ons wiskundeonderwijs Christine Decraemer Je kunt Derive het best vergelijken met een uitgebreid rekentoestel. Niet enkel numerieke,

Nadere informatie

Hoofdstuk 1. Illustratie 2

Hoofdstuk 1. Illustratie 2 Hoofdstuk 1 Numerical Methods College 2 A. Floating-point representatie (Hoofdstuk 1) B. Matlab A.A.N. Ridder Twee belangrijke onderwerpen die moeten leiden tot een beter begrip van de numerieke problematiek:

Nadere informatie

MATLAB: Een Inleiding

MATLAB: Een Inleiding MATLAB: Een Inleiding Numerieke wiskunde 2de kand. Burg. Ir. 2003-2004 Inhoudsopgave 1 Inleiding 2 2 Basiscommando s 2 2.1 Het invoeren van variabelen............................... 2 2.2 De uitvoer.........................................

Nadere informatie

Functiewaarden en toppen

Functiewaarden en toppen Functiewaarden en toppen Formules invoeren Met [Y=] kom je op het formule-invoerscherm. Reeds ingevoerde formules wis je met [CLEAR]. Krijg je niet een scherm waarop Y1, Y2,... te zien zijn, kies dan bij

Nadere informatie

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x.

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x. 1.0 Voorkennis Voorbeeld 1: Los op: 6x + 28 = 30 10x. 6x + 28 = 30 10x +10x +10x 16x + 28 = 30-28 -28 16x = 2 :16 :16 x = 2 1 16 8 Stappenplan: 1) Zorg dat alles met x links van het = teken komt te staan;

Nadere informatie

Een korte MATLAB introductie

Een korte MATLAB introductie Een korte MATLAB introductie K. Dekker, I.A.M. Goddijn & P. Sonneveld 2014: Aangepast door Tobias de Jong & Irene Verstraten, 2015: Wijzigingen door Jan van Staalduinen, Inhoud 1 Hoe werkt MATLAB 3 1.1

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

II. ZELFGEDEFINIEERDE FUNCTIES

II. ZELFGEDEFINIEERDE FUNCTIES II. ZELFGEDEFINIEERDE FUNCTIES In Excel bestaat reeds een uitgebreide reeks van functies zoals SOM, GEMIDDELDE, AFRONDEN, NU enz. Het is de bedoeling om functies aan deze lijst toe te voegen door in Visual

Nadere informatie

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x.

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x. 1.0 Voorkennis Voorbeeld 1: Los op: 6x + 28 = 30 10x. 6x + 28 = 30 10x +10x +10x 16x + 28 = 30-28 -28 16x = 2 :16 :16 x = 2 1 16 8 Stappenplan: 1) Zorg dat alles met x links van het = teken komt te staan;

Nadere informatie

Rekenen met de GRM. 1 van 1. Inleiding: algemene zaken. donkerder. lichter

Rekenen met de GRM. 1 van 1. Inleiding: algemene zaken. donkerder. lichter 1 van 1 Rekenen met de GRM De grafische rekenmachine (voortaan afgekort met GRM) ga je bij hoofdstuk 1 voornamelijk als gewone rekenmachine gebruiken. De onderste zes rijen toetsen zijn vergelijkbaar met

Nadere informatie

Numerieke benadering van vierkantwortels

Numerieke benadering van vierkantwortels HP Prime Grafische Rekenmachine Numerieke benadering van vierkantwortels Doel: De waarde van een vierkantswortel met een recursieve rij benaderen, het schrijven van een klein programma. Sleutelwoorden:

Nadere informatie

Een korte MATLAB introductie

Een korte MATLAB introductie Een korte MATLAB introductie K. Dekker, I.A.M. Goddijn & P. Sonneveld 2014: Aangepast door Tobias de Jong & Irene Verstraten, De Leidsche Flesch 2015: Wijzigingen door Jan van Staalduinen, De Leidsche

Nadere informatie

PC les 1: MATLAB gebruiken

PC les 1: MATLAB gebruiken PC les 1: MATLAB gebruiken In deze les frissen we het gebruik van MATLAB op. We herhalen enkele commando s, en de basisbegrippen om numerieke algorithmen via MATLAB te schrijven. We doen dit aan de hand

Nadere informatie

Inleiding Statistiek

Inleiding Statistiek Inleiding Statistiek Practicum 1 Op dit practicum herhalen we wat Matlab. Vervolgens illustreren we het schatten van een parameter en het toetsen van een hypothese met een klein simulatie experiment. Het

Nadere informatie

Formules grafieken en tabellen

Formules grafieken en tabellen Formules grafieken en tabellen Formules invoeren Met kom je op het formule-invoerscherm. Reeds ingevoerde formules wis je met C. Krijg je niet een scherm waarop Y, Y,... te zien zijn kies dan bij eerst

Nadere informatie

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object. een symbolische naam voor een object. Variabelen Constanten Variabelen Expressies naam : geeft de plaats in het geheugen aan waarde : de inhoud van het object identifier : een rij van letters en/of cijfers

Nadere informatie

5. Vergelijkingen. 5.1. Vergelijkingen met één variabele. 5.1.1. Oplossen van een lineaire vergelijking

5. Vergelijkingen. 5.1. Vergelijkingen met één variabele. 5.1.1. Oplossen van een lineaire vergelijking 5. Vergelijkingen 5.1. Vergelijkingen met één variabele 5.1.1. Oplossen van een lineaire vergelijking Probleem : We willen x oplossen uit de lineaire vergelijking p x+q=r met p. Maxima biedt daartoe in

Nadere informatie

maplev 2010/7/12 14:02 page 15 #17 Nadere detaillering van een aantal zaken van Module 1 Geen,, " ", \, save, read, protect, unprotect

maplev 2010/7/12 14:02 page 15 #17 Nadere detaillering van een aantal zaken van Module 1 Geen,,  , \, save, read, protect, unprotect maplev 2010/7/12 14:02 page 15 #17 Module 2 Het gebruik van Maple, vervolg Onderwerp Voorkennis Expressies Nadere detaillering van een aantal zaken van Module 1 Geen,, " ", \, save, read, protect, unprotect

Nadere informatie

2. Het benaderen van nulpunten

2. Het benaderen van nulpunten Het benaderen van nulpunten Benaderen van vierkantswortels Als we met een numerieke rekenmachine benadering, 7 =,64575 7 berekenen, krijgen we als resultaat een Het numeriek benaderen kan met een recursieve

Nadere informatie

11.0 Voorkennis V

11.0 Voorkennis V 11.0 Voorkennis V 8 6 4 3 6 3 0 5 W 8 1 1 12 2 1 16 4 3 20 5 4 V is een 2 x 4 matrix. W is een 4 x 3 matrix. Deze twee matrices kunnen met elkaar vermenigvuldigd worden. Want het aantal kolommen van matrix

Nadere informatie

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12 Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal

Nadere informatie

Handleiding bij de Booktest Generator

Handleiding bij de Booktest Generator Handleiding bij de Booktest Generator Het programma voor het maken van toetsen bij boeken. (c) 2005/2009 Visiria Uitgeversmaatschappij Twisk Inleiding Onze dank voor het aanvragen van de Booktest Generator.

Nadere informatie

Hoofdstuk 1 : De Tabel

Hoofdstuk 1 : De Tabel Hoofdstuk 1 : De Tabel 1.1 Een tabel maken De GR heeft 3 belangrijke knoppen om een tabel te maken : (1) Y= knop : Daar tik je de formule in (2) Tblset (2nd Window) : Daar stel je de tabel in. Er geldt

Nadere informatie

3.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x.

3.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x. 3.0 Voorkennis Voorbeeld 1: Los op: 6x + 28 = 30 10x. 6x + 28 = 30 10x +10x +10x 16x + 28 = 30-28 -28 16x = 2 :16 :16 x = 2 1 16 8 Stappenplan: 1) Zorg dat alles met x links van het = teken komt te staan;

Nadere informatie

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders.

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders. Spirograaf in Python Een kunstwerk maken Met programmeren kun je alles maken! Ook een kunstwerk! In deze les maken we zelf een kunstwerk met Python. Hiervoor zal je werken met herhalingen en variabelen.

Nadere informatie

Berekeningen op het basisscherm

Berekeningen op het basisscherm Berekeningen op het basisscherm Het basisscherm Zet de grafische rekenmachine (GR) aan met. Je komt op het basisscherm waarop je de cursor ziet knipperen. Berekeningen maak je op het basisscherm. Van een

Nadere informatie

HP Prime: Functie App

HP Prime: Functie App HP Prime Graphing Calculator HP Prime: Functie App Meer over de HP Prime te weten komen: http://www.hp-prime.nl De Functie-App op de HP Prime Gebruik! om het keuzescherm voor de applicaties te openen en

Nadere informatie

1 Matlab: problemen oplossen binnen de lineaire algebra

1 Matlab: problemen oplossen binnen de lineaire algebra Matlab: problemen oplossen binnen de lineaire algebra We beginnen met enkele eenvoudige voorbeelden van hoe je in Matlab lineaire algebra kunt doen. Dit verschaft een eerste uitvalsbasis om binnen Matlab

Nadere informatie

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? 1 Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? Voordat je begint met programmeren, moet je Ruby installeren.

Nadere informatie

Eerste serie opgaven Systeemtheorie

Eerste serie opgaven Systeemtheorie Eerste serie opgaven Systeemtheorie Deze serie bestaat uit oefeningen en opdrachten. De oefeningen zijn bedoeld om je wegwijs te maken in Matlab en de toepassingen in de wiskunde. De opdrachten moet je

Nadere informatie

10. Controleopdrachten

10. Controleopdrachten Computeralgebra met Maxima 10. Controleopdrachten 10.1. Functies en operatoren voor lijsten/vectoren/arrays Een van de eenvoudigste maar belangrijkste lusachtige functies is de makelist opdracht. Voor

Nadere informatie

2.1 Lineaire formules [1]

2.1 Lineaire formules [1] 2.1 Lineaire formules [1] De lijn heeft een helling (richtingscoëfficiënt) van 1; De lijn gaat in het punt (0,2) door de y-as; In het plaatje is de lijn y = x + 2 getekend. Omdat de grafiek een rechte

Nadere informatie

1. Introductie tot SPSS

1. Introductie tot SPSS 1. Introductie tot SPSS Wat is SPSS? SPSS is een statistisch computerprogramma dat door wetenschappers wordt gebruikt om gegevens te verzamelen, analyseren en te bewerken. Het wordt voornamelijk gebruikt

Nadere informatie

8. Differentiaal- en integraalrekening

8. Differentiaal- en integraalrekening Computeralgebra met Maxima 8. Differentiaal- en integraalrekening 8.1. Sommeren Voor de berekening van sommen kent Maxima de opdracht: sum (expr, index, laag, hoog) Hierbij is expr een Maxima-expressie,

Nadere informatie

TECHNISCHE UNIVERSITEIT DELFT. Faculteit Informatietechnologie en Systemen

TECHNISCHE UNIVERSITEIT DELFT. Faculteit Informatietechnologie en Systemen TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Technische Wiskunde en Informatica Vakgroep Toegepaste Analyse Groep Numerieke Wiskunde PRACTICUM : Numerieke Analyse (wi211) COMPUTERSYSTEEM

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Lineaire Algebra voor ST (2DS06) op , uur.

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Lineaire Algebra voor ST (2DS06) op , uur. TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Tentamen Lineaire Algebra voor ST (DS) op --9,.-7. uur. Aan dit tentamen gaat een MATLAB-toets van een half uur vooraf. Pas als de laptops

Nadere informatie

PROS1E1 Handleiding ( ) Kf/Dd/Bd

PROS1E1 Handleiding ( ) Kf/Dd/Bd 1 Inleiding De eerste oefening In deze eerste oefening wordt het voorbeeld 2-1 van bladzijde 11 uit het boek De taal C van PSD tot C-programma (enigszins aangepast) ingevoerd in de computer. Tevens wordt

Nadere informatie

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j FLIPIT JAAP TOP Een netwerk bestaat uit een eindig aantal punten, waarbij voor elk tweetal ervan gegeven is of er wel of niet een verbinding is tussen deze twee. De punten waarmee een gegeven punt van

Nadere informatie

Project Dynamica: oefenopgaven met R

Project Dynamica: oefenopgaven met R Project Dynamica: oefenopgaven met R De onderstaande opgaven dienen in R gemaakt te worden; uitwerkingen hoeven niet ingeleverd te worden. Zie de website http://www.r-project.org/ voor R manuals. Start

Nadere informatie

PYTHON REEKS 1: BASICS. Mathias Polfliet

PYTHON REEKS 1: BASICS. Mathias Polfliet PYTHON REEKS 1: BASICS Mathias Polfliet mpolflie@etrovub.be EENVOUDIGE REKENMACHINE 2 soorten getallen Getallen Z -> integers (gehele getallen) Getallen R -> floating points (reële getallen) Door beperkte

Nadere informatie

Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { De tweede vergelijking van de eerste aftrekken geeft:

Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { De tweede vergelijking van de eerste aftrekken geeft: Determinanten Invoeren van het begrip determinant Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { a x + b y = c a 2 a 2 x + b 2 y = c 2 a Dit levert op: { a a 2 x

Nadere informatie

1.1 Tweedegraadsvergelijkingen [1]

1.1 Tweedegraadsvergelijkingen [1] 1.1 Tweedegraadsvergelijkingen [1] Er zijn vier soorten tweedegraadsvergelijkingen: 1. ax 2 + bx = 0 (Haal de x buiten de haakjes) Voorbeeld 1: 3x 2 + 6x = 0 3x(x + 2) = 0 3x = 0 x + 2 = 0 x = 0 x = -2

Nadere informatie

Enkele voorbeelden volstaan. Zie verder de Help-file van Matlab.

Enkele voorbeelden volstaan. Zie verder de Help-file van Matlab. 1 Inleiding Bij Stochastische Operations Research (2DD21 + SOR-deel van 2DD18) wordt software gebruikt: routines en procedures uit het pakket Matlab en uit een toolbox met Matlab-m-files die hoort bij

Nadere informatie

Rekenen aan wortels Werkblad =

Rekenen aan wortels Werkblad = Rekenen aan wortels Werkblad 546121 = Vooraf De vragen en opdrachten in dit werkblad die vooraf gegaan worden door, moeten schriftelijk worden beantwoord. Daarbij moet altijd duidelijk zijn hoe de antwoorden

Nadere informatie

Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig.

Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig. 6 Totaalbeeld Samenvatten Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig. Begrippenlijst: 21: complex getal reëel deel

Nadere informatie

Parameterkrommen met Cabri Geometry

Parameterkrommen met Cabri Geometry Parameterkrommen met Cabri Geometry 1. Inleiding Indien twee functies f en g gegeven zijn die afhangen van eenzelfde variabele (noem deze t), dan kunnen de functiewaarden daarvan gebruikt worden als x-

Nadere informatie

Hoofdstuk 3. Matrices en stelsels. 3.1 Matrices. [[1,7]],[[12,8] ] of [ 1, 7; 12,8 ] bepaalt de matrix

Hoofdstuk 3. Matrices en stelsels. 3.1 Matrices. [[1,7]],[[12,8] ] of [ 1, 7; 12,8 ] bepaalt de matrix Hoofdstuk 3 Matrices en stelsels 3.1 Matrices Een matrix is in DERIVE gedefinieerd als een vector van vectoren. De rijen van de matrix zijn de elementen van de vector. Op de volgende manier kan je een

Nadere informatie

10.0 Voorkennis. Herhaling van rekenregels voor machten: a als a a 1 0[5] [6] Voorbeeld 1: Schrijf als macht van a:

10.0 Voorkennis. Herhaling van rekenregels voor machten: a als a a 1 0[5] [6] Voorbeeld 1: Schrijf als macht van a: 10.0 Voorkennis Herhaling van rekenregels voor machten: p p q pq a pq a a a [1] a [2] q a q p pq p p p a a [3] ( ab) a b [4] Voorbeeld 1: Schrijf als macht van a: 1 8 : a a : a a a a 3 8 3 83 5 Voorbeeld

Nadere informatie

Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde

Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde 3 voor B. Functies van twee variabelen.. Een functie fx, y) van twee variabelen kan analoog aan een functie van één variabele in Maple

Nadere informatie

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd Inhoudsopgave 1 Inleiding... 1 2 Toekenning- en herhalingsopdrachten (for loop)... 2 2.1 De wet van Ohm... 3 2.2 De spaarrekening... 3 2.3 De transformator... 3 3 Keuze- en herhalingsopdrachten (if, switch,

Nadere informatie

Praktische opdracht: modelleren met Coach

Praktische opdracht: modelleren met Coach Praktische opdracht: modelleren met Coach VWO 5 wiskunde B Mei 00 Hieronder zie je een ketting waaraan vijf gelijke gewichten hangen. Daarnaast een schematische tekening van ketting en gewichten. Aan de

Nadere informatie

2.0 Voorkennis. Herhaling merkwaardige producten: (A + B) 2 = A 2 + 2AB + B 2 (A B) 2 = A 2 2AB + B 2 (A + B)(A B) = A 2 B 2

2.0 Voorkennis. Herhaling merkwaardige producten: (A + B) 2 = A 2 + 2AB + B 2 (A B) 2 = A 2 2AB + B 2 (A + B)(A B) = A 2 B 2 .0 Voorkennis Herhaling merkwaardige producten: (A + B) = A + AB + B (A B) = A AB + B (A + B)(A B) = A B Voorbeeld 1: (5a) (a -3b) = 5a (4a 1ab + 9b ) = 5a 4a + 1ab 9b = 1a + 1ab 9b Voorbeeld : 4(x 7)

Nadere informatie

Korte uitleg: Wat doet de shell met mijn commandoregel?

Korte uitleg: Wat doet de shell met mijn commandoregel? Korte uitleg: Wat doet de shell met mijn commandoregel? Het onderstaande is heel erg Bash gericht, maar geldt i.h.a. ook voor andere shells. Vooral als het om "begrip" gaat. Iedere regel die aan de shell

Nadere informatie

Programmeren met Arduino-software

Programmeren met Arduino-software Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en

Nadere informatie

1. Een van mijn collega s, liet een mooi verhaal zien: De opgave was: Los op ln(x + 2) ln(x + 1) = 1.

1. Een van mijn collega s, liet een mooi verhaal zien: De opgave was: Los op ln(x + 2) ln(x + 1) = 1. Tentamen-wiskunde?. De basiswiskunde. Een van mijn collega s, liet een mooi verhaal zien: De opgave was: Los op ln(x + 2) ln(x + ) =. Oplossing : ln(x + 2) = + ln(x + ) x + 2 = ln + x + 3 = ln dus x =

Nadere informatie

Linalg.nb 1. Werk het notebook aandachtig door en maak de (genummerde) oefeningen aan het einde van elke sectie. Succes!

Linalg.nb 1. Werk het notebook aandachtig door en maak de (genummerde) oefeningen aan het einde van elke sectie. Succes! Linalg.nb Lineaire Algebra Andr Heck AMSTEL Instituut, Universiteit van Amsterdam Werk het notebook aandachtig door en maak de (genummerde) oefeningen aan het einde van elke sectie. Succes! Å Introductie

Nadere informatie

Basisvaardigheden Microsoft Excel

Basisvaardigheden Microsoft Excel Basisvaardigheden Microsoft Excel Met behulp van deze handleiding kun je de basisvaardigheden leren die nodig zijn om meetresultaten van een practicum te verwerken. Je kunt dan het verband tussen twee

Nadere informatie

Het installatiepakket haal je af van de website http://www.gedesasoft.be/.

Het installatiepakket haal je af van de website http://www.gedesasoft.be/. Softmaths 1 Softmaths Het installatiepakket haal je af van de website http://www.gedesasoft.be/. De code kan je bekomen op de school. Goniometrie en driehoeken Oplossen van driehoeken - Start van het programma:

Nadere informatie

Formules, grafieken en tabellen

Formules, grafieken en tabellen Formules, grafieken en tabellen Formules invoeren Met Q* kom je op het formule-invoerscherm. Reeds ingevoerde formules wis je met» *!:. Ploti W1BX2-4X+2 Krijg je niet een scherm waarop Yl, Y2,... te zien

Nadere informatie

WI1808TH1/CiTG - Lineaire algebra deel 1

WI1808TH1/CiTG - Lineaire algebra deel 1 WI1808TH1/CiTG - Lineaire algebra deel 1 College 6 26 september 2016 1 Hoofdstuk 3.1 en 3.2 Matrix operaties Optellen van matrices Matrix vermenigvuldigen met een constante Matrices vermenigvuldigen Machten

Nadere informatie

TI83-werkblad. Vergelijkingen bij de normale verdeling

TI83-werkblad. Vergelijkingen bij de normale verdeling TI83-werkblad Vergelijkingen bij de normale verdeling 1. Inleiding Een normale verdeling wordt bepaald door de constanten µ en σ. Dit blijkt uit het voorschrift van de verdelingsfunctie van de normale

Nadere informatie

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. 1 Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. Voordat je leert programmeren, moet je jouw pc zo instellen dat

Nadere informatie

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2 Controle structuren De algemene vorm: 1 bloks door middel van indentatie Keuze Herhaling if expressie :...... In de volgende vorm is het else gedeelte weggelaten: if expressie :... Het if keuze- of conditioneel

Nadere informatie

Hoofdstuk 20: Wiskundige functies

Hoofdstuk 20: Wiskundige functies Hoofdstuk 20: Wiskundige functies 20.0 Introductie Er is een uitgebreid aanbod aan wiskundige functies in Excel, variërend van het simpele + teken tot de esoterische statistiek functies voor een correlatie

Nadere informatie

De eerste stappen met de TI-Nspire 2.1 voor de derde graad

De eerste stappen met de TI-Nspire 2.1 voor de derde graad De eerste stappen met TI-Nspire 2.1 voor de derde graad. Technisch Instituut Heilig Hart, Hasselt Inleiding Ik gebruik al twee jaar de TI-Nspire CAS in de derde graad TSO in de klassen 6TIW( 8 uur wiskunde)

Nadere informatie

In dit hoofdstuk komen korte onderwerpen aan bod die we uitwerken met DERIVE. Zo leer je heel wat functies van DERIVE kennen.

In dit hoofdstuk komen korte onderwerpen aan bod die we uitwerken met DERIVE. Zo leer je heel wat functies van DERIVE kennen. Hoofdstuk Een DERIVE-tour In dit hoofdstuk komen korte onderwerpen aan bod die we uitwerken met DERIVE. Zo leer je heel wat functies van DERIVE kennen..1 Exact en benaderend rekenen Met de standaardinstelling

Nadere informatie

HP Prime: Functie App Grafieken op de GR

HP Prime: Functie App Grafieken op de GR HP Prime Graphing Calculator HP Prime: Functie App Grafieken op de GR De Functie-App op de HP Prime Deze handleiding gaat er vanuit dat je met de laatste versie (10077) van de firmware werkt. Dit kun je

Nadere informatie

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl Excel reader Beginner Gemiddeld Auteur Bas Meijerink E-mail bas@excel-programmeur.nl Versie 01D00 Datum 01-03-2014 Inhoudsopgave Introductie... - 3 - Hoofdstuk 1 - Databewerking - 4-1. Inleiding... - 5-2.

Nadere informatie

3 Wat is een stelsel lineaire vergelijkingen?

3 Wat is een stelsel lineaire vergelijkingen? In deze les bekijken we de situatie waarin er mogelijk meerdere vergelijkingen zijn ( stelsels ) en meerdere variabelen, maar waarin elke vergelijking er relatief eenvoudig uitziet, namelijk lineair is.

Nadere informatie

Examen VWO. Wiskunde B1,2 (nieuwe stijl)

Examen VWO. Wiskunde B1,2 (nieuwe stijl) Wiskunde B,2 (nieuwe stijl) Eamen VW Voorbereidend Wetenschappelijk nderwijs Tijdvak 2 Woensdag 9 juni 3.30 6.30 uur 20 02 Voor dit eamen zijn maimaal 84 punten te behalen; het eamen bestaat uit 6 vragen.

Nadere informatie

TI-SMARTVIEW. Installeren op Windows PC

TI-SMARTVIEW. Installeren op Windows PC TI SmartView 1 TI-SMARTVIEW Installeren op Windows PC De licentie van de school voor TI-SmartView is tot nader bericht een single-user licentie, hetgeen betekent dat deze op één pc mag geïnstalleerd worden,

Nadere informatie

25 Excel tips. 25 Handige Excel tips die tijd besparen en fouten voorkomen. Ir. Fred Hirdes. Excel-leren.nl.

25 Excel tips. 25 Handige Excel tips die tijd besparen en fouten voorkomen. Ir. Fred Hirdes. Excel-leren.nl. [Geef tekst op] 25 Excel tips 25 Handige Excel tips die tijd besparen en fouten voorkomen Ir. Fred Hirdes Excel-leren.nl info@excel-helpdesk.nl Inhoudsopgave Inhoudsopgave... 1 Inleiding... 2 Tip 1 tm

Nadere informatie

Excel. Inleiding. Het meest gebruikte spreadsheet programma is Excel.

Excel. Inleiding. Het meest gebruikte spreadsheet programma is Excel. Excel Inleiding Het woord computer betekent zoiets als rekenmachine. Daarmee is is eigenlijk aangegeven wat een computer doet. Het is een ingewikkelde rekenmachine. Zelf voor tekstverwerken moet hij rekenen.

Nadere informatie

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester.

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester. In onderstaande oefeningen zijn kleuren gebruikt. Deze dienen aleen om de structuren makkelijker terug te kunnen herkennen. Ze worden niet standaard zo gebruikt. De dunne rood/roze balken zijn ook geen

Nadere informatie

Zomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008

Zomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008 Katholieke Universiteit Leuven September 008 Algebraïsch rekenen (versie 7 juni 008) Inleiding In deze module worden een aantal basisrekentechnieken herhaald. De nadruk ligt vooral op het symbolisch rekenen.

Nadere informatie

Tweede Programmeeropgave Numerieke Wiskunde 1 De golfplaat Uiterste inleverdatum : vrijdag 16 mei 2003

Tweede Programmeeropgave Numerieke Wiskunde 1 De golfplaat Uiterste inleverdatum : vrijdag 16 mei 2003 Tweede Programmeeropgave Numerieke Wiskunde 1 De golfplaat Uiterste inleverdatum : vrijdag 16 mei 2003 I Doelstelling en testcase In deze programmeeropgave zullen we een drietal numerieke integratiemethoden

Nadere informatie

Uitwerkingen Rekenen met cijfers en letters

Uitwerkingen Rekenen met cijfers en letters Uitwerkingen Rekenen met cijfers en letters Maerlant College Brielle 5 oktober 2009 c Swier Garst - RGO Middelharnis 2 Inhoudsopgave Rekenen met gehele getallen 7. De gehele getallen.....................................

Nadere informatie

Paragraaf 1.1 : Lineaire verbanden

Paragraaf 1.1 : Lineaire verbanden Hoofdstuk 1 Formules, grafieken en vergelijkingen (H4 Wis B) Pagina 1 van 11 Paragraaf 1.1 : Lineaire verbanden Les 1 Lineaire verbanden Definitie lijn Algemene formule van een lijn : y = ax + b a = richtingscoëfficiënt

Nadere informatie

Inhoud. Informatica. Hoofdstuk 5 Scripting. Context. Editor voor Programmeercode. Scripting 1

Inhoud. Informatica. Hoofdstuk 5 Scripting. Context. Editor voor Programmeercode. Scripting 1 5.1 5.2 1rste BAC Biologie Hoofdstuk 5 Inhoud Inleiding Programeerconstructies functies variabelen (toekenning) statements (print, ) controlestructuren (if, while, until, for) Oefeningen 5.3 5.4 "functionzero.zip"

Nadere informatie

P O W E R P O I N T - onderdeel van Microsoft Office 2000 pakket (nl) De Windows versies van Powerpoint kunnen onderling afwijken

P O W E R P O I N T - onderdeel van Microsoft Office 2000 pakket (nl) De Windows versies van Powerpoint kunnen onderling afwijken P O W E R P O I N T - onderdeel van Microsoft Office 000 pakket (nl) De Windows versies van Powerpoint kunnen onderling afwijken DEEL I De zes basisstappen Met het programma Powerpoint kun je zelf een

Nadere informatie

8.0 Voorkennis. Voorbeeld 1: Bereken het snijpunt van 3x + 2y = 6 en -2x + y = 3

8.0 Voorkennis. Voorbeeld 1: Bereken het snijpunt van 3x + 2y = 6 en -2x + y = 3 8.0 Voorkennis Voorbeeld 1: Bereken het snijpunt van 3x + 2y = 6 en -2x + y = 3 2x y 3 3 3x 2 y 6 2 Het vermenigvuldigen van de vergelijkingen zorgt ervoor dat in de volgende stap de x-en tegen elkaar

Nadere informatie

Stroomschema s maken in Word

Stroomschema s maken in Word 1 Stroomschema s maken in Word Een programma direct maken in Scratch gaat vaak wel goed als het een klein programma is. Als het programma groter en moeilijker is, is het lastig om goed te zien welk commando

Nadere informatie

5. Functies. In deze module leert u:

5. Functies. In deze module leert u: 5. Functies In deze module leert u: - Wat functies zijn; - Functies uitvoeren; - De verschillende functies van Calc kennen. - Naar een ander werkblad verwijzen. U kunt eenvoudige berekeningen, zoals aftrekken,

Nadere informatie

12. Uitwerkingen van de opgaven

12. Uitwerkingen van de opgaven 12. Uitwerkingen van de opgaven 12.1. Uitwerkingen opgaven van hoofdstuk 3 Opgave 3.1 3,87 0,152 641, 2 Bereken met behulp van Maxima: 2,13 7,29 78 0,62 45 (%i1) 3.87*0.152*641.2/(2.13*7.29*78*0.62*45);

Nadere informatie

Rekenen met cijfers en letters

Rekenen met cijfers en letters Rekenen met cijfers en letters Maerlant College Brielle 5 oktober 009 c Swier Garst - RGO Middelharnis Inhoudsopgave Rekenen met gehele getallen 7. De gehele getallen.....................................

Nadere informatie

GeoGebra Quickstart. Snelgids voor GeoGebra. Vertaald door Beatrijs Versichel en Ivan De Winne

GeoGebra Quickstart. Snelgids voor GeoGebra. Vertaald door Beatrijs Versichel en Ivan De Winne GeoGebra Quickstart Snelgids voor GeoGebra Vertaald door Beatrijs Versichel en Ivan De Winne Dynamische meetkunde, algebra en analyse vormen de basis van GeoGebra, een educatief pakket, dat meetkunde en

Nadere informatie

( ) Hoofdstuk 4 Verloop van functies. 4.1 De grafiek van ( ) 4.1.1 Spiegelen t.o.v. de x-as, y-as en de oorsprong

( ) Hoofdstuk 4 Verloop van functies. 4.1 De grafiek van ( ) 4.1.1 Spiegelen t.o.v. de x-as, y-as en de oorsprong Hoofdstuk 4 Verloop van functies Met DERIVE is het mogelijk om tal van eigenschappen van functies experimenteel te ontdekken. In een eerste paragraaf onderzoeken we het verband tussen de grafieken van

Nadere informatie

Het berekenen van coördinaten van bijzondere punten van een grafiek gaat met opties uit het CALC-menu.

Het berekenen van coördinaten van bijzondere punten van een grafiek gaat met opties uit het CALC-menu. Toppen en snijpunten We gaan uit van de formule y 0,08x 1,44x 6,48x 3. Voer deze formule in op het formule-invoerscherm (via!) en plot de grafiek met Xmin = 0, Xmax = 14, Ymin = 5 en Ymax = 14. In de figuur

Nadere informatie

2IV10 Oefentoets uitwerking

2IV10 Oefentoets uitwerking 2IV10 Oefentoets uitwerking Deze oefentoets bestaat uit drie opgaven, waarvoor twee uur beschikbaar is. Bij voldoende resultaat wordt een bonuspunt toegekend voor het tentamen. De opgaven betreffen een

Nadere informatie