Arrays#
En array er en måte å lagre data på. Arrays likner på Lister, men har flere viktige forskjeller.
For å bruke arrays må vi bruke en pakke som heter numpy
. Mange Python-installasjoner vil inkludere denne pakken, men man kan også installere pakken ved å skrive pip install numpy
i terminalvinduet.
Når vi har numpy
-pakken kan vi lage en array på denne måten.
import numpy as np
array = np.array([1, 2, 3])
print(array)
[1 2 3]
linspace()
-funksjonen#
For å lage en jevn fordeling av tall i et intervall kan vi bruke linspace()
-funksjonen. Dette er nyttig for å lage x
-verdier til en matematisk funksjon.
import numpy as np
print(np.linspace(0, 2, 5)) # 5 tall mellom 0 og 2 (inkluderende)
print(np.linspace(-5, 5, 10)) # 10 tall mellom -5 og 5 (inkluderende)
[0. 0.5 1. 1.5 2. ]
[-5. -3.88888889 -2.77777778 -1.66666667 -0.55555556 0.55555556
1.66666667 2.77777778 3.88888889 5. ]
Regne ut \(x\)-verdier og \(y\)-verdier for funksjoner#
Her kommer et eksempel på hvordan vi kan lage x
-verdier med np.linspace()
og bruke det til å finne tilsvarende y
-verdier.
import numpy as np
def f(x):
return x**2
x = np.linspace(-2, 2, 5) # 5 tall mellom -5 og 5
y = f(x)
print("x-verdier:", x)
print("y-verdier:", y)
x-verdier: [-2. -1. 0. 1. 2.]
y-verdier: [4. 1. 0. 1. 4.]
Forsøk å se for deg hvordan funksjonen ser ut ved å se på disse verdiene. Tegn den gjerne, hvis du gidder.
Skrive ut punkter#
Vi kan skrive ut flere punkter fra en matematisk funksjon med en for
-løkke. Da kan vi få en anelse over hvordan den ser ut.
import numpy as np
def f(x):
return x**2
x = np.linspace(-2, 2, 5) # 5 tall mellom -5 og 5
y = f(x)
for n in range(len(x)):
print(f"({x[n]}, {y[n]})") # Skriver ut hvert punkt (x, y)
(-2.0, 4.0)
(-1.0, 1.0)
(0.0, 0.0)
(1.0, 1.0)
(2.0, 4.0)
Ved å endre på np.linspace
-funksjonen og funksjonsuttrykket kan vi nå skrive ut så mange punkter vi ønsker fra en vilkårlig matematisk funksjon. Sykt fett, dude! 🤙
Oppgaver#
Oppgave 1
I denne oppgaven skal vi lage en andregradsfunksjon \(g(x)=x^2-1\)
Bruk eksempelet over til å skrive ut punkter fra funksjonen g(x)
med \(9\) jevnt fordelte \(x\)-verdier mellom \(-2\) og \(2\).
Bruk punktene til å tegne funksjonen for hånd.
Bruk verdiene og tegningen til å finne \(x\)-verdiene hvor funksjonen krysser \(x\)-aksen.
Oppgave 2
Overskuddet \(O(x)\) til en bedrift etter å ha produsert \(x\) enheter er gitt ved \(O(x)=-x^2+50x-96\).
Lag \(51\) jevnt fordelte \(x\)-verdier mellom \(0\) og \(50\), finn \(y\)-verdiene og skriv ut punktene med en for
-løkke.
Hvor mange enheter må bedriften lage for å tjene penger?
Hvor mange enheter må bedriften lage for å tjene mest mulig penger? Hvor mye tjener de da?
Skriv svarene som en kommentar.