Klasa 3 LO · 30 lekcji Modelowanie matematyczne

Lekcja 16 · Liczby

Rekurencja: od poprzedniej wartości

Większość naszych modeli w czasie: weź to, co było, zrób jeden krok, zapisz nowy stan. To nie „wzór na n lat z pamięci” — to przepis na jutro.

Po tej lekcji

Sytuacja

Ta sama lokata z lekcji 15, tylko patrzymy na nią jak na maszynkę kroków. Pytanie na kartkówkę będzie brzmiało: dam ci x0 i przepis — podaj x1. Nie musisz znać wzoru z potęgą.

Karta modelu: dane, założenia, parametry

WielkośćSymbolWartośćJednostkaSkąd się wzięłaRodzaj
Stan na początkux₀1000złwpłatadana
Mnożnik kroku1+p1,05—5% roczniedana / założenie
Przepis krokuxₙ₊₁xₙ×1,05złmodelzałożenie: p stałe
Stan po jednym rokux₁1050złjeden krokwynik

Rodzaj: dana z dokumentu lub pomiaru; założenie — świadome uproszczenie; parametr — gałka, którą kręcimy w wariantach; wynik — to, co model ma policzyć.

xn+1 = xn × 1,05,   x0 = 1000

W Excelu wiersz 2 to x0, wiersz 3 to =A2*1.05, czyli x1. Przeciąganie w dół to pętla. W Pythonie ten sam pomysł: funkcja dostaje start, krok i liczbę powtórzeń.

def kolejne(x0, krok, n):
    x = x0
    historia = [x]
    for _ in range(n):
        x = x + krok
        historia.append(x)
    return historia

print(kolejne(5, 2, 5))
print(kolejne(10, 3, 4))

Tu krok jest dodawaniem, nie mnożeniem — żeby było widać, że rekurencja to ramka, a w środku może być +2, ×1,05 albo wzór z pojemnością z lekcji 20.

Pizza i autobus to wzory „na teraz”: J = 28 − C liczymy raz. Rekurencja Cn+1 = Cn + 1 to historia: każdego dnia przybywa chory. To dwa różne modele, nawet jeśli w obu występuje litera C.

Sprawdź się. x<sub>0</sub>=10, x<sub>n+1</sub>=x<sub>n</sub>+3. x<sub>1</sub> =

Ćwiczenia samodzielne

Zrób przynajmniej dwa. Wynik Excel i Python ma się zgadzać z kartką.

  1. x0=8, xn+1=xn+r xn (1−xn/40), r=0,4. Policz x1 (to zapowiedź lekcji 20).
  2. W Excelu 10 wierszy lokaty. Która komórka jest xn, a która xn+1?
  3. Python: funkcja def kolejne(x0, krok, n) wypisuje x0..x5 dla x←x+2, start 5.
  4. Napisz rekurencję słowami dla modelu autobusu, gdy każdego dnia +1 chory (C rośnie). To nie ten sam wzór J=28−C liczony raz — opisz różnicę.
Odpowiedzi (dopiero po samodzielnej pracy)
  1. x1 = 8 + 0,4×8×(1−8/40) = 8 + 3,2×0,8 = 10,56.
  2. Wiersz n: stan; wiersz n+1: =poprzedni*1,05.
  3. 5,7,9,11,13,15.
  4. J=28−C to wzór „na teraz”. Rekurencja Cn+1=Cn+1 to historia w czasie.