Zadanie 2: Funkcja $x - \sin{x}$
Zaimplementuj program wyznaczający wartość funkcji $$f(x) = x - \sin{x}$$ korzystając z rozwinięcia potęgowego w taki sposób aby zminimalizować utratę precyzji obliczeń oraz wpływ błędów zaokrągleń.
Rozwinięcie funkcji $\sin{x}$ jest postaci: $$\sin x=x-\frac{x^{3}}{3 !}+\frac{x^{5}}{5 !}-\frac{x^{7}}{7 !}+$$
Zaimplementuj obliczenia unikając wyznaczenia wartości silni w sposób bezpośredni.
Wyprowadzenie wzoru rekurencyjnego:
$$s_0 = x$$ $$s_{1}=-\frac{x^{3}}{3 !} = -s_0\frac{x^{2}}{2 \cdot 3}$$
$$s_{2} = \frac{x^{5}}{5 !} = \frac{x^{3}}{3 !} \frac{x^{2}}{4 \cdot 5} = -s_{1} \frac{x^{2}}{4 \cdot 5} $$
$$s_{3} = -\frac{x^{7}}{7 !} = -\frac{x^{5}}{5 !} \frac{x^{2}}{6 \cdot 7}= -s_{2} \frac{x^{2}}{6 \cdot 7}$$
stąd ostatecznie
$$\sin x = x - \frac{x^{3}}{3 !} + \frac{x^{5}}{5 !} - \frac{x^{7}}{7 !} + \frac{x^{9}}{9 !} + \ldots \approx \sum^{N}_{i=0} s_i$$
gdzie $$s_0 = x$$ $$s_{n} = -s_{n-1} \frac{x^{2}}{2 n(2 n+1)}, \quad n=1, \ldots, N$$
Dokładność wyznaczenia funkcji $\sin(x)$ zanika dla wartości $x$ odległych od $0$. Postaraj się zniwelować wpływ tego problemu.
Wskazówka: zauważ, że funkcja sin jest periodyczna więc
$$ \sin(x) = \sin(x - 2 \pi)$$
oraz
$$ \sin(x) = \sin(\pi - x) \quad \text{dla} \quad x \in [\frac{\pi}{2}, \pi]$$
Użyj wartości $\pi$ zdefiniowanej w pliku nagłówkowym biblioteki matematycznej (M_PI) lub przyjmij $\pi \approx 3.14159265358979323846$
Program powinien umożliwić wprowadzenie użytkownikowi wartości rzeczywistej $x$ a następnie wyświetla następujące wartości:
- wartość funkcji $f(x)$ wyznaczonej z rozwinięcia w szereg Taylora
- wartość dokładną wyznaczoną za pomocą funkcji matematycznych z biblioteki
math.h - wartość błędu bezwzględnego
- wartość błędu względnego (w procentach).
Rozwiązanie zadania w postaci kodu programu w języku C umieść w Moodle pod adresem https://moodle.umk.pl/WFAIIS/mod/assign/view.php?id=4532