• No results found

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
18
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

30 april 2014

(2)

Bijeenkomst 4

Onderwerpen

Functies en Modules Het maken van plots

(3)

Zelf functies maken

Vorm van een functie : def(. . . , . . . , . . . , . . . , . . .

| {z }

invoervariabelen ):

ingesprongen code

met meestal als laatste opdracht return uitvoervariabele of bijvoorbeeld return [ . . . , . . . , . . . , . . .

| {z }

uitvoervariabelen

] ←lijst

return ( . . . , . . . , . . . , . . .

| {z }

) ←‘tuple’

(4)

vb4-1a.py: illustratie van def, bepaling van een functiewaarde

f (x ) =









cos(x ) voor −π

2 ≤ x < 0 sin(x ) voor 0 ≤ x < π 2

1 voor π

2 ≤ x ≤ π

(5)

vb4-1b.py: def, bepaling van de grootste van drie getallen vb4-1c.py: def, bepaling van de grootste van drie getallen, nogmaals

vb4-2a.py: def, lokale en globale variabelen vb4-2b.py: def, lokale en globale variabelen vb4-2c.py: def, lokale en globale variabelen

vb4-3.py: def, meerdere functie files in ´e´en bestand, meerdere uitvoervariabelen

(6)

Het structureren van programma’s

Eerste mogelijkheid

Maak ´e´en folder voor je project.

Bewaar elke zelf gemaakte functie in een bestand met extensie py en geef dit dezelfde naam als de functie.

Importeer zo’n functie wanneer je die nodig hebt.

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

import sumabs

(7)

Tweede mogelijkheid, maak een eigen module

Maak een bestand aan tools.py met daarin opgeslagen de functie files sumabs en prodabs (zie vb4-4a.b).

Door in een derde bestand als eerste regel op te nemen (na commentaar):

from tools import sumabs of from tools import prodabs of

from tools import sumabs, prodabs of from tools import ∗ of

(8)

import tools of import tools as t

kan gebruik gemaakt worden van de functies sumabs en/of prodabs.

(9)

vb4-4a.py: het maken van een eigen module met functies vb4-4b.py: het maken van een eigen module met functies vb4-4c.py: het maken van een eigen module met data

(10)

Alles in ´ e´ en bestand?

De voordelen van ´e´en lang bestand:

Een programma is snel te maken, geen gedoe, en groeit op een natuurlijke manier.

De globale variabelen zijn beschikbaar voor elke functie.

De opdrachten Find/Search/Replace zijn gemakkelijk te gebruiken.

Een programma is eenvoudig om te ‘runnen’.

(11)

Doe dit voor:

Tijdelijke programma’s gemaakt om bijvoorbeeld een functie te testen.

Kleine programma’s/berekeningen.

Voor snelle klusjes

Voor programma’s die je niet van plan bent te delen met anderen of te hergebruiken.

(12)

Meerdere bestanden gebruiken?

De voordelen van het gebruiken van meerdere bestanden:

Grotere projecten zijn beter te organiseren.

Functies en datasets zijn eenvoudig te hergebruiken.

Programma’s die met anderen worden gedeeld zijn door hen makkelijker te begrijpen.

Nadeel:

De globale variabelen zijn niet altijd toegankelijk, er moet meer nagedacht worden over de structuur van een programma.

(13)

Het maken van plaatjes

Importeer eerst de module pyplot met de opdracht:

import matplotlib.pyplot as plt

Bepaal bijvoorbeeld de x -en y -co¨odinaten van een aantal punten op een kromme en sla ze op in de lijsten xlst en ylst.

Met de opdrachten:

plt.plot(xlst,ylst)

plt.show() # start interactieve plot window en het ‘runnen’ van het gemaakte bestand krijgen we nu de grafiek van de kromme te zien.

(14)

vb4-5a.py: plot, de grafiek van een eenvoudige kromme vb4-5b.py: plot, de grafiek van een functie en

aanpassingen daarvan

vb4-5c.py: plot, meerdere grafieken in ´e´en plaatje

(15)

Het maken van een aantal plaatjes in ´ e´ en window

Importeer eerst de module pyplot met de opdracht:

import matplotlib.pyplot as plt

Wanneer we 4 lijsten met x -co¨ordinaten hebben en vier lijsten met bijbehorende y -co¨ordinaten, zeg lstx k en lsty k voor k = 1, 2, 3 en 4 dan kunnen we met de opdrachten:

(16)

plt.subplot(221) plt.plot(lstx 1,lsty 1) plt.subplot(222) plt.plot(lstx 2,lsty 2) plt.subplot(223) plt.plot(lstx 3,lsty 3) plt.subplot(224) plt.plot(lstx 4,lsty 4) plt.show()

en het ‘runnen’ van het gemaakte bestand de grafieken van 4 krommen zien.

(17)

Heel veel informatie over het maken van plaatjes is te vinden op de website van Matplotlib. Kijk maar eens naar de

documentatie en de voorbeelden.

Echt een aanrader!

Zie: http://matplotlib.org/

(18)

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.

Referenties

GERELATEERDE DOCUMENTEN

(c) Geef een model met een drager bestaande uit drie elementen, dat confusion bevat maar geen junk. (Mag als tekening; geef de confusion aan.) (d) Voeg ´ e´ en of meer

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

Tkinter https://docs.python.org/2/library/tkinter.html vb-2.py: een dialoogscherm om bestanden mee te openen Spiro 1m extra.py: dialoogscherm met een mededeling, knoppen etc.

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

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