Czego nauczyłaś się na przedmiocie metody numeryczne

Temat: „ Czego nauczyłaś się na przedmiocie metody numeryczne?”

Analiza numeryczna zajmuje się tworzeniem, badaniem i analizą algorytmów. Zadaniem jej jest otrzymanie rozwiązań numerycznych zadań matematycznych. W jednej z książek spotkałam się z określeniem analizy numerycznej, jako matematyki obliczeń naukowych.

Postanowiłam, że w pracy przedstawię w rozdziałach tematy z tych zagadnień, które spotkały się z moim zainteresowaniem.

Liczby rzeczywiste i maszynowe.

Aby liczba była liczbą maszynową, musi spełniać pewne warunki. Dlatego nie każda liczba rzeczywista x jest liczba maszynową. Liczbę niebędącą liczbą maszynową można zastąpić jakąś bliską liczbą maszynową. Można ją wybrać na kilka sposobów.

W książce Kincaid’a i Cheney ’a pt. „Analiza numeryczna” jest napisane:

„ Załóżmy, że nasze x>0 oraz x =q×2m, gdzie 1<q<2, zatem:

x=(1.a1…)2×2m.

Nasze ai przyjmują wartości 0 albo 1. Jeśli mantysy liczb maszynowych mają t bitów po kropce, to bliska względem x taka liczba powstaje przez odrzucenie zbędnych bitów at+1,…. Taką operację nazywamy obcięciem. Następnie otrzymujemy poniższy wzór:

x-=(1.a1…at)2×2m,

Zwróćmy uwagę na to, że x-≤x. Inna bliska liczba maszynowa, która znajduje się na prawo od x, powstaje przez zaokrąglenie w górę. Wtedy niepotrzebne bity odrzucamy i do q dodajemy jedynkę na ostatniej wolnej pozycji. W ten sposób otrzymamy poniższy wzór:

x+=[(1.a1…at)2+2-t]× 2m.

Na końcu otrzymujemy, że:

x+-x-=2m-t.

Najbliższą dla x liczbą maszynową oznaczmy ją, jako fl(x), jest bliższa jej z liczb x- lub x+. Jeśli jako bliższą liczbę wybraliśmy fl(x)=x-, to mamy :

|x-fl(x)|≤$\frac{1}{2}$ |x+ - x-|= 2m-t-1

Analogiczny wzór mamy dla fl(x) =x+. Dla obu przypadków szacujemy podobny błąd względny reprezentacji maszynowej liczby x. Wygląda on następująco:


$$\frac{|x - fl\left( x \right)|}{|x|} \leq \frac{2^{m - t - 1}}{q2^{m}} = \frac{1}{q}2^{- t - 1} \leq 2^{- t - 1}''$$

Wykorzystajmy zdobyte wiadomości w praktyce, rozwiązują poniższe zadanie.

Zadanie

Jaka jest postać dwójkowa liczby x= $\frac{4}{5}$ w przykładowej arytmetyce, w której t=23? Znajdź błąd względny i bezwzględny.

Rozwiązanie:

x= $\frac{4}{5}$=0.110(0110)=1.10(0110)×2-1

Dla liczby x wyznaczamy bliskie liczby maszynowe:

x-=1.10(0110)…0×2-1 (gdzie na 23 miejscu znajduje się 0)

x+=1.10(0110)…1×2-1 (gdzie na 23 miejscu znajduje się 1)

Obliczmy teraz różnice:

Oznaczmy sobie x-=s i x+=k

|x+-x-|=2-24

x-x-=1.10(0110) ×2-1-s= $\frac{4}{5} \times$2-24

x+-x=x+-x- -(x-x-)=2-24-$\ \frac{4}{5} \times$2-24 =$\ \frac{1}{5} \times$2-24

Zatem nasz błąd bezwzględny wynosi: $\frac{1}{5} \times$2-24, czyli ostatecznie: |x-fl(x)|=$\frac{1}{5} \times$2-24.

Policzmy teraz błąd względny:


$$\frac{|x - fl\left( x \right)|}{|x|} = \frac{\frac{1}{5} \times 2^{- 24}}{\frac{4}{5}} = 2^{- 25}$$

Interpolacja wielomianowa

Do wyjaśnienia zagadnienia posłużę się zadaniem, które znalazłam w książce „Analiza numeryczna”: ” Znaleźć wielomian p najniższego stopnia taki, że dla danych n + 1 punktów (xi, yi) jest p(xi) = yi dla 0 ≤ i ≤ n.

Wtedy mówimy, że ten wielomian interpoluje wartości yk w węzłach xk. Jeśli są to wartości pewnej funkcji f, to mówimy, że p interpoluje f. Omawiając zadania interpolacji wielomianowej, symbolem $\prod_{}^{}n$, zbiór wszystkich wielomianów maksymalnie stopnia n.”

Postanowiłam także wykorzystać twierdzenie i dowód z książki Kincaid’a i Cheney ‘a:

Twierdzenie

Jeśli liczby x0, …,xn są parami różne , to istnieje dokładnie jeden wielomian pnnależący do $\prod_{}^{}n$, taki, że


pn(xi) = yi

dla 0 ≤ i ≤ n.

Dowód

Udowodnimy najpierw jednoznaczność tego wielomianu. Przypuśćmy, że dwa wielomiany pn, qn, z klasy $\prod_{}^{}n$, spełniają powyższe warunki. Wtedy ich różnica pn − qn znika w n+1 punktach xi. Ponieważ jednak wielomian z $\prod_{}^{}n$, nieznikający tożsamościowo ma, co najwyżej n zer, więc te wielomiany są tożsamością.

Istnienie wielomianu sprawdzamy przez indukcję. Dla n=0 jest oczywiste, że warunek jest spełniony. Wiedząc, ze dla pewnego k naturalnego istnieje wielomian pk − 1 należący do $\prod_{}^{}{}_{k - 1}$, taki, że npk − 1(xi) = yi dla 0 ≤ i ≤ k − 1, próbujemy wyrazić pk w postaci:


pk(x) = pk − 1(x) + c(xx0)(xx1)…(xxk − 1).

Dla każdej stałej c stopień tego wielomianu nie przewyższa k. Jest też oczywistością, że pk spełnia warunki interpolacyjne dla 0 ≤ i ≤ k − 1. Pozostaje wyznaczyć c tak, żeby było również pk(xk) = yk. Tak jest, gdy:


pk − 1(xk) + c(xkx0)(xkx1)…(xkxk − 1) = yk,

A stąd można obliczyć c.

Zadanie

Rozwiąż metodą Lagrange’a.

x 0 1 2
f(x) 3 4 5

Do rozwiązania naszego zadania, potrzebny będzie nam następujący wzór:


$$w\left( x \right) = \sum_{k = 0}^{n}y_{k}\frac{\ \prod_{j = 0,j \neq k}^{n}{(x - x_{\text{j\ \ }})}}{\prod_{j = 0,j \neq k}^{n}{(x_{k}} - x_{\text{j\ }})}$$

$w\left( x \right) = 3 \times \frac{\left( x - 1 \right)\left( x - 2 \right)}{\left( 0 - 1 \right)\left( 0 - 2 \right)}$+ 4 $\times \frac{\left( x - 0 \right)\left( x - 2 \right)}{\left( 1 - 0 \right)\left( 1 - 2 \right)}$ +5$\times \frac{\left( x - 0 \right)\left( x - 1 \right)}{\left( 2 - 0 \right)\left( 2 - 1 \right)}$


$$w\left( x \right) = \frac{1}{2}\{ 3 \times \left( x - 1 \right)\left( x - 2 \right) + 5x\left( x - 1 \right) - 8x\left( x - 2 \right)\}$$


$$w\left( x \right) = \frac{1}{2}(2x + 6)$$

Można sprawdzić czy wyliczenia się zgadzają, wstawiając do w(x) wartości x.


$$w\left( 0 \right) = \frac{6}{2} = 3$$


$$w\left( 1 \right) = \frac{8}{2} = 4$$


$$w\left( 2 \right) = \frac{10}{2} = 5$$

Metoda Newtona (metoda stycznej)

Wyjaśnienie powyższej metody oraz szereg twierdzeń, można znaleźć w książce „Analiza numeryczna”:

„Niech będzie dana funkcja f, której zera wyznaczamy numerycznie. Załóżmy sobie, że r jest takim naszym zerem, z kolei x jego przybliżeniem. Jeśli istnieje druga pochodna f, wtedy:


0 = f(r) = f(x+h) = f(x) + hf(x) + O(h2),

Niech h = r − x. Dla x znajdującego się blisko r, pomijamy O(h2). Wtedy wyliczając h otrzymamy:


$$h = \frac{- f(x)}{f^{'}(x)}$$

Z kolei dla x, który jest przybliżeniem r, $x - \ \frac{f(x)}{f^{'}(x)}$, powinno być lepszym przybliżeniem zera. Zatem metoda Newtona zaczyna od przybliżenia x0 zera r i polega na rekurencyjnym stosowaniu wzoru:


$$x_{n + 1} = x_{n} - \ \frac{f(x_{n})}{f^{'}(x_{n})}$$

gdzie n ≥ 0.

Twierdzenie

Niech r będzie zerem pojedynczym funkcji f i niech jego druga pochodna będzie ciągła. Wtedy istnieje takie otoczenie punktu r i taka stała C, że jeśli metoda startuje z tego otoczenia, to kolejne punkty są coraz bliższe r i takie, że


|xn + 1 − r|≤|C(xnr)2|

gdzie n ≥ 0,    en = (xnrjest błędem.

Twierdzenie

Jeśli f należy do C2(R), jest rosnąca, wypukła i ma zero, to jest ono jedyne, a metoda Newtona daje ciąg do niego zbieżny dla dowolnego punktu początkowego.

Dowód

Wiemy, że funkcja f jest wypukła, jeśli druga jej pochodna jest większa od zera dla każdego x. Ponieważ funkcja ta, jest tez rosnąca, wiec jej pierwsza pochodna jest większa od zera w R. Zatem (xn + 1r)>0, xn > r dla n ≥ 0. Wiemy także, żef(xn) > f(r) = 0. Dlatego xn + 1 − r < xn − r. Zatem ciągi {en} , {xn} są malejące i ograniczone z dołu (odpowiednio przez 0 i r). Dzięki temu granice e* = en,   x*=xn istnieją. Czyli

$e^{*} = e^{*} - \frac{{f(x}^{*})}{f^{'}(x^{*})}$, zatem $f\left( x^{*} \right) = 0\ i\ x^{*} = r."$

Zadanie


n


f(x) = x2 − 15


x2 − 15 = 0

Wyliczamy h(x) ze wzoru:


$$h = \frac{- f(x)}{f^{'}(x)}$$


$$h\left( x \right) = \frac{- x^{2} + 15}{2x}$$

Następnie korzystając z poniższego wzoru wyliczamy kolejne wyrazy ciągu:


$$x_{n + 1} = x_{n} - \ \frac{x_{n}^{2\ } + 15}{2x_{n}}$$

Ustalmy, że x0=3, bo $3 < \sqrt{15} < 4$.


$$x_{1} = \frac{x_{0}}{2} + \frac{15}{2x_{0}}$$


x1 = 4


$$x_{2} = \frac{33}{8} = 4\frac{1}{8}$$

Metoda bisekcji (połowienia przedziału)

Do wyjaśnienia metody posłużę się twierdzeniami z wcześniej wskazanej książki.

Twierdzenie

Jeśli f jest funkcją ciągłą w przedziale [a, b] i f(a)f(b)<0, czyli zmieniony jest znak f w [a,b], to funkcja musi mieć zero w (a,b).

Powyższe twierdzenie wynika z własności Darboux dla funkcji ciągłych. Odgrywa ważną rolę w metodzie połowienie przedziału, ponieważ bazuje na jego własnościach.

Jeśli f(a) f(b) <0, wtedy obliczamy wartość $c = \frac{1}{2}$(a + b). Następnie musimy sprawdzić czy nasze f(a) f(b) są nadal mniejsze od 0. Gdy warunki te zostają spełnione, to f ma zero w [a, c] i w miejsce a wstawiamy c. Nowo powstały przedział [a, b] jest dwa razy krótszy od poprzedniego, posiada zero funkcji f i dlatego możemy powtórzyć całość.

Twierdzenie

Jeżeli przedziały [a0,b0], [a1,b1],…są tworzone metodą bisekcji to granice an i bn istnieją, są identyczne i równe zeru funkcji f.

Jeżeli:

r = cn gdzie $\text{\ \ \ \ \ \ \ }c_{n} = \frac{1}{2}$(an + bn) (*)

Wtedy:

|r − cn|≤2−(n + 1)(b0-a0) (**)

Zadanie

Niech metoda bisekcji startuje od przedziału [50,80]. Ile razy musimy wykonać metodę bisekcji, aby otrzymać wynik z błędem względnym naszego obliczenia mniejszym niż 10−20?

Rozwiązanie:

Wiemy, że a0 = 50,  b0 = 80.

Skorzystajmy ze wzoru (*) do obliczenia c0, zatem jego wartość wynosi:

$c_{0} = \frac{(80 - 50)}{2}$= 15

Z treści zadania wartość błędu względnego ma być mniejsza od 10−20, więc:


$$\frac{|r - c_{n}|}{|r|}{< 10}^{- 20}$$


|rcn|<10−20|r|

Teraz w wartość po lewej stronie wstawiamy (**), czyli:

2−(n+1)(80 − 50) <10−20|r|


$$\frac{30}{2^{n + 1}} < \frac{|r|}{10^{20}}$$

Przyjmijmy, że r jest początkiem przedziału, zatem r =50.


$$\frac{30}{2^{n + 1}} < \frac{50}{10^{20}}$$

Po wykonaniu kilku prostych przekształceń mamy:


$$n + 1 > \operatorname{}\frac{10^{20}30}{50}$$


n > 2010 + 30 − 50 − 1

Funkcja wielomianowa

Funkcja wielomianowa jest dana w postaci:

P(n) = anxn + … + a1x + a0 (***)

Po raz kolejny wykorzystam twierdzenia z podręcznika, do wyjaśnienia zagadnień, które okażą się pomocne do rozwiązania zadań.

Twierdzenie

Każdy wielomian różny od stałej ma, co najmniej jeden pierwiastek w ciele C liczb zespolonych.

Twierdzenie

Wielomian stopnia n ma dokładnie n pierwiastków na płaszczyźnie zespolonej, gdy każdy z nich jest liczony tule razy ile wynosi jego krotność.

Twierdzenie

Wszystkie pierwiastki wielomianu (***) leżą w kole otwartym o środku w punkcie 0 płaszczyzny zespolonej i promieniu


g = 1 + |an|−1|ak|

Dowód

Niech c =|ak|, stąd c|an|−1=g − 1. Jeśli c=0, to twierdzenie jest prawdziwe. W przeciwnym wypadku jest g > 1 i dla |z|≤g mamy nierówność


$$\left| p\left( z \right) \right| \geq \left| a_{n}z^{n} \right| - \left| a_{n - 1}z^{n - 1} + \ldots + a_{0} \right| \geq \left| a_{n}z^{n} \right| - c\sum_{k = 0}^{n - 1}{{|z|}^{k} >}$$


>|anzn| − c|z|n(|z|−1)−1 = |anzn|[1 − c|an|−1(|z|−1)−1]≥


≥|anzn|[1−c|an|−1(g−1)−1] = 0.

Zadanie

Oblicz promień koła na płaszczyźnie zespolonej o środku w punkcie (0,0) dla poniższego wielomianu:

P(z) = z3+2z-1

Rozwiązanie:

Wstawiamy do wzoru:

g = 1 + |a3|−1|ak|=3

Twierdzenie

Jeśli wszystkie pierwiastki wielomianu s leżą w kole |z| ≤ g, to wszystkie niezerowe pierwiastki wielomianu p leżą poza kołem|z| < g−1.

Zadanie

Znaleźć koło o środku w punkcie (0,0), w którym wielomian nie ma żadnego pierwiastka. Do zbudowania nowego wielomianu, skorzystaj ze wzoru na wielomian odwrotny dla poniższego wielomianu:

P(z) = z3+2z-1

Rozwiązanie:

Wzór na wielomian odwrotny wygląda następująco:


S(z) = a0xn + … + an − 1x + an

S(z) = −z3+2z+1

Promień dla wielomianu odwrotnego wynosi tyle samo, czyli:


g = 1 + |a3|−1|ak| = 3


|z|<g−1


$$\frac{1}{3} < |z| < 3$$

Wniosek: Otrzymane pierwiastki wielomianu P(z) leżą poza kołem.

Rozkład LU

Niech dana będzie macierz A o wymiarach n×n. Macierz A można rozłożyć na iloczyn dwóch macierzy.

Zatem:

A=LU

gdzie:

L- macierz trójkątna dolna

U- macierz trójkątna górna

Rys. Źródło Wikipedia

Zadanie

Rozłóż na macierz LU


$$\begin{bmatrix} 5 & 0 \\ 0 & 4 \\ \end{bmatrix}$$

Rozwiązanie:

Do znalezienia rozkładu LU, musimy posłużyć się następującym algorytmem, który był omawiany na ćwiczeniach u mgr Marka Szczepańskiego:

For k=1 to n do

WYBRAĆ WARTOŚĆ NIEZEROWĄ DLA lkk LUB ukk

WYLICZYĆ DRUGĄ ZE WZORU


$$l_{\text{kk}}u_{\text{kk}} = a_{\text{kk}} - \sum_{s = 1}^{k - 1}{u_{\text{sk}}l_{\text{ks}}}$$

For j=k+1 to n


$$u_{\text{kj}} = (a_{\text{kj}} - \sum_{s = 1}^{k - 1}{l_{\text{ks}}u_{\text{sj}})/l_{\text{kk}}}$$


$$l_{\text{jk}} = (a_{\text{jk}} - \sum_{s = 1}^{k - 1}{l_{\text{js}}u_{\text{sk}})/u_{\text{kk}}}$$

End do

End do

Wybierzmy, jako pierwsza niezerową wartość dla l11 liczbę 5, a pozostałe wartości wyliczamy, korzystając z algorytmu.


5u11 = a11 = 5


u11 = 1


$$l_{21} = \frac{a_{21}}{u_{11}} = 0$$

Wybierzmy teraz dla l22 wartość 2, zatem:

$u_{12} = \frac{a_{12}}{l_{22}}$ =0


$$u_{22} = \frac{a_{22} - l_{21}u_{12}}{l_{22}} = 2$$

Zatem nasz rozkład LU wygląda następująco:

L= $\begin{bmatrix} 5 & 0 \\ 0 & 2 \\ \end{bmatrix}$

U=$\begin{bmatrix} 1 & 0 \\ 0 & 2 \\ \end{bmatrix}$

Możemy sprawdzić, czy otrzymany wynik jest prawidłowy wymnażając macierze L i U.

Bibliografia:

  1. David Kincaid, Ward Cheney „Analiza numeryczna”.

  2. Notatki z ćwiczeń u mgr. Marka Szczepańskiego.

  3. Wikipedia.


Wyszukiwarka

Podobne podstrony:
CZEGO NAUCZYŁEM SIĘ, 5 - Rodzina w życiu człowieka
Czego nauczył się Mały Książę
Czego nauczył się król
25 MIŁOŚĆ PRZELEWA SIĘ NA PRZEDMIOT UMIŁOWANIA (NIE ZNACIE MIŁOŚCI)
Czego chcielibyśmy się nauczyć na informatyce
KAMPANIA UŚMIECHNIJ SIĘ Z PCK, Poradnik metodyczny dla nauczycieli
Przedmowa, Informatyka, Informatyka, Informatyka. Metody numeryczne, Kosma Z - Metody i algorytmy nu
KAMPANIA UŚMIECHNIJ SIĘ Z PCK Poradnik metodyczny dla nauczycieli
CZEGO JAŚ SIĘ NIE NAUCZY KSZTAŁCENIE DLA PRZYSZŁOŚCI
lekcja, b r2, To jest tekst treningowy, który pomoże nam przećwiczyć operacje na blokach tekstu oraz
Woititz Janet G Małżeństwo na lodzie Jak nauczyć się żyć z alkoholikiem
Kto się Od Kogo i Czego Nauczył. Germanie–Skołoci–Serbomazowie-Słowianie, ★ Wszystko w Jednym ★
SPIS PYTAN NA KOLO, Studia I stopnia, metody numeryczne
Czego możemy nauczyć się od dziecka

więcej podobnych podstron