poniedziałek, 6 października 2014

Nieco powrotu?

Tak sobie siedzę pisząc jakiś głupi program na Metody Numeryczne (szukanie zer wielomianów metodą stycznych z deflacją czynnikiem liniowym. Dziedzina rzeczywista) i aż mi ręce opadają. Komputery w ogóle nie potrafią liczyć. A już na pewno nie ta metoda. W ogóle iteracyjne szukanie jakiejkolwiek wartości potrafi zepsuć humor na cały wieczór.

O co chodzi:
Weźmy f(x)=x^3.
Każdy widzi, że jak podstawimy x=0 to nam wyjdzie 0^3=0.
Niestety komputer tego nie wie dopóki nie sprawdzi. No i powiedzmy że miejsce zerowe nie jest takie ładne tylko wynosi 1.123534. Podstawianie każdej kolejnej wartości nieco mija się z celem i nigdy by się nie skończyło :)
Metody iterowane korzystają z pewnych algorytmów, które przy każdej kolejnej iteracji(przybliżeniu, zastosowaniu algorytmu) przybliżają nasz wynik do prawdziwego miejsca zerowego.

No i niestety tak się składa, że takie metody generują błędy. Tzn zamiast wyniku 0 możemy otrzymać 0.00000001, albo -0.0000000009. Niby blisko, ale jeśli chcemy tego używać w kolejnych obliczeniach to wszystko nam się sypie.
Przykład: wyżej wspomniana funkcja f(x)=x^3.
Po jednym zastosowaniu tej metody dostajemy nie taki zły wynik, coś koło zera, ale: po...hmm.... skróceniu(deflacja czynnikiem liniowym/dzielenie przez dwumian ;) ) .... otrzymujemy wielomian taki: g(x)=x2+0.0000001x+0.00001 >.>

Ta funkcja nie ma już miejsc zerowych, a powinna.*


I tak właśnie sobie siedzę i piszę te głupoty zamiast zająć się czymś zabawniejszym...


* Mowa o pierwiastkach rzeczywistych, bo tylko takie mieszczą się w dziedzinie ;) Liczbom zespolonym mówimy dzisiaj raczej nie :D