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.