Laboratoria / Eksperyment 01

Jak zmienia się parabola?

Porównaj sześć funkcji kwadratowych. Sprawdź, jak współczynniki wzoru wpływają na rozwarcie ramion i położenie wierzchołka.

Autor materiału i koncepcji: Mariusz Smółka. Wszystkie laboratoria.

1. Pytanie badawcze

Jak wzór funkcji kwadratowej wpływa na kształt i położenie paraboli?

Badamy wykresy funkcji kwadratowych, czyli funkcji o postaci y=ax2+bx+c, gdzie a≠0. Współczynnik a określa zwrot i rozwarcie ramion. Współczynniki b i c, razem z a, wpływają na położenie wykresu; c jest jego wysokością przy x = 0.

Przed uruchomieniem przejrzyj sześć wzorów poniżej. Zwróć uwagę na wierzchołki, osie symetrii i zwrot ramion. Dziedziną każdej z tych funkcji są wszystkie liczby rzeczywiste.

2. Program Python

Skopiuj cały kod do Python IDE Extended i wybierz Uruchom. Pierwszy wykres pojawi się przed pytaniem. Potem przejdź przez pięć kolejnych etapów, naciskając Enter w polu odpowiedzi. Nie wpisujesz współczynników przy każdym etapie.

import ms2d

# Funkcja zdefiniowana samodzielnie.
def parabola_w_dol(x):
    return -x**2

funkcje = [
    ms2d.parabola(a=1, b=0, c=0),
    lambda x: 2 * x**2,
    lambda x: (x + 2)**2,
    ms2d.parabola(a=1, b=-4, c=0),
    parabola_w_dol,
    ms2d.parabola(a=-1, b=-4, c=3),
]

for krok in range(1, 7):
    if krok > 1:
        input("Naciśnij Enter, aby zobaczyć kolejny etap...")
    print("Etap", krok, "z 6")
    rysuj(*funkcje[:krok])

Pobierz kompletny program .py. Jak uruchomić program w IDE?

ms2d.parabola(...) zwraca gotową funkcję o podanych współczynnikach. Zapis lambda x: ... tworzy krótką funkcję w jednym wierszu. Instrukcje def i return pozwalają nazwać funkcję i zapisać jej obliczenia w osobnym bloku. Te trzy sposoby mogą opisywać ten sam wzór; tutaj wykorzystujemy je do przygotowania sześciu różnych funkcji.

funkcje[:krok] wybiera pierwsze funkcje z listy. Gwiazdka w rysuj(*funkcje[:krok]) przekazuje je jako osobne argumenty. Każde wywołanie tworzy kolejny wykres, a nie zmienia poprzedniego. Na wspólnych osiach danego etapu widzisz od jednej do sześciu poznanych funkcji.

Ostatnie wywołanie jest równoważne rysuj(funkcje[0], funkcje[1], funkcje[2], funkcje[3], funkcje[4], funkcje[5]). Program tworzy sześć wizualizacji i mieści się w limicie ośmiu. Oczekiwanie na Enter nie oznacza końca programu.

3. Wizualizacja

Każdy z sześciu pojedynczych wykresów poniżej pokazuje tylko jedną funkcję. Wszystkie mają ten sam kadr: X od −5 do 5, Y od −12 do 20. Dzięki temu można uczciwie porównać rozwarcie ramion i położenie wierzchołków.

Wykresy pochodzą z rzeczywistego wykonania funkcji w IDE i jego mechanizmu rysowania. Są statycznymi obrazami; zmiany kodu sprawdzaj w IDE. Pokazują fragmenty nieskończonych parabol. Więcej o ograniczeniach wizualizacji.

Krok 1

y=x2

Parabola podstawowa ma wierzchołek w punkcie (0, 0), a jej ramiona są skierowane w górę. Współczynniki wynoszą a = 1, b = 0 i c = 0. Punkty o przeciwnych współrzędnych X mają tę samą wysokość.

podstawowa = ms2d.parabola(a=1, b=0, c=0)
Krok 1: y = x². Wierzchołek i ramiona w jednakowej skali.
y = x² - pojedynczy wykres z IDE.

Krok 2

y=2x2

Współczynniki wynoszą a = 2, b = 0 i c = 0. Dla tego samego x wartość y jest dwa razy większa niż w pierwszym kroku. Wspólny kadr pokazuje węższe rozwarcie ramion; wierzchołek pozostaje w punkcie (0, 0).

podwojona = lambda x: 2 * x**2
Krok 2: y = 2x². Wierzchołek i ramiona w jednakowej skali.
y = 2x² - pojedynczy wykres z IDE.

Krok 3

y=(x+2)2

Zapis x + 2 przesuwa wykres podstawowy o 2 jednostki w lewo. Wierzchołek jest teraz w punkcie (−2, 0), a rozwarcie ramion pozostaje takie samo. Po rozwinięciu nawiasu otrzymujemy współczynniki a = 1, b = 4 i c = 4.

przesunieta_w_lewo = lambda x: (x + 2)**2
Krok 3: y = (x + 2)². Wierzchołek i ramiona w jednakowej skali.
y = (x + 2)² - pojedynczy wykres z IDE.

Krok 4

y=x2−4x

Współczynniki wynoszą a = 1, b = −4 i c = 0. Wzór można zapisać jako y = (x − 2)² − 4. Wierzchołek ma współrzędne (2, −4), a oś symetrii to prosta x = 2. Zmiana b przy ustalonych a i c wpływa na obie współrzędne wierzchołka.

ze_skladnikiem_liniowym = ms2d.parabola(a=1, b=-4, c=0)
Krok 4: y = x² − 4x. Wierzchołek i ramiona w jednakowej skali.
y = x² − 4x - pojedynczy wykres z IDE.

Krok 5

y=−x2

Współczynniki wynoszą a = −1, b = 0 i c = 0. W porównaniu z pierwszym krokiem każda wysokość zmienia znak: wykres jest odbiciem względem osi X. Wierzchołek nadal leży w punkcie (0, 0), a ramiona są skierowane w dół.

def parabola_w_dol(x):
    return -x**2
Krok 5: y = −x². Wierzchołek i ramiona w jednakowej skali.
y = −x² - pojedynczy wykres z IDE.

Krok 6

y=−x2−4x+3

Współczynniki wynoszą a = −1, b = −4 i c = 3. Wzór ma też postać y = −(x + 2)² + 7. Wierzchołek leży w punkcie (−2, 7), a ramiona są skierowane w dół. Przy x = 0 wykres przecina oś Y na wysokości 3.

zlozona = ms2d.parabola(a=-1, b=-4, c=3)
Krok 6: y = −x² − 4x + 3. Wierzchołek i ramiona w jednakowej skali.
y = −x² − 4x + 3 - pojedynczy wykres z IDE.

Wspólny wykres sześciu funkcji

Sześć parabol na wspólnych osiach. Wszystkie wierzchołki są widoczne.
Końcowy wynik programu. Każdy numer odpowiada pozycji na liście funkcji i krokowi eksperymentu.
  1. 1. y = x²
  2. 2. y = 2x²
  3. 3. y = (x + 2)²
  4. 4. y = x² − 4x
  5. 5. y = −x²
  6. 6. y = −x² − 4x + 3

4. Obserwacje

Które wykresy mają taką samą oś symetrii? Które mają wspólny wierzchołek? Odpowiedz na podstawie porównania, a następnie sprawdź swoje obserwacje na pojedynczych wykresach.

5. Dalsze doświadczenia

Zmieniaj jedną pozycję listy, a potem uruchamiaj program ponownie. Zachowaj sześć funkcji i porównuj wyniki w tym samym kadrze.

Definicję parametrów znajdziesz w artykule Parabola w Bazie wiedzy. W IDE możesz ustawić granice osi w menu Zakresy, aby porównać swoje wyniki z ilustracjami.