Python basics

Python basics#

In deze opdracht leer je de basis van programmeren in Python met gebruik van Jupyter Notebooks. Je kunt uiteindelijk een plot van data maken. We maken gebruik van Jupyter notebooks. Dit geeft de mogelijkheden zowel tekst, formules (\(y=\frac{a}{x}\)) en code te gebruiken.

Een notebook bestaat uit verschillende cellen. Code in cellen moet je ‘runnen’. Dat doe je door op de playknop links te drukken of met de sneltoets ctrl + enter. Probeer het maar eens uit met de volgende cel.

import numpy as np
import matplotlib.pyplot as plt

print("Hello World!")

Met de code in de eerste twee regels worden zogenaamde libraries ingeladen die we later nodig hebben. Met de laatste regel code print je “Hello World!” Een stukje code dat vrijwel altijd als eerst gebruikt wordt wanneer je een nieuwe programmeertaal leert.

Uiteindelijk willen we een mooie plot maken van een functie (of van data). Daartoe moeten we eerst iets weten over hoe we kunnen rekenen.

  • Lees de code in de cel hieronder en voorspel wat de uitkomst zal zijn.

a = 2
b = 3
c = a*b

print(a*b)
print(a+b)
print(c)
print(c+a)
print(c**a)

In de eerste drie regels maken we variabelen aan. Zoals bij regel drie al te zien is, kunnen we wiskundige bewerkingen doen (als het ware letterrekenen). We hebben de volgende operaties: \(+, -, /, **, \%\).

  • Probeer elk van die operaties hieronder uit en vind uit wat de operator doet. Eentje is al voorgedaan.

### Jouw code
print(b%a)

We kunnen ook een heel serie getallen aanmaken (array).

  • Run onderstaande cel en leg uit wat er gebeurt.

rij_1 = np.array([0,1,2,3,4,5,6,7,8,9,10])
print(rij_1)
print(rij_1*4)
print(rij_1**2)

Omdat we nu een rij waarden hebben die kunnen dienen als onafhankelijke variabele, en twee rijen die kunnen dienen als afhankelijke variabelen, kunnen we onze eerste plot maken. (onderstaande code geeft veel gebruikte opties voor plotten, er is nog veel meer mogelijk, zie https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html)

plt.figure() #aanmaken van de figuur
plt.plot(rij_1,rij_1*4, '.', color = 'black')
plt.plot(rij_1,rij_1**2,'+', color = 'red')

plt.xlabel('onafhankelijke variabele')
plt.ylabel('afhankelijke variabele')

plt.grid()

plt.savefig('Grafiek.jpg',dpi=400)
plt.show() #tonen van de figuur

Wat wellicht wel duidelijk is, is dat we de eerste rij niet zo handig hebben gemaakt. Wat als we de getallen 0 t/m 100 willen gebruiken? We kunnen functies die in de numpy library opgeslagen zit gebruiken.

  • Run de cel hier beneden en bekijk welke waarden gemaakt zijn.

  • Onderzoek waar elk getal voor dient door deze aan te passen, te voorspelen wat er dan uitkomt en te controleren door de cel te runnen.

x = np.arange(0,100,2)
y = np.linspace(0,100,101)

print(x)
print(y)

Je hebt nu voldoende kennis om een functie te plotten.

  • Maak een array x van 0 tot 10 met een interval van 0.5

  • Maak een tweede array y die uitrekent: \(0.5*x^2+3*x-0.5\)

  • Maak de grafiek waarbij je y uitzegt tegen x.

#Jouw code
x =
y =

plt.figure()