(1.7cd.)
Przybliżona reprezentacja liczb (1.3) ÷ (1.7) może powodować duże zmiany względne rozwiązania w zadaniach źle uwarunkowanych, w których niewielkie względne zmiany danych powodują duże względne zmiany jego rozwiązania. Przykładem takiego zadania jest układ równań o mało różniacych się współczynnikach przy niewiadomych:
którego rozwiązaniem są liczby: Niewielka zmiana prawej jego strony:
powoduje dużą zmianę wartości jego niewiadomych:
1.3. Algorytm obliczeń
Wykonanie obliczeń numerycznych jest zadaniem polegającym na wyznaczeniu wektora wyników W dla znanego wektora danych D. Istotne jest przy tym, aby sformułowane zadanie było dobrze postawione, tzn. żeby dla przyjętego wektora danych D wektor wyników W był jednoznacznie określony. W celu wyznaczenia wektora wyników należy sformułować algorytm obliczeniowy, czyli odwzorowanie
na zbiorze danych D - takie, że
Algorytm obliczeniowy określa ciąg działań, które trzeba wykonać nad wektorem danych i wynikami poprzednich obliczeń, aby uzyskać numeryczne rozwiązanie rozważanego problemu. Algorytm obliczeniowy jest poprawnie sformułowany, jeśli jest skonstruowany w taki sposób, że posługiwanie się nim polega tylko na automatycznym wykonywaniu różnych operacji, których liczba jest dokładnie określona (skończona). Algorytm obliczeniowy jest numerycznie stabilny wtedy, gdy zwiększając dokładność obliczeń można dowolne, istniejące rozwiązanie wyznaczyć z dowolną dokładnością - przy czym w konkretnej jego realizacji numerycznej możliwe jest osiągnięcie co najwyżej maksymalnej dokładności granicznej, będącej oszacowaniem błędu rozwiązania, którego nie można zmniejszyć dla danej metody obliczeniowej.
Miarą stabilności algorytmów jest wielkość
(1.8)
określająca maksymalną względną zmianę rozwiązania
przy zaburzeniu danych na poziomie błędu reprezentacji. Wielkość możemy uważać również za wskaźnik uwarunkowania zadania, gdyż jest ona miarą wrażliwości zadania na niewielkie względne zmiany danych. Jeśli zadanie jest dobrze uwarunkowane (jest małe), to rozwiązując je za pomocą algorytmu numerycznie stabilnego otrzymujemy rozwiązanie z niewielkim błędem względnym.
Do rozwiązywania każdego dobrze uwarunkowanego zadania numerycznego mogą być wykorzystane różne algorytmy obliczeniowe. Spośród tych algorytmów powinniśmy wybrać algorytm najlepszy biorąc pod uwagę następujące czynniki:
- jakość numeryczną otrzymanych rozwiązań (uwarunkowanie zadania),
Tablica 1.1
Lp.
|
Nazwa operacji
|
Symbol graficzny
|
1 |
przetwarzanie |
|
2 |
wprowadzanie lub wyprowadzanie danych |
|
3 |
decyzja |
|
4 |
początek, przerwa lub koniec |
|
5 |
łącznik stronicowy |
|
6 |
łącznik międzystronicowy |
|
7 |
połączenie dróg |
|
- złożoność obliczeniową danej metody,
- czas obliczeń.
Wybór algorytmu może nie być łatwy, gdyż ocena wymienionych czynników jest często bardzo trudna.
Przed napisaniem programu komputerowego bardziej złożone algorytmy obliczeniowe zapisujemy zwykle w postaci opisów słownych lub w postaci schematów blokowych.
Każdy schemat blokowy składa się z pewnych symboli graficznych: prostokątów, równoległoboków, kół itp., zwanych blokami i połączonych liniami pionowymi oraz poziomymi zaopatrzonymi w strzałki; symbole graficzne stosowane w schematach blokowych programów zawiera tablica 1.1.
Rys. 1.1
12 1. Wprowadzenie do metod numerycznych
1.3. Algorytm obliczeń 13