Programmeren en Wetenschappelijk Rekenen in Python
Wi1205AE I.A.M. Goddijn, Faculteit EWI
13 mei 2014
Bijeenkomst 7
Onderwerpen
Tips met betrekking tot boolse variabelen en loops Numpy
Lijsten, ‘tuples’, arrays, matrices Wat is het verschil?
Wanneer gebruik je wat?
Boolse variabelen
Opmerking Initialisatie:
running =True Gebruik daarna:
if running en niet
if running == True
Initialisatie:
swescape =False Gebruik :
while notswescape en niet
whileswescape ==False
Loops
Gebruik while-loops wanneer:
van tevoren onbekend is hoe vaak een loop doorlopen moet worden,
een stopcriterium bekend is die niet van een iterand afhangt, bijv.: “zolang y ≥ 0”.
Pas op: zorg dat er geen oneindige loop ontstaat en gebruik eventueel een “noodstop”, bijv: or“t > 500”
(tijdsduur wordt te groot).
Loops
Gebruik for-loops wanneer:
van tevoren bekend is hoe vaak een loop doorlopen moet worden,
het iteratieproces van de iterand, bijv: i , afhangt.
Numpy (en Scipy)
Numpy en Scipy zijn modules die uitermate geschikt zijn om wetenschappelijk te rekenen.
types: ‘arrays’ en ‘matrices’,
geschikt voor berekeningen uit de Lineaire Algebra, functiewaarden kunnen voor een heel array tegelijk worden uitgerekend,
databestanden kunnen eenvoudig worden ingelezen.
Voorbeelden
vb-1.xhtml: range versus arange, linspace versus arange vb-2.xhtml: arrays en matrices
vb-3.xhtml: arrays en matrices, het product
vb-4.xhtml: arrays en matrices, transponeren, inverteren, de determinant, het oplossen van matrixvergelijkingen vb-5.xhtml: arrays en matrices, de nulmatrix, de identieke matrix, (tri-)diagonaalmatrices
vb-6.xhtml: arrays en matrices, het in-en uitwendig product van vectoren
vb-7.xhtml: arrays en matrices, het berekenen van functiewaarden
Documentatie Numpy en Scipy
Voor numpy zie:
http://docs.scipy.org/doc/numpy/reference/
en voor Scipy zie:
http://docs.scipy.org/doc/scipy/reference/
Voorbeelden
vb-8.xhtml: arrays, elementen zoeken vb-9.xhtml: arrays, samenvoegen arrays vb-10.xhtml: arrays, inlezen arrays
Tips bij de bonusopdracht
Download het bestand pygmaps-0.1.1.zip van Blackboard, kopieer het bestand pygmaps.py naar de folder
“Lib\ site-packages ”,
importeer de modules numpy, pygmaps, en de module webbrowser (standaard aanwezig),
lees het bijgeleverde tekstbestand “read.txt”, maak een mapobject mymap aan met de opdracht:
mymap = pygmaps.maps(...)
en voeg vervolgens vliegtuigroutes toe met de methode (functie):
addpath
bij het mapobject mymap.
De opdracht wordt dus:
mymap.addpath(...)
Gebruik tenslotte de methode (functie bij het mapobject mymap):
draw
om een html-bestand te maken en open dit met de functie webbrowser.
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.