• Nie Znaleziono Wyników

Metody numeryczne – Wykład 2 – proste algorytmy numeryczne

N/A
N/A
Protected

Academic year: 2021

Share "Metody numeryczne – Wykład 2 – proste algorytmy numeryczne"

Copied!
14
0
0

Pełen tekst

(1)

Metody numeryczne – Wykład 2 – proste algorytmy numeryczne

Marek Bazan

III rok - Elektornika

Semestr zimowy 2020/2021

(2)

Plan zajęć

1. Kilka pojęć związanych z zadaniami numerycznymi 2. Pojęcia związane z algorytmami

3. Algorytm wyznaczania wartości wielomianu wprost 4. Obliczanie wartości wielomianu – schemat Hornera

5. Szukanie miejsc zerowych wielomianu - dzielenie wielomianu przez dwumian schematem Hornera

(3)

Zadania numeryczne

Definicja: Zadanie numeryczne z jest problemem polegającym na wyznaczeniu wektora wyników w ∈ Rm na podstawie danych x ∈ Rn.

Definicja: Mówimy, że zadanie z jest dobrze postawione, jeśli wektor w jest jednoznacznie określony dla przyjętego wektora danych x.

Przykład: Przykładem zadania, które nie jest zadaniem dobrze postawionym, jest na przykład szukanie rozwiązania

niedookreślonego układu równań liniowych.

Zastosowanie: np. obliczanie macierzy przepływów w ruchu drogowym.

(4)

Zadania numeryczne (2)

Definicja: Niech D ⊂ Rn oznacza zbiór danych x dla, któch zadanie jest dobrze postawione. Na tym zbiorze istnieje więc przekształcenie w = z(x).

(5)

Algorytm numeryczne ogólnie (2)

Definicja: Niech ˆw oznacza obliczony numerycznie wektor wyników. Algorytm A określa odwzorowanie WN takie, że ˆ

w = WN(x, ), gdzie  związane jest z dokładnością arytmetyki zmiennopozycyjnej użytej do reprezentacji danych i wyników.

Algorytm A będzie poprawnie sformułowany wtedy, gdy liczba niezbędnych działań będzie skończona (choć może zależeć od wektora danych x)

Oznaczenie: Przez DN oznaczamy zbiór, na którym określone jest przekształcenie WN(x, ). Zauważmy, że D ∩ DN 6= ∅.

(6)

Algorytm numeryczne stabilne

Definicja: Mówimy, że algorytm jest numerycznie stabilny, jeżeli dla dowolnie wybranych danych x0 ∈ D istnieje taka dokładność obliczeń 0, że dla  < 0 mamy x0∈ DN(0) oraz

→0limWN(x0, ) = z(x0) (1)

Interpretacja: Algorytm jest numerycznie stabilny wtedy, gdy zwiększając dokładność obliczeń można wyznaczyć (i to z dowolną dokładnościa) dowolne istniejące rozwiązanie zadania.

(7)

Algorytm wyznaczania wartości wielomianu wprost

Dane są współczynniki: a0, a1, . . . , an oraz dane x . Chcemy wyznaczyć wartość:

W (x ) = anxn+ an−1xn−1+ an−2xn−2+ . . . a1x + a0 Jak to zrobić?

(8)

Algorytm ”naiwny”/”głupi”

Dane są współczynniki: a0, a1, . . . , an oraz dane x . Chcemy wyznaczyć wartość:

W (x ) = anxn+ an−1xn−1+ an−2xn−2+ . . . a1x + a0

Algorytm: w literaturze nazywany naiwny – przeze mnie nazywany jest ”głupim” ew. ”bardzo naiwny”.

NIE TRZEBAkorzystając z powyższego wzoru wykonywać 12n2 mnożeń i n − 1 dodawań aby obliczyć wartość tego wilomianu w punkcie x .

(9)

Algorytm ”wprost”

Dane są współczynniki: a0, a1, . . . , an oraz dane x . Chcemy wyznaczyć wartość:

W (x ) = anxn+ an−1xn−1+ an−2xn−2+ . . . a1x + a0

Algorytm: po prostu efektywna implementacja powyższego wzoru – złożoność O(n) mnożeń i dodwań.

(10)

Algorytm – schemat Hornera

Dane są współczynniki: a0, a1, . . . , an oraz dane x . Chcemy wyznaczyć wartość:

W (x ) = anxn+ an−1xn−1+ an−2xn−2+ · · · + a1x + a0 Algorytm:

W (x ) = anxn+ an−1xn−1+ an−2xn−2+ . . . a1x + a0

= x (anxn−1+ an−1xn−2+ an−2xn−3+ . . . a1) + a0

= x (x (anxn−2+ an−1xn−3+ an−2xn−4+ · · · + a2) + a1) + a0 ...

= x (x (x (. . . x (anx + an−1) + an−2) · · · + a2) + a1) + a0

(11)

Dzielenie wielomianu przez dwumian

Dane są współczynniki wielomianu

W (x ) = anxn+ an−1xn−1+ · · · + a1x + a0

oraz wiemy, że c jest miejscem zerowym wielomianu W (x ).

Chcemy wyznaczyć wielomian

B(x ) = bn−1xn−1+ bn−2xn−2+ · · · + b1x + b0 (jego współczynniki) taki, że

W (x ) = (x − c)B(x )

Algorytm: schemat Hornera do dzielenia wielomianu przez wielomian.

(12)

Dzielenie wielomianu przez dwumian

Dane są współczynniki wielomianu

W (x ) = anxn+ an−1xn−1+ · · · + a1x + a0 oraz dwumian x − c.

Zadanie: wyznaczyć taki wielomian bn−1xn−1+ · · · + b1x + b0, że:

anxn + an−1xn−1+ · · · + a1x + a0 =

= (x − c)(bn−1xn−1+ bn−2xn−2+ · · · + b1x + b0) Po wymnożeniu i pogrupownaniu współczynników przy tych samych potęgach mamy

bn−1 = an

bn−2 = an−1+ c · bn−1 bn−3 = an−2+ c · bn−2

...

b0 = a1+ c · b1

r = a0+ c · b0

(13)

Dzielenie wielomianu przez dwumian - zastosowania

Szukanie miejsc zerowych wielomianów.

1. Twierdzenie 1 Wielomian

W (x ) = anxn+ an−1xn−1+ · · · + a1x + a0 gdzie an 6= 0 ma dokładnie n miejsc zerowych.

2. Twierdzenie 2

Jeżeli współczynniki wielomianu W (x ) są liczbami całkowitymi i wielomian ma miejsce zerowe c, to c jest dzielnikiem wyrazu wolnego a0.

3. Gdy wielomian nie ma zer całkowitych - szukamy jednego z miejsc zerowych rzeczywistych za pomocą metod iteracyjnych przyjmując jako przedział startowy spektrum zer wielomianu.

(14)

Dziekuję za uwagę ...

Cytaty

Powiązane dokumenty

[r]

[r]

[r]

Przestrzeń ilorazowa X/V ma naturalną strukturę przestrzeni wektorowej, ale jeżeli V nie jest podprzestrzenią domkniętą, to nie ma w X/V topologii takiej, że rzut kano- niczny

Napisz funkcj¦ która z macierzy zªo»onej z dwóch kolumn (lub wierszy) produkuje macierz poª¡cze« (macierz s¡siedztwa lub incydencji)7. Dodatkowo napisana funkcja ma sprawdza¢

Jeśli jednak, z jakiegoś powodu niemożliwe jest stosowanie detekcji cech ad hoc i magazynowanie ich w bazie danych (np. w przypadku dynamicznie aktualizowanej bazy danych w

Świadectwem nastrojów i przemian w obrębie rodziny i małżeństwa, cha- rakterystycznych dla pierwszych dekad PRL, będzie niniejszy artykuł, którego celem jest

Udowodnij, że funkcja pochodna funkcji nieparzystej (parzystej) jest parzysta (nieparzysta), a funkcja pochodna funkcji okresowej jest okresowa z tym samym