Gjentatt vekst#

Forutsetninger og læringsmål#

Oppgaver#

NDLA om eksponentiell vekst og

Om en populasjon vokser med 10% hver måned, hvor lang tid vil det ta å doble størrelsen?
[Mason et al., 2010] p.191

Om en populasjon synker 10% hver måned, hvor lang tid vil det ta å halvere størrelsen?
[Mason et al., 2010] p.191

Vi vil forutsette kunnskap om potensregning.

Introduksjon#

Representasjoner#

Søylediagram med tid mot høyre#

Felix setter 100 kroner i banken, og får 20% rente hvert år. Hvordan vokser beløpet?

Dette kan vi illustrere ved gamle representasjoner. Vi må bare passe på at det nye beløpet (gammel helhet pluss renter) blir helhet for det neste året. Første året er altså helheten 100 kroner og økning 20 kroner; andre året blir helheten 120 kroner. Det blir sånn for de første ti årene:

Kurve#

Vi har strengt tatt ikke introdusert kurver (grafer) ennå, men nevner likevel at det samme også kan representeres ved en kurve. En glatt kurve antyder at det går an å lese av verdier midt i årene. Om rentene avregnes hver dag er dette fornuftig; om rentene avregnes bare hvert år blir det ikke riktig.

fig = pyplot.figure();
ax = fig.add_subplot(111)
ax.set_xlabel("Antall år")
ax.set_ylabel("Beløp")

# https://stackoverflow.com/questions/4761623/how-to-change-the-color-of-the-axis-ticks-and-labels-for-a-plot-in-matplotlib
exponentColour = "#996535"
ax.xaxis.label.set_color(exponentColour)
ax.spines['bottom'].set_color(exponentColour)
ax.spines['bottom'].set_lw(3)
ax.tick_params(axis='x', colors=exponentColour)
base = 100;
xMax = 10.1
xPoints = numpy.arange(0, xMax, 1)
x = numpy.arange(0, xMax, 0.1) 
yPoints = base * 1.2 ** xPoints
y = base * 1.2 ** x


pyplot.title("Potensfunksjon") 

# Plot the points using matplotlib 
pyplot.plot(x, y, color="#FF5555") 
pyplot.plot(xPoints, yPoints, "o", color="#FF5555") 
pyplot.ylim(ymin=0)
exponentPlot = pyplot.show()

TODO
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Cell In[1], line 1
----> 1 fig = pyplot.figure();
      2 ax = fig.add_subplot(111)
      3 ax.set_xlabel("Antall år")

NameError: name 'pyplot' is not defined

Vekstfaktor og gjentatt vekst#

Vekstfaktoren er .

Beløpet vi starter med, altså 100 kroner i eksempelet, skal vi kalle startbeløp.

Etter ett år har vi startbeløp × vekstfaktor.
Etter to år har vi startbeløp × vekstfaktor × vekstfaktor, altså startbeløp × vekstfaktor².
Etter n år har vi startbeløp × vekstfaktorⁿ.

Implisitt og eksplisitt formel#

Dette er eksempel på to typer formler:
  • $\textrm{beløp}_n = \textrm{beløp}_{n-1}*1.2$ er eksempel på en implisitt eller rekursiv formel. For å regne ut beløpₙ må vi først regne ut alle årene før. Den er relativt enkel å forstå.
  • $\textrm{beløp}_n = \textrm{startbeløp}×1.2ⁿ$ er eksempel på en eksplisitt formel. Vi kan regne ut beløpₙ i én rask regneoperasjon. Den er kanskje vanskeligere å forstå.
En del ganger er det interessant å regne fra en kjent implisitt formel til en eksplisitt.

Regneark#

I regneark kan man la hver linje (rad) være et år. En kolonne kan være beløp. En kolonne kan være renteinntekt dette året.

Lag et regneark hvor celle B1 er startbeløpet, B2 er rentesatsen, B3 er vekstfaktoren og radene fra 5 og nedover er en tabell over beløpets utvikling. Nedover i tabellen er kolonne A antall år, B er beløpet ved starten av året og C er rentene det året. Legg også til et søylediagram som viser utviklingen grafisk. Når du skal sjekke om regnearket virker som ønskelig kan du forandre verdiene i B1, B2 og B3.

Programmering#

Dette er velegnet for programmering i f.eks. Python. En av forløperne for Python, norske Simula, fikk faktisk sitt navn fordi det var velegnet for simuleringer.

Aktuelle konstruksjoner å bruke er

  • Lister for å modellere rekker av tall

  • Forløkker

  • Map-funksjonen

Algoritmer#