Praca domowa nr 3: pochodne

Transkrypt

Praca domowa nr 3: pochodne
Praca domowa nr 3: pochodne
Krótki wstęp teoretyczny
Pochodna funkcji:
f(x) = A sin (B x)
dla x = w wynosi:
A B cos (B w)
Pochodna funkcji:
f(x) = A cos (B x)
dla x = w wynosi:
- A B sin (B w)
gdzie: A, B – stałe (konkretne liczby)
* (1 punkt) Zadanie 1. Prosta suma pochodnych.
 Napisz skrypt Pythona zawierający dwie dwuargumentowe funkcje: poch_sin(a, w)
i poch_cos(a, w) oraz przykład ich użycia wg poniższego opisu.

poch_sin(a, w) niech zwraca wartość pochodnej dla funkcji f(x) = a * sin(x) dla x = w,
poch_cos(a, w) niech zwraca wartość pochodnej dla funkcji f(x) = cos(a * x) dla x = w.
Przy pomocy tych funkcji wypisz wartość pochodnej funkcji:
f(x) = 2 * sin(x) + cos (3*x) dla x = 3 (radiany).
** (2 punkty) Zadanie 2. Ulepszona suma pochodnych.
Ulepsz program z poprzedniego zadania tak, aby:
o zawierał funkcje poch_sin(a, b, w) i poch_cos(a, b, w), które zwracają wartość
pochodnej:
 poch_sin(a, b, w) dla funkcji: f(x) = a * sin(b*x) dla x = w,
 poch_cos(a, b, w) – analogicznie dla cosinusa,
o
zawierał funkcję poch_sin_cos(a, b, c, d, w), która umożliwia podanie od razu
wszystkich niezbędnych parametrów do policzenia pochodnej z sumy:
f(x) = a * sin(b*x) + c * cos(d*x) dla x = w
o
nie wykonywał niepotrzebnych wywołań dla funkcji poch_sin i poch_cos, gdy sin(…) lub
cos(…) jest funkcją stałą (napisz, kiedy taka sytuacja zajdzie).
*** (3 punkty) Zadanie 3. Suma pochodnych z turbodoładowaniem.
 Aby otrzymać trzy punkty za zadanie 3, rozbuduj program z zadania 1 lub 2 tak, aby można
było podać Twojej funkcji dowolnej (skończonej) długości ciąg współczynników:
 w, tf1, a1, b1, tf2, a2, b2, …, tfn, an, bn
 a Twoja funkcja zwróci pochodną funkcji:
f(x) = a1 * fun1(b1*x) + a2 * fun2(b2*x) + … + an * funn(bn*x) dla x = w,
gdzie dla zmiennej tfk równej True funk to sin(…), a dla tfk = False: funk to cos(…)

Zaprezentuj na przykładzie działanie Twojej funkcji (sposób jej użycia).
Powodzenia!
Zadania wysyłamy przed upływem terminu podanego przez prowadzącego
na: [email protected] z tematem: GRUPA … – PYTHON – PD3
W razie pytań do zadań lub sugestii proszę o kontakt:
[email protected] (Łukasz Czerwiński)
Pamiętaj, że znacznie lepiej oddać zadanie napisane częściowo, niż nie oddać go wcale!