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!