Klasa 3 LO · 30 lekcji Modelowanie matematyczne

Lekcja 10 · Warsztat

matplotlib: wykres z modelu i zapis PNG

Wykres ma powstać z obliczenia, nie z liczb wpisanych z palca na sztywno. Potem zapisujemy plik do raportu.

Po tej lekcji

To most do lekcji 15–17: lokata 1000 zł, 5% rocznie, 8 lat. Punkty na wykresie mają wypaść z funkcji seria_lokaty(kwota0, p, n_lat), nie z listy wpisanej z palca. Drugie wywołanie z p = 0,08 to wariant parametru.

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

WielkośćSymbolWartośćJednostkaSkąd się wzięłaRodzaj
Kapitał startK₀1000złwpłatadana
Oprocentowaniep0,05 albo 0,081/rokulotka / wariantparametr
Latan8latapytanieparametr
Plik PNG—lokata.png—savefig przed showartefakt raportu

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ć.

import matplotlib.pyplot as plt

def seria_lokaty(kwota0, p, n_lat):
    kwota = kwota0
    lata, stany = [0], [kwota]
    for n in range(1, n_lat + 1):
        kwota = kwota * (1 + p)
        lata.append(n)
        stany.append(kwota)
    return lata, stany

def wykres_lokaty(kwota0, p, n_lat, plik):
    lata, stany = seria_lokaty(kwota0, p, n_lat)
    plt.plot(lata, stany, marker="o")
    plt.title(f"Lokata {kwota0} zł, {p * 100:.0f}% rocznie")
    plt.xlabel("Rok")
    plt.ylabel("Złote")
    plt.grid(True)
    plt.savefig(plik, dpi=120, bbox_inches="tight")
    plt.show()

wykres_lokaty(1000, 0.05, 8, "lokata.png")
# wariant parametru — bez kopiowania pętli:
wykres_lokaty(1000, 0.08, 8, "lokata_8pct.png")
savefig musi być przed close/show w niektórych środowiskach. Jeśli plik jest pusty, przenieś savefig nad show.

To jest most do lekcji 15–17: ten sam przepis, tylko wtedy dopisujemy założenia lokaty.

Sprawdź się. Skąd powinny się brać punkty na wykresie modelu?

Ćwiczenia samodzielne

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

  1. Uruchom kod, znajdź lokata.png obok skryptu.
  2. Zmień p na 0.03 i 0.08 — dwa pliki albo dwie serie na jednym rysunku (lekcja 8).
  3. Zamiast lokaty: J = 28 − C dla C = 0..8, wykres C vs J. Tytuł z pytaniem.
  4. Dodaj drugą oś? Nie. Zostaw jeden wykres czytelny. Zamiast tego dopisz w komentarzu jednostkę i założenie 5%.
Odpowiedzi (dopiero po samodzielnej pracy)
  1. Plik w katalogu projektu Thonny / VS Code.
  2. 3%: wolniejszy wzrost; 8%: wyraźnie stromiej.
  3. Linia malejąca, przy C=8 jest J=20.
  4. Komentarz # założenie: procent stały, kapitalizacja raz w roku.