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 , gdzie . 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
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 2
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**2Krok 3
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)**2Krok 4
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 5
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**2Krok 6
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)Wspólny wykres sześciu funkcji
- 1. y = x²
- 2. y = 2x²
- 3. y = (x + 2)²
- 4. y = x² − 4x
- 5. y = −x²
- 6. y = −x² − 4x + 3
4. Obserwacje
- Porównaj kroki 1 i 2: większe dodatnie a oznacza węższe rozwarcie ramion. Wierzchołek pozostaje w tym samym miejscu.
- W kroku 3 przesunięcie o 2 jednostki w lewo nie zmienia rozwarcia ramion.
- W kroku 4 składnik liniowy zmienia położenie osi symetrii i wierzchołka. Nie jest to wyłącznie przesunięcie w jednym kierunku.
- Kroki 1 i 5 są swoimi odbiciami względem osi X. Parabola nie obraca się przy zmianie znaku a.
- W kroku 6 widać łączne działanie współczynników: wierzchołek jest przesunięty, a ramiona skierowane w dół.
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.
- W drugim kroku ustaw a = 0,5, a następnie a = −2. W Pythonie zapisuj liczbę dziesiętną jako
0.5. Jak zmieniają się rozwarcie i zwrot ramion? - W trzecim kroku zamień
(x + 2)**2na(x - 2)**2. W którą stronę przesuwa się wierzchołek? - W czwartym kroku zmień tylko c z 0 na 3. Czy zmienia się oś symetrii, czy tylko wysokość wykresu?
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.