Stosowanie metod numerycznych

Metody numeryczne

Metody numeryczne są to sposoby rozwiązywania złożonych problemów matematycznych za pomocą narzędzi obliczeniowych udostępnianych przez popularne języki programowania.

Metody numeryczne są jedną z tych dziedzin matematyki stosowanej, których zastosowanie w praktyce jest powszechne. Wykorzystywane są wówczas, gdy badany problem nie ma w ogóle rozwiązania analitycznego (danego wzorami), lub korzystanie z takich rozwiązań jest uciążliwe ze względu na ich złożoność lub z innych powodów (np. stosowanie eliminacji Gaussa zamiast wyliczania rozwiązań układu równań metodą wyznaczników jest stosowana dlatego, że jest lepiej uwarunkowana numerycznie, a nie dlatego, że brak jest wzoru). Otrzymywane tą drogą wyniki są na ogół przybliżone, jednak dokładność obliczeń może być z góry określona i dobiera się ją zależnie od potrzeb.

Inaczej mówiąc: metody numeryczne polegają na uzyskiwaniu wyniku poprzez sekwencję kolejnych przybliżeń. W efekcie otrzymany wynik będzie cechował się prawie zawsze pewnym błędem, chociaż ten błąd może być dowolnie mały.

Metody numeryczne znalazły zastosowanie wszędzie tam, gdzie dojście do wyniku innymi sposobami jest niemożliwe lub bardzo trudne.
Takim przykładem z życia szkolnego może być np. obliczenie powierzchni jakiejś nieregularnej figury lub pola pod krzywą.

Z metodami numerycznymi związane są takie pojęcia jak: konwergencja i dywergencja oraz dokładność.

Konwergencja określa zdolność danej metody numerycznej do „zmierzania” w kierunku wyniku. Użytkownik jest zainteresowany, aby zastosowana metoda cechowała się maksymalną konwergencją. Niestety czasami dla pewnych specyficznych danych zastosowana metoda numeryczna może zachowywać się co najmniej dziwnie – zamiast prowadzić do wyniku, daje rezultaty coraz bardziej od wyniku odległe. Tę niepożądaną cechę nazywa się dywergencją. Czasem dywergencja dla pewnego małego zakresu danych jest ceną, jaką płacimy za korzyści wynikające z zastosowanej metody.

Dokładność – ważna cecha metod numerycznych, jest zwykle określana przed rozpoczęciem obliczeń. Im dokładniejszy wynik chce się otrzymać, tym więcej czasu trzeba poświęcić na obliczenia.
Dla niektórych metod wynik może być uzyskany z dowolnie dużą dokładnością, lecz niektóre metody dają wynik obarczony pewnym stałym błędem, zatem zwiększanie precyzji obliczeń nic tu nie pomoże. Czemu stosuje się takie metody – ponieważ są bardzo szybkie i proste w implementacji.
W metodach numerycznych ważny jest kompromis pomiędzy czasem obliczeń, ich dokładnością oraz uniwersalnością metody.

Uwaga, w większości zagadnień numerycznych operuje się na liczbach rzeczywistych.
Programista, który zamierza napisać program rozwiązujący zagadnienia numeryczne musi wybrać odpowiadający mu typ rzeczywisty. Najlepiej gdyby to był typ dający największą dokładność obliczeń (np. long double w języku C++). Niestety, konsekwencją takiego wyboru jest wydłużenie czasu obliczeń i zwiększenie wymaganej przez program pamięci operacyjnej. Gdy problem numeryczny jest bardzo złożony (np. w trakcie obliczeń trzeba jeszcze przydzielić dodatkową pamięć), użycie liczb o dużej precyzji może doprowadzić do szybkiego wyczerpania zasobów maszyny obliczeniowej i w konsekwencji uniemożliwić wykonanie obliczeń.

Szukanie miejsc zerowych funkcji metodami numerycznymi

Aby poznać i zrealizować wybrane metody numeryczne wybrałam jako przykłady szukanie miejsca zerowego konkretnej funkcji z określoną dokładnością. Zastosowane implementacje mają poważne zalety – są proste w zrozumieniu, nie wymagają wyższej matematyki, a co najważniejsze dobrze ilustrują problem.
Funkcja f(x) = x3 – 3x – 20, ma jedno miejsce zerowe, którego położenie można określić, jednak jest ono liczbą niewymierną. Szukanie miejsca zerowego tej funkcji z dokładnością 0,0001 posłuży do zaprezentowania, zilustrowania i porównania kilku wybranych metod numerycznych.

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s