• No results found

Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE I.A.M. Goddijn, Faculteit EWI 20 mei 2014

N/A
N/A
Protected

Academic year: 2021

Share "Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE I.A.M. Goddijn, Faculteit EWI 20 mei 2014"

Copied!
16
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Programmeren en Wetenschappelijk Rekenen in Python

Wi1205AE I.A.M. Goddijn, Faculteit EWI

20 mei 2014

(2)

Bijeenkomst 9

Onderwerpen

Bespreking opgave over astero¨ıden en de opdracht over de vluchtgegevens van een vliegtuig

Diagnostische toets Recursief programmeren Scipy

(3)

Recursie

Een functie heet recursief als zij zichzelf aanroept.

Dit wordt meestal gebruikt:

voor een klein gedeelte van een groter probleem, wanneer een functie zichzelf een beperkt aantal keren aanroept (heel belangrijk is een stopcriterium).

(4)

Recursie

Faculteit

fac cw.py: de berekening van n! (traditioneel) fac rec.py: de berekening van n! (recursief)

Teken een boom

iedere tak heeft twee een klein beetje kortere zijtakken en deze takken hebben ook weer twee een klein beetje kotere zijtakken en...

en dit gaat door totdat de takken te kort worden.

recursive-trees.py

(5)

De torens van Hanoi

=⇒

?

Verplaats ´e´en schijf per keer.

Op welke pin de schijven ook staan, van onder naar boven hebben ze een kleinere straal.

Het is dus niet toegestaan om een grotere schijf op een kleinere te plaatsen.

(6)

Een voorbeeld met 4 schijven

(7)

Een recursief algoritme

→ →

A B C A B C A B C

Hoe verplaatsen we n schijven van A naar C ?

Verplaats met behulp van het algoritme n − 1 schijven van A naar B (zie: hanoi.py),

vervolgens de enige overgebleven schijf van A naar C , en tenslotte met behulp van het algoritme n − 1 schijven van B naar C .

(8)

N = 2

(9)

N = 3

(10)

Scipy versus Numpy

Numpy is een onderdeel van Scipy Numpy bevat veel functies maar...

Scipy bevat veel modules

...met een uitstekende documentatie.

(11)
(12)

Voorbeelden

distance.py: de berekening van de afstanden tussen punten

noisy data.py: het ‘best passende polynoom’ bij data met ruis (zie:[2, §6.6])

Vraag

En een echelonmatrix? Kun je die maken?

Jawel, kijk maar eens hier:

http://docs.scipy.org/doc/scipy/reference/

generated/scipy.linalg.lu.html

(13)

iPy Notebook

Een ontwikkelomgeving speciaal voor Wetenschappelijk Rekenen onder Python(x,y)

Er wordt getypt achter de Command Prompt,

elke cel kan afzonderlijk worden

‘gerund’,

cellen delen data,

grafieken worden automatisch getoond.

(14)

Opdracht

Scipy: plot een geluidsbestand (wav) en versterk/verzwak het volume of de tijdsduur met een factor opgegeven door de gebruiker.

Recursie: nulpuntsbepaling door de bisectiemethode te gebruiken

Traditionele implementatie Recursieve implementatie

Project Euler/ werken aan project

(15)

Diagnostische toets

Bespreken eerste diagnostische toets vb-1.xhtml, break en continue vb-2.xhtml, over return gesproken...

(16)

Jacco Hoekstra:

Programming and Scientific Computing in Python (Version 3.10),

Artikelnummer: 0691770043.

David C. Lay:

Linear Algebra and Its Applications (fourth edition), Pearson (2013),

ISBN-13: 978-1-292-02055-6.

James Stewart:

Calculus, Early Transcedentals (seventh edition), Cengage Learning (2012),

ISBN-13: 978-0-538-49887-6.

C.Vuik, P. van Beek, F. Vermolen en J.van Kan:

Numerical Methods for Ordinary Differential Equations, VSSD (2007),

ISBN-13: ISBN 978-90-6562-156-6.

Referenties

GERELATEERDE DOCUMENTEN

Als S niet op het lijnstuk AC ligt, en dús gelegen is op het verlengde van AC of van CA, dan tekenen we op de positie van het punt X het (voorwaardelijke) punt Y.. We zien dat

een lijst begint en eindigt met een rechte haak, de elementen van de lijst worden gescheiden door een

Is bijvoorbeeld een functie sumabs gemaakt, die is opgeslagen in het bestand sumabs.py importeer dit dan met de opdracht:..

Om het resultaat van een tekening of een plaatje vanuit het geheugen naar het scherm te kopi¨ eren wordt de functie flip bij de module display gebruikt. # Plaatje is klaar, laat zien

Gegeven zijn n massa’s ([kg ]) die bewegen in een plat vlak met een daarop werkende bekende kracht (zwaartekracht) ([N]) De massa’s zijn opgeslagen in een array m ([kg ]), de

De melding “Runtime Error” zegt dus dat er iets fout is gelopen tijdens het werken van het programma...

De methode van Newton-Raphson Het benaderen van een bepaalde integraal. De methode van Euler

Het lukt ons gewoon niet om zonder de extra investering in tijd en geld een klein beetje mee te kunnen doen in de samenleving.. Soms moeten we eerst allerlei kleine dingetjes