Download as pdf or txt
Download as pdf or txt
You are on page 1of 288

Wyższa Szkoła Biznesu – National-Louis University

c 2007 D.Wilczak

wykład Strona tytułowa

Metody numeryczne Spis treści

Daniel Wilczak
JJ II

Wersja przeznaczona do oglądania w rozdzielczości 1024 × 768


w trybie pełnoekranowym
J I

Strona 1 z 288

Powrót

Pełny ekran

Zamknij

Nowy Sącz, 28 listopada 2011 Koniec


Spis treści 7.12 Wartości własne macierzy Hessenberga. . . . . . 148
7.13 Wartości własne macierzy dowolnej. . . . . . . . 151
1 Wprowadzenie. 3 7.14 Macierze trójdiagonalne symetryczne*. . . . . . . 155

2 Zasady obliczeń numerycznych. 7 8 Układy równań nieliniowych. 160


2.1 Standard IEEE 754. . . . . . . . . . . . . . . . . 7 8.1 Różniczki funkcji wielu zmiennych. . . . . . . . . 163
2.2 Reprezentacja liczb zmiennoprzecinkowych. . . . 8 8.2 Metoda Newtona dla funkcji wielu zmiennych. . . 165
2.3 Zasady obliczeń w standardzie IEEE 754. . . . . . 16 8.3 Metoda Steffensena dla funkcji wielu zmiennych. 170
2.4 Podstawowa własność arytmetyki IEEE 754. . . . 18 8.4 Wielowymiarowa metoda siecznych. . . . . . . . 173
2.5 Biblioteka GMP . . . . . . . . . . . . . . . . . . 19
c 2007 D.Wilczak
9 Zadanie minimalizacji funkcji. 175
3 Arytmetyka przedziałowa* 21 9.1 Podstawowe definicje. . . . . . . . . . . . . . . . 176
3.1 Arytmetyka przedziałów rzeczywistych I. . . . . . 25 9.2 Wyznaczanie minimów funkcji jednej zmiennej. . 178
3.2 Własności arytmetyki przedziałowej. . . . . . . . 31 9.3 Metoda najszybszego spadku. . . . . . . . . . . . 183 Strona tytułowa
3.3 Arytmetyka przedziałów reprezentowalnych Î. . . 32 9.4 Wyznaczanie minimów funkcji metodą Newtona. . 185

4 Wartości wyrażeń. 33 10 Metody interpolacji. 186


4.1 Kolejność sumowania. . . . . . . . . . . . . . . . 33 10.1 Interpolacja za pomocą wielomianów. . . . . . . 188 Spis treści
4.2 Wyznaczanie wartości wielomianu. . . . . . . . . 36 10.2 Wzór interpolacyjny Lagrange’a. . . . . . . . . . 191
10.3 Oszacowanie błędu interpolacji. . . . . . . . . . . 194
5 Podstawowe pojęcia. 40 10.4 Interpolacja kawałkami liniowa. . . . . . . . . . . 199
5.1 Uwarunkowanie zadania. . . . . . . . . . . . . . . 43 10.5 Interpolacja funkcjami sklejanymi. . . . . . . . . 200 JJ II
5.2 Algorytmy numerycznie stabilne. . . . . . . . . . 49 10.6 Interpolacja funkcjami sklejanymi stopnia 2. . . . 201
10.7 Interpolacja funkcjami sklejanymi stopnia 3. . . . 204
6 Równania nieliniowe jednej zmiennej. 50 10.8 Porównanie metod interpolacji. . . . . . . . . . . 207
6.1 Wyznaczanie pierwiastków kwadratowych. . . . . 50 J I
6.2 Pierwiastki trzeciego stopnia. . . . . . . . . . . . 51 11 Metody aproksymacji. 209
6.3 Metoda połowienia (bisekcji). . . . . . . . . . . . 55 11.1 Funkcje bazowe aproksymacji. . . . . . . . . . . . 210
6.4 Metoda ‘regula falsi’ (na podstawie [5]). . . . . . 57 11.2 Aproksymacja średniokwadratowa. . . . . . . . . 211
6.5 Metoda siecznych . . . . . . . . . . . . . . . . . 63 11.3 Aproksymacja funkcjami trygonometrycznymi. . . 217 Strona 2 z 288
6.6 Porównanie metod bisekcji, regula falsi i siecznych. 65 11.4 Aproksymacja na dowolnym przedziale. . . . . . . 221
6.7 Metoda Newtona (stycznych). . . . . . . . . . . 66 11.5 Aproksymacja wielomianowa i trygonometryczna. 222
6.8 Metoda Steffensena [9]. . . . . . . . . . . . . . . 72 11.6 Krzywe Béziera.* . . . . . . . . . . . . . . . . . 223
6.9 Porównanie metod Newtona i Steffensena. . . . . 76 Powrót
6.10 Rząd metody numerycznej. . . . . . . . . . . . . 77 12 Całkowanie numeryczne. 229
12.1 Całki - definicje i własności. . . . . . . . . . . . . 230
7 Algorytmy algebry liniowej. 86 12.2 Kwadratury. . . . . . . . . . . . . . . . . . . . . 233
7.1 Wyznacznik macierzy kwadratowej. . . . . . . . . 87 Pełny ekran
12.3 Metoda trapezów. . . . . . . . . . . . . . . . . . 243
7.2 Algorytm Gaussa. . . . . . . . . . . . . . . . . . 96 12.4 Wzór Simpsona (parabol). . . . . . . . . . . . . . 244
7.3 Złożoność metody Gaussa 7.2 . . . . . . . . . . . 101 12.5 Rząd kwadratury. . . . . . . . . . . . . . . . . . 252
7.4 Metoda Crouta . . . . . . . . . . . . . . . . . . 103 12.6 Metody Monte Carlo. . . . . . . . . . . . . . . . 258 Zamknij
7.5 Złożoność metody Crouta 7.4 . . . . . . . . . . . 105
7.6 Macierze symetryczne - metoda Banachiewicza* [9].111 13 Równania różniczkowe. 266
7.7 Obliczanie macierzy odwrotnej. . . . . . . . . . . 117 13.1 Metoda Eulera . . . . . . . . . . . . . . . . . . . 274
7.8 Układy równań liniowych. . . . . . . . . . . . . . 123 13.2 Metoda Rungego-Kutty czwartego rzędu. . . . . . 280 Koniec
7.9 Algorytm ortonormalizacji Grama-Schmidta. . . . 130 13.3 Przykład ruchu w polu grawitacyjnym . . . . . . 282
7.10 Rozkład QR macierzy. . . . . . . . . . . . . . . . 136
7.11 Wartości własne macierzy - metody dokładne. . . 142 14 Dodatki. 283
1. Wprowadzenie.
Problemy stawiane przez analizę algorytmów numerycznych

c 2007 D.Wilczak

• formułowanie algorytmów i badanie ich poprawności


Strona tytułowa

Spis treści

JJ II

J I

Strona 3 z 288

Powrót

Pełny ekran

• badanie złożoności algorytmów numerycznych Zamknij

• badanie stabilności problemów numerycznych Koniec


Przykład 1 Wahadełko (podwójne, potrójne).


c 2007 D.Wilczak

Strona tytułowa

Spis treści

JJ II

J I

Strona 4 z 288

Powrót
Zobacz film
Pełny ekran

Zobacz aplet (double pendulum), autor: Erik Neumann Zamknij

Zobacz aplet (triple pendulum), autor: Shin Yoshizawa


Koniec
Przykład 2 Symulacja ruchu małej komety (statku kosmicznego, sondy)
w polu grawitacyjnym Słońca i Jowisza.

1
c 2007 D.Wilczak

Strona tytułowa
0.5

Spis treści

SUN
0
JJ II

J I
-0.5

Strona 5 z 288

-1
Powrót

-1 -0.5 0 0.5 1
Pełny ekran

Zobacz film
Zamknij

Tory lotu sondy czerwonej i niebieskiej po pewnym czasie znacznie się różnią,
Koniec
chociaż tylko minimalnie zmieniono miejsce, skąd zostały wystartowane.
Przykład 3 (J.H. Wilkinson [10, 6]) Rozważmy wielomian zespolony
20
Y
W (z) = (z − i) = (z − 1)(z − 2) · · · (z − 20)
i=1

c 2007 D.Wilczak

Miejsca zerowe tego wielomianu to z1 = 1, z2 = 2, . . . , z20 = 20.


Strona tytułowa
19
Zmiana współczynnika przy z o
Spis treści
−23
−2 ≈ −0, 00000011920928955078125
JJ II

powoduje ogromną zmianę miejsc zerowych wielomianu.


J I

Strona 6 z 288
2
Miejsca zerowe zaburzonego wielomianu.
1 Niektóre z nich są istotnie zespolone, chociaż Powrót

wielomian W nie ma żadnych pierwiastków


5 10 15 20 Pełny ekran
zespolonych.
-1
Zamknij

-2 Zobacz notebook Mathematica.


Koniec
2. Zasady obliczeń numerycznych.
c 2007 D.Wilczak

Strona tytułowa
2.1. Standard IEEE 754.
Spis treści
Standard IEEE 754 [3] określa między innymi
JJ II
• sposób reprezentacji liczb zmiennoprzecinkowych
J I
• zasady wykonywania obliczeń na liczbach zmiennoprzecinkowych
Strona 7 z 288

Standard ten jest stosowany w wielu procesorach, w szczególności


Powrót

instalowanych w komputerach typu PC oraz w stacjach roboczych firm Sun


Pełny ekran
i Silicon Graphics.
Zamknij

Koniec
2.2. Reprezentacja liczb zmiennoprzecinkowych.

c 2007 D.Wilczak

IEEE 754 określa cztery sposoby reprezentacji liczb zmiennoprzecinkowych.


Strona tytułowa

• single-precision, 32 bity (float w C/C++)


Spis treści

• single-extended precision, 43 bity lub więcej, obecnie nieużywany


JJ II

• double-precision, 64 bity (double w C/C++)


J I

• double-extended precision, 79 bitów lub więcej


Strona 8 z 288
(80-bitowy long double w C/C++, 128-bitowy quadruple)
Powrót

W obliczeniach przeprowadzanych na komputerze zwykle korzysta się z 64- Pełny ekran

bitowych liczb typu double.


Zamknij

Koniec
Każda liczba typu double jest zakodowana w 64–bitowym ciągu

• 52 młodsze bity kodują mantysę liczby (oznaczana m),



c 2007 D.Wilczak
• kolejne 11 bitów koduje wykładnik (oznaczany w),
Strona tytułowa
• natomiast najstarszy bit jest bitem znaku (oznaczany z).
Spis treści

Wartość tak reprezentowanej liczby typu double wyliczamy ze wzoru JJ II

J I
x = (−1)z · 1,m · 2w+1 (1)
Strona 9 z 288

Uwagi:
Powrót
• mantysa m jest ciągiem cyfr części ułamkowej liczby zapisanej w
systemie dwójkowym Pełny ekran

• wykładnik w jest zakodowany nadmiarowo, czyli wartości 0 odpowiada Zamknij

postać binarna 10000000000 a pozostałe liczą się względem 0. Koniec


Wyróżnia się trzy ciągi, które nie kodują zgodnie ze wzorem (1). Są to:

000 0000000000000 ≡ 0,
c 2007 D.Wilczak

7FF 0000000000000 ≡ ∞, (2)


FFF 0000000000000 ≡ −∞. Strona tytułowa

Przy tak wprowadzonym sposobie kodowania mamy: Spis treści

000 0000000000001 ≈ 4.94066 · 10−324, JJ II

7FE FFFFFFFFFFFFF ≈ 1.79769 · 10308.


J I

Strona 10 z 288

Definicja 1
Powrót

Zbiór wszystkich liczb, które można zakodować za pomocą wzoru (1) wraz
Pełny ekran

z 0, ∞, −∞ kodowanymi przez (2) jest oznaczany R̂, a jego elementy są


nazywane liczbami reprezentowalnymi. Zamknij

Koniec
Przykład 4 Liczbę x = 8 można zapisać jako

8 = 10 · 1, 0 · 22+1 = 1z · 1, m · 2w+1

Zgodnie z wzorem (1) oznacza to, że


c 2007 D.Wilczak

• z=0 Strona tytułowa

• m=0 Spis treści

• w=2 JJ II

Pamiętając, że wykładnik jest zakodowany nadmiarowo otrzymujemy, że J I

liczba 8 będzie zakodowana jako Strona 11 z 288

0 10000000010
|{z} | {z } 0000000000000
| {z } Powrót

znak wykładnik mantysa zapisana hex


Pełny ekran
co w zapisie szesnastkowym daje
Zamknij

402
|{z} 0000000000000
| {z }
znak i wykładnik mantysa Koniec
Przykład 5 Liczbę x = −61 możemy zapisać jako
61 4+1
−61 = (−1)1 · ·2 .
25
Wykładnik 5 został dobrany tak, aby 25 było największą potęgą dwójki

c 2007 D.Wilczak

mniejszą niż 61. Strona tytułowa

61 (111101)2
= = (1.11101)2. Spis treści

25 25
JJ II
W podanym przykładzie
J I
•z=1
Strona 12 z 288
• m = (11101)2
Powrót
• w = 4 = (100)2
Pełny ekran
Podsumowując, liczba −61 jest reprezentowana jako
Zamknij
C04
|{z} | {z }.
E800000000000
znak i wykładnik mantysa Koniec
Przykład 6 Liczby x = 0.1 nie można przedstawić w postaci określonej
przez wzór (1). Liczba ta nie jest reprezentowalna.
c 2007 D.Wilczak

Jak wyznaczyć liczby reprezentowalne najbliższe x = 0.1? Strona tytułowa

Spis treści
Można pokazać (ćwiczenie), że
JJ II
0.1 = (0.199999 . . .)16 = (0.0001 1001 1001 . . .)2
J I

Zgodnie z wzorem (1) najbliższe liczby reprezentowalne do 0.1 powstaną


Strona 13 z 288
przez zaokrąglenie w górę i w dół powyższego nieskończonego rozwinięcia
na najmniej znaczącym bicie mantysy w reprezentacji, czyli Powrót

(0.199999 . . .)16 = (1.99999 . . .)16 · 2−4 ≈ (1.9999999999999)16 · 2−4


Pełny ekran

(0.199999 . . .)16 = (1.99999 . . .)16 · 2−4 ≈ (1.999999999999A)16 · 2−4 Zamknij

Koniec
Obserwowana niedokładność w czasie obliczeń
zmiennoprzecinkowych może być konsekwencją

• błędów wejściowych
c 2007 D.Wilczak

1. stała 0.1 już w czasie kompilacji zostanie przybliżona przez najbliższą Strona tytułowa

liczbę reprezentowalną
Spis treści

2. stałe wprowadzane do komputera w celu przetworzenia są opatrzone


JJ II
błędem pomiaru fizycznego.

3. użycie liczb niewymiernych w obliczanych formułach (π, e, 2) J I

• błędów zaokrągleń - wynik operacji często nie jest reprezentowalny, Strona 14 z 288

nawet jeśli wszystkie argumenty obliczanej formuły są reprezentowalne, Powrót

np. liczby 1 i 10 są reprezentowalne, ale ich iloraz 1/10 już nie.


Pełny ekran

• błędów obcięcia - np. zastąpienie granicy ciągu przez wyraz o


Zamknij

dostatecznie dużym indeksie, zastąpienie pochodnej funkcji jej ilorazem


różnicowym. Koniec
Przykłady:
c 2007 D.Wilczak

• Program w C++ demonstrujący, że niereprezentowalne dane wejściowe Strona tytułowa

mogą być przyczyną niedokładności obliczeń. Spis treści

• Program w C++ demonstrujący, że wynik operacji na liczbach JJ II

reprezentowalnych nie musi być liczbą reprezentowalną.


J I

• Program w C++ demonstrujący, że iloczyn w arytmetyce


Strona 15 z 288

zmiennoprzecinkowej nie jest łączny.


Powrót
• Program w C++ demonstrujący, że kolejność działań może wpłynąć na
wystąpienie przepełnienia. Pełny ekran

Zamknij

Koniec

c 2007 D.Wilczak
2.3. Zasady obliczeń w standardzie IEEE 754.
Strona tytułowa

Przedstawione przykłady pokazują, że wynik operacji na liczbach


zmiennoprzecinkowych często nie jest równy wynikowi prawdziwej operacji. Spis treści

Standard IEEE 754 określa sposoby zaokrąglania wyniku prawdziwej operacji JJ II

do liczb zmiennoprzecinkowych.
J I

Zasady te dotyczą w szczególności Strona 16 z 288


• sposobu zaokrąglania wyników operacji +, −, ·, /, Powrót

• konwersji liczb dziesiętnych i binarnych Pełny ekran

Zamknij

Koniec
Oznaczenia
c 2007 D.Wilczak

Niech a, b ∈ R̂ będą liczbami reprezentowalnymi oraz niech  ∈ {+, −, ·, /} Strona tytułowa

będzie jedną z elementarnych operacji arytmetycznych. Przez


Spis treści

aˆb
JJ II
będziemy oznaczać wynik tej operacji wykonanej w arytmetyce
zmiennoprzecinkowej. J I

Strona 17 z 288

Przez D będziemy oznaczać liczbę bitów używanych przez daną arytmetykę Powrót

zmiennoprzecinkową do reprezentacji mantysy. W przypadku typu double Pełny ekran


D = 52.
Zamknij

Koniec
2.4. Podstawowa własność arytmetyki IEEE 754.

c 2007 D.Wilczak

Załóżmy, że operacja zmiennoprzecinkowa aˆb zgodna z IEEE 754 Strona tytułowa

• nie powoduje przepełnienia (overflow) Spis treści

• nie powoduje niedomiaru (underflow) JJ II

oraz załóżmy, że jeśli  = / to b 6= 0 (czyli nie dzielimy przez zero).


J I

Wtedy istnieje liczba ε taka, że |ε| < 2−D+1 oraz


Strona 18 z 288

Powrót

aˆb = (a  b)(1 + ε) Pełny ekran

Zamknij

Koniec
2.5. Biblioteka GMP

Co to jest?

c 2007 D.Wilczak

• GMP - czyli GNU Multiple Precision Arithmetic Library


Strona tytułowa

• GMPXX - opakowanie obiektowe dla GMP


Spis treści

• Licencja - GNU LGPL


JJ II

Zdefiniowane typy liczbowe J I

• mpz t - liczby całkowite dowolnej długości Strona 19 z 288

• mpq t - liczby wymierne dowolnej precyzji Powrót

• mpf t - liczby zmiennoprzecinkowe dowolnej precyzji Pełny ekran

• mpz class, mpq class, mpf class - interfejsy obiektowe Zamknij

podanych typów
Koniec
mpf t - reprezentacja liczby
najbardziej najmniej
znaczący znaczący
segment segment

c 2007 D.Wilczak
_mp_d
|---- _mp_exp ---> |
_____ _____ _____ _____ _____ Strona tytułowa
|_____|_____|_____|_____|_____|
. <------------ punkt podstawy systemu liczenia
<-------- _mp_size ---------> Spis treści

JJ II
• mp size - liczba aktualnie używanych segmentów ze znakiem,
odpowiadającym znakowi liczby (int) J I

• mp prec - liczba segmentów mantysy (int) Strona 20 z 288

• mp d - wskaźnik do tablicy segmentów, pierwszy element tablicy jest Powrót

najmniej znaczącym segmentem Pełny ekran

• mp exp - ilość segmentów, o które wykładnik przesuwa punkt podstawy Zamknij

systemu liczenia (int)


Koniec

Przykład użycia GMP


3. Arytmetyka przedziałowa*
c 2007 D.Wilczak

* - rozdział nadobowiązkowy Strona tytułowa

Jak pokazują przykłady wynik operacji arytmetycznej w arytmetyce Spis treści

zmiennoprzecinkowej nie musi być liczbą reprezentowalną. Kumulacja


JJ II
różnego rodzaju błędów może spowodować, że otrzymany wynik znacznie
J I
różni się od wyniku prawdziwych obliczeń.
Strona 21 z 288

Skąd można mieć pewność, że uzyskamy wynik spełnia oczekiwane kryteria?


Powrót

Pełny ekran

Odpowiedź: można użyć arytmetyki przedziałowej.


Zamknij

Koniec
Oznaczenia:


c 2007 D.Wilczak

• R := R ∪ {−∞, ∞}.
Strona tytułowa
• I := {[a, b] : a, b ∈ R, a ≤ b} - zbiór wszystkich przedziałów w R.
• I := {[a, b] : a, b ∈ R, a ≤ b} - zbiór wszystkich przedziałów w R. Spis treści

• Î := {[a, b] : a, b ∈ R̂, a ≤ b} - zbiór wszystkich przedziałów w R̂ JJ II


(zobacz Definicja 1).
J I

Strona 22 z 288

Definicja 2
Powrót
Elementy zbioru Î będziemy nazywać przedziałami reprezentowalnymi.
Pełny ekran

Ćwiczenie Zamknij

Jakie inkluzje zachodzą pomiędzy zbiorami R, R, R̂ oraz I, I, Î?


Koniec
Oznaczenia:

c 2007 D.Wilczak

Liczby rzeczywiste są przybliżane liczbami reprezentowalnymi. Korzysta się


Strona tytułowa

tutaj z surjekcji ↓, ↑: R −→ R̂ zdefiniowanych następująco:


Spis treści

↓ (x) := max{y ∈ R̂ : y ≤ x}, (3)


JJ II
↑ (x) := min{y ∈ R̂ : y ≥ x}.
J I

Uwaga: Strona 23 z 288

W procesorach Intel i Ultra SPARC funkcje ↓, ↑ można zrealizować sprzętowo,


poprzez ustawienie odpowiedniej flagi procesora. Zapewnia to wysoką wydajność Powrót

wykonania tych operacji. W przypadku procesorów Intela należy napisać


odpowiednie wstawki w assemblerze. Natomiast gcc dla SUN Solaris z procesorem Pełny ekran

Ultra SPARC oferuje plik nagłówkowy #include<ieee.h>, w którym można


znaleźć funkcje przełączające tryb zaokrągleń procesora. Zamknij

Koniec
Definicja 3

Najmniejszym przedziałem reprezentowalnym zawierającym x


c 2007 D.Wilczak

nazywamy przedział Strona tytułowa

l (x) := [↓ (x), ↑ (x)] ∈ Î.


Spis treści

JJ II
Powyższa formuła określa funkcję l: R −→ Î.
J I

Przykład 7 Jeśli liczba x jest reprezentowalna, to l (x) = [x, x]. Strona 24 z 288

Powrót

Przykład 8 W Przykładzie 6 pokazaliśmy, że liczba x = 0.1 nie jest


reprezentowalna. Najmniejszy przedział reprezentowalny zawierający x = Pełny ekran

0.1 to l (0.1) = [(1.9999999999999)16 · 2−4, (1.999999999999A)16 · 2−4] Zamknij

Koniec
3.1. Arytmetyka przedziałów rzeczywistych I.

c 2007 D.Wilczak

Elementarne operacje arytmetyczne +, −, ·, / można rozszerzyć na


Strona tytułowa

przedziały w następujący sposób. Dla dwóch przedziałów a, b ∈ I oraz


Spis treści

pewnego działania  ∈ {+, −, ·, /} określamy


JJ II

a  b := {x  y : x ∈ a, y ∈ b}. J I

Zakładamy dodatkowo, że jeśli  = / to 0 ∈


/ b (czyli nie dzielimy przez przedziały Strona 25 z 288
zawierające zero).
Powrót

Uwaga:
Pełny ekran

Do wyznaczania wartości elementarnych operacji arytmetycznych na przedziałach


wystarczy policzyć wynik operacji arytmetycznej dla końców tego przedziału. Zamknij

Koniec

c 2007 D.Wilczak

Przykład 9 Wyznaczymy sumę, różnicę, iloczyn oraz iloraz przedziałów Strona tytułowa

a = [1, 2], b = [3, 3].


Spis treści

• a + b = [1, 2] + [3, 3] = [4, 5]. JJ II

• a − b = [1, 2] − [3, 3] = [−2, −1]. J I

• a · b = [1, 2] · [3, 3] = [3, 6]. Strona 26 z 288

• a/b = [1, 2]/[3, 3] = [ 13 , 23 ]. Powrót

Pełny ekran

Zamknij

Koniec

c 2007 D.Wilczak

Przykład 10 Wyznaczymy sumę, różnicę, iloczyn oraz iloraz przedziałów Strona tytułowa

a = [2, 2], b = [1, 2].


Spis treści

• a + b = [2, 2] + [1, 2] = [3, 4]. JJ II

• a − b = [2, 2] − [1, 2] = [0, 1]. J I

• a · b = [2, 2] · [1, 2] = [2, 4]. Strona 27 z 288

• a/b = [2, 2]/[1, 2] = [1, 2]. Powrót

Pełny ekran

Zamknij

Koniec

c 2007 D.Wilczak

Przykład 11 Wyznaczymy sumę, różnicę, iloczyn oraz iloraz przedziałów Strona tytułowa

a = [−2, 1], b = [−3, −1].


Spis treści

• a + b = [−2, 1] + [−3, −1] = [−5, 0]. JJ II

• a − b = [−2, 1] − [−3, −1] = [−1, 4]. J I

• a · b = [−2, 1] · [−3, −1] = [−3, 6]. Strona 28 z 288

• a/b = [−2, 1]/[−3, −1] = [−1, 2]. Powrót

Pełny ekran

Zamknij

Koniec
Jak pokazują powyższe przykłady (9,10,11), wyliczanie elementarnej
operacji arytmetycznej dla przedziałów sprowadza się do wyznaczenia
wartości tej operacji na końcach przedziałów (zobacz [7, §3]). Jeśli a =
c 2007 D.Wilczak

[a1, a2] oraz b = [b1, b2] to


Strona tytułowa

a + b = [a1 + b1, a2 + b2] (4)


Spis treści

a − b = [a1 − b2, a2 − b1]


JJ II
a · b = [min{a1b1, a1b2, a2b1, a2b2}, max{a1b1, a1b2, a2b1, a2b2}]
    
a1 a1 a2 a2 a1 a1 a2 a2 J I
a/b = min , , , , max , , ,
b1 b2 b1 b2 b1 b2 b1 b2
Strona 29 z 288

Uwaga: Powrót

Przedstawione powyżej wzory na mnożenie i dzielenie przedziałów chociaż Pełny ekran

proste są bardzo nieefektywne. Wyznaczenie wartości iloczynu lub ilorazu


Zamknij
wymaga 4 operacji zmiennoprzecinkowych oraz pewnej (jakiej?) liczby
porównań. Koniec
Algorytm 1 (na podstawie [1])
interval operator *(interval [a1, a2], interval [b1, b2])
{
c 2007 D.Wilczak

if([a1, a2] == [0, 0] or [b1, b2] == [0, 0]) return [0, 0];
if(a1 ≥ 0 and b1 ≥ 0) return [a1b1, a2b2];// (++,++) Strona tytułowa

if(a2 ≤ 0 and b2 ≤ 0) return [a2b2, a1b1];// (--,--) Spis treści

if(a2 ≤ 0 and b1 ≤ 0) return [a1b2, a1b1];// (--,-+)


if(a2 ≤ 0 and b1 ≥ 0) return [a1b2, a2b1];// (--,++) JJ II

if(a1 ≤ 0 and b2 ≥ 0) return [a2b1, a1b1];// (-+,--)


J I
if(a1 ≤ 0 and b1 ≤ 0) return [min{a1b2, a2, b1}, max{a1b1, a2b2}];
// (-+,-+) Strona 30 z 288

if(a1 ≤ 0) return [a1b2, a2b2];// (-+,++)


if(b2 ≤ 0) return [a2b1, a1b2];// (++,--) Powrót

else return [a2b1, a2b2];// (++,-+)


} Pełny ekran

Zamknij
Uwaga:
Podobny algorytm można sformułować dla dzielenia (ćwiczenie). Koniec
3.2. Własności arytmetyki przedziałowej.

• dodawanie i mnożenie przedziałów jest łączne i przemienne, czyli dla


a, b, c ∈ I zachodzi
c 2007 D.Wilczak

Strona tytułowa
(a + b) + c = a + (b + c),
(a · b) · c = a · (b · c), Spis treści

a + b = b + a, JJ II

a · b = b · a.
J I

Strona 31 z 288
• mnożenie przedziałów nie jest rozdzielne względem dodawania, np.
Powrót

[0, 1] · ([1, 1] − [1, 1]) = [0, 1] · [0, 0] = [0, 0]


Pełny ekran

ale
[0, 1] · [1, 1] − [0, 1] · [1, 1] = [0, 1] − [0, 1] = [−1, 1] Zamknij

Koniec

• zawsze spełniona jest zależność a · (b + c) ⊂ a · b + a · c


3.3. Arytmetyka przedziałów reprezentowalnych Î.

Formuły na dodawanie, odejmowanie, mnożenie i dzielenie przedziałów



c 2007 D.Wilczak
określone wzorami (4) można rozszerzyć na przedziały reprezentowalne
korzystając z funkcji ↓, ↑ zdefiniowanych wzorem (3). Dla a, b ∈ Î Strona tytułowa

a+̂b = [↓ (a1 + b1), ↑ (a2 + b2)] Spis treści

a−̂b = [↓ (a1 − b2), ↑ (a2 − b1)] JJ II

aˆ·b = [↓ (min{a1b1, a1b2, a2b1, a2b2}) , ↑ (max{a1b1, a1b2, a2b1, a2b2}]) J I


      
a1 a1 a2 a2 a1 a1 a2 a2
a/̂b = ↓ min , , , , ↑ max , , ,
b1 b2 b1 b2 b1 b2 b1 b2 Strona 32 z 288

Powrót

Uwaga:
W arytmetyce przedziałowej określonej dla przedziałów reprezentowalnych Pełny ekran

tracimy łączność dodawania i mnożenia. Jest to konsekwencją tego, że w


Zamknij
arytmetyce zmiennoprzecinkowej nie ma łączności dodawania i mnożenia
liczb reprezentowalnych (zobacz przykłady). Koniec
4. Wartości wyrażeń.
4.1. Kolejność sumowania.

c 2007 D.Wilczak

Jedną z częściej wykonywanych operacji jest sumowanie liczb. Okazuje się,


Strona tytułowa
że kolejność sumowania może mieć istotny wpływ na otrzymany wynik.
W poniższym algorytmie zakładamy, że ScalarType jest pewnym typem Spis treści

dopuszczalnym przez IEEE 754 (zobacz 2.2). JJ II

Algorytm 2 J I

ScalarType suma(ScalarType tab[], size t n)


Strona 33 z 288
{
ScalarType wynik=0; Powrót

for (int i=0;i<n;i++)


wynik += tab[i]; Pełny ekran

return wynik;
Zamknij
}
Koniec
Analiza algorytmu 2
W pierwszym kroku pętli wynik dodawania 0+tab[0] jest dokładny.
c 2007 D.Wilczak

Zgodnie z własnością arytmetyki zmiennoprzecinkowej (zobacz 2.4) w


Strona tytułowa
−D+1
kolejnych krokach pętli popełniamy pewien błąd εi, 0 ≤ εi < 2 ,
Spis treści
i = 1, . . . ,n−1, czyli
wynik = (((tab[0]+tab[1])(1+ε1)+tab[2])(1+ε2)+· · · +tab[n-1])(1+εn−1) JJ II

czyli J I

wynik = tab[0](1 + ε1)(1 + ε2) · · · (1 + εn−1) Strona 34 z 288

+ tab[1](1 + ε1)(1 + ε2) · · · (1 + εn−1)


+ tab[2](1 + ε2)(1 + ε3) · · · (1 + εn−1) Powrót

+ ... Pełny ekran

+ tab[n-1](1 + εn−1)
Zamknij

Koniec

c 2007 D.Wilczak

Wniosek: Strona tytułowa

Powyższa analiza pokazuje, że elementy początku tablicy będą częściej


Spis treści
uwzględniane w zaokrągleniach niż elementy końca tablicy.
JJ II

Wniosek:
J I
Aby zminimalizować błędy zaokrągleń należy sumować tablicę posortowaną
według rosnących wartości bezwzględnych. Strona 35 z 288

Powrót

Program w C++ demonstrujący wpływ kolejności sumowania na wynik.


Pełny ekran

Zamknij

Koniec
4.2. Wyznaczanie wartości wielomianu.

Klasycznym zagadnieniem metod numerycznych jest problem wyznaczania


wartości wielomianu. Problem ten jest szczególnie ważny ze względu na
c 2007 D.Wilczak

jego częste zastosowania. Stosując Twierdzenie Taylora 23 do funkcji Strona tytułowa

wykładniczej wnioskujemy, że dla dowolnego n ∈ N+ zachodzi


! Spis treści
n i
X x
ex = + Rn+1, JJ II
i=0
i!
J I
gdzie Rn+1 jest resztą we wzorze Taylora. Dla dostatecznie dużych n reszta
jest mała i nie wpływa istotnie na wartość sumy. Dlatego Strona 36 z 288

n
x
X xn x x2 x3 xn Powrót
e ≈ =1+ + + + ··· +
n=0
n! 1! 2! 3! n!
Pełny ekran

można uznać za dobre przybliżenie wartości funkcji wykładniczej.


Zamknij
Błąd, który popełniamy ograniczając się do skończonego rozwinięcia to błąd
obcięcia. Koniec
Załóżmy, że mamy dany wielomian

c 2007 D.Wilczak

W (x) = anxn + an−1xn−1 + · · · + a1x + a0. Strona tytułowa

Jednym z częściej popełnianych błędów jest wyznaczanie wartości Spis treści

wielomianu według podanej reguły


JJ II

an x | · x{z· · · x} + · · · a2x · x + a1x + a0


| · x{z· · · x} +an−1 x J I
n n−1
Strona 37 z 288

Złożoność obliczeniowa takiego wyrażenia to:


Powrót

n(n + 1)
• liczba mnożeń:
2 Pełny ekran

• liczba dodawań: n
Zamknij

Koniec
Algorytm 3 (Schemat Hornera [5])
ScalarType Horner(ScalarType a[], size t n, ScalarType x)
{
ScalarType wynik = a[n];
c 2007 D.Wilczak

for (int i=n-1;i≥0;i--)


Strona tytułowa
wynik = x*wynik+a[i];
return wynik; Spis treści

}
JJ II

Schemat Hornera wyznacza wartość wielomianu w punkcie x według wzoru


J I

W (x) = x(· · · x(x(anx + an−1) + an−2) + · · · + a1) + a0 Strona 38 z 288

Uwagi: Powrót

• liczba mnożeń w schemacie Hornera: n Pełny ekran

• liczba dodawań w schemacie Hornera: n Zamknij

• oszacowanie maksymalnego błędu zaokrągleń dla schematu Hornera Koniec

oraz “zwykłej” metody jest takie samo.


Przykład 12 (na podstawie [6])
Problem: wyznaczyć wartość wyrażenia a2 − b2 dla pewnych wartości a i b.
Sposób I
c 2007 D.Wilczak
Policzymy wartość wyrażenia wprost ze wzoru a2 −b2. Zgodnie z 2.4 istnieją
liczby ε1, ε2, ε3 takie, że Strona tytułowa

aˆ·a−̂bˆ·b = (a2(1 + ε1) − b2(1 + ε2))(1 + ε3) = (a2 − b2)(1 + δ) Spis treści

2 2
gdzie δ = a aε12−b
−b 2
ε2
(1 + ε3) + ε3. Jeśli a2 ≈ b2 to błąd względny może być JJ II
bardzo duży.
J I

Sposób II
Policzymy wartość wyrażenia korzystając z równości a2 −b2 = (a−b)(a+b). Strona 39 z 288

Zgodnie z 2.4 maksymalny błąd względny wynosi


Powrót

(a−̂b)ˆ·(a+̂b) = ((a − b)(1 + µ1)(a + b)(1 + µ2))(1 + µ3) = (a2 − b2)(1 + δ)


Pełny ekran

gdzie δ ≤ |µ1| + |µ2| + |µ3|.


Zamknij

Program w C++ ilustrujący przykład. Koniec


5. Podstawowe pojęcia.
Zadanie numeryczne - matematyczny opis wyznaczania wektora (zbioru)
c 2007 D.Wilczak

wartości wynikowych w na podstawie wektora (zbioru) danych wejściowych


Strona tytułowa
d.
Spis treści

Przykład 13 Wyznaczanie miejsc zerowych (zespolonego) trójmianu JJ II

kwadratowego
ax2 + bx + c = 0 J I

dane wejściowe to współczynniki wielomianu, czyli d = (a, b, c). Strona 40 z 288

Wektor wyników to dwa miejsca zerowe (rzeczywiste lub zespolone w


zależności od sformułowania zadania), czyli w = (x1, x2). Powrót

Pełny ekran

Zadanie numeryczne jest dobrze określone jeśli zbiór danych wynikowych Zamknij

jest jednoznacznie określony przez zbiór danych wejściowych. Koniec


Oznaczenia
Przez D będziemy oznaczać zbiór tych danych wejściowych, dla których
zadanie jest dobrze określone. Przez W będziemy oznaczać zbiór wszystkich
możliwych rozwiązań zadania numerycznego dla różnych możliwych danych
c 2007 D.Wilczak

wejściowych.
Przez φ będziemy oznaczać rozważane zadanie numeryczne. Strona tytułowa

Przy powyższych oznaczeniach w = φ(d), gdzie φ : D −→ W. Spis treści

JJ II
Przykład 14 Problem wyznaczenia pierwiastków zespolonych równania
J I
kwadratowego ax2 + bx + c = 0 jest dobrze określony dla
Strona 41 z 288
3
D = {(a, b, c) ∈ C : a 6= 0}.
Powrót

Przykład 15 Problem wyznaczenia pierwiastków rzeczywistych równania Pełny ekran

kwadratowego ax2 + bx + c = 0 jest dobrze określony dla


Zamknij

D = {(a, b, c) ∈ R3 : a 6= 0, b2 − 4ac ≥ 0}.


Koniec

c 2007 D.Wilczak
Algorytm numeryczny – skończony ciąg poprawnie sformułowanych
operacji przekształcających dane wejściowe na wyniki. Strona tytułowa

Spis treści

Algorytm numeryczny jest poprawnie sformułowany jeśli ma własność JJ II

stopu, czyli dla dowolnych danych wejściowych zawsze zatrzymuje się po


J I
skończonej liczbie operacji.
Strona 42 z 288

Powrót
operacja – działanie arytmetyczne, logiczne, odwołanie do innego
poprawnie sformułowanego algorytmu Pełny ekran

Zamknij

Koniec
5.1. Uwarunkowanie zadania.

Oznaczenia:

• d – dane wejściowe
c 2007 D.Wilczak

• d + ∆d – dane wejściowe opatrzone błędem (np. pomiaru fizycznego) Strona tytułowa

• ∆d – błąd bezwzględny Spis treści

k∆dk
• – błąd względny (o ile kdk =
6 0) JJ II
kdk
J I
Co się dzieje z wynikiem, jeśli trochę zmienimy dane wejściowe?
Strona 43 z 288

• w = φ(d) wyjście algorytmu


Powrót

• φ(d + ∆d) - wyjście algorytmu dla zaburzonych danych wejściowych


Pełny ekran

• ∆w = φ(d + ∆d) − φ(d) – błąd bezwzględny wyniku


Zamknij

k∆wk
Pytanie: jak duże jest ∆w lub ? Koniec
kwk
Przykład 16 Zadanie numeryczne polega na wyznaczeniu rozwiązania
układu równań liniowych

2x + 6y = 8 x = 1
=⇒ rozwiązanie, to
2x + 6.000000001y = 8.000000001 y = 1
c 2007 D.Wilczak

Strona tytułowa


2x + 6y = 8 x = 10 Spis treści

=⇒ rozwiązanie, to
2x + 5.999999999y = 8.000000002 y = −2
JJ II

J I
1 1
0.5
Strona 44 z 288
0 0
-0.5
-1 -1 Powrót

-1.5
-2 -2 Pełny ekran
0 2 4 6 8 10 0 2 4 6 8 10

Zamknij
Uwaga: na powyższych wykresach są inne współczynniki w równaniach,
gdyż dla podanych w przykładzie linie na wykresie są nierozróżnialne. Koniec
Definicja 4

Zadanie numeryczne nazywamy źle uwarunkowanym, jeśli niewielkie


zmiany względne danych początkowych powodują duże zmiany względne

c 2007 D.Wilczak
wyników.
Strona tytułowa

Wskaźnikiem uwarunkowania zadania φ(d) = (φ1(d), . . . , φk (d)), dla d =


(d1, d2, . . . , dn) ∈ D nazywamy liczbę Spis treści

!
n n
X di ∂φ1(d) X di ∂φk (d) JJ II
cond(d) = ,..., (5)

φ1(d) ∂di φk (d) ∂di

i=1 i=1 J I

Strona 45 z 288

Uwaga:
Powrót
Uwarunkowanie zadania to cecha samego zadania numerycznego a nie
algorytmu użytego do jego rozwiązania. Zobacz przykład Wilkinsona 3. Pełny ekran

Uwaga: Zamknij

Im większy wskaźnik uwarunkowania, tym gorzej jest uwarunkowane zadanie


numeryczne. Koniec
Przykład 17 Zbadamy uwarunkowanie zadania wyznaczenia wartości
p
wyrażenia φ(p, q) = p − p2 + q dla p, q ∈ R. Pochodne cząstkowe to
p
∂φ p p2 + q − p ∂φ −1
(p, q) = 1 − p = p , (p, q) = p .
c 2007 D.Wilczak
∂p p2 + q p2 + q ∂q 2 p2 + q
Strona tytułowa
Zgodnie z wzorem (5) mamy
Spis treści
p ∂φ q ∂φ
cond(p, q) = (p, q) +
(p, q)
φ(p, q) ∂p φ(p, q) ∂q JJ II

p
p( p2 + q − p) −q J I
= +

p p p p
(p − p2 + q) p2 + q 2(p − p2 + q) p2 + q
Strona 46 z 288
p
p p + p2 + q

Powrót
= p + p


p2 + q 2 p2 + q
Pełny ekran

Jeśli q > 0 to zadanie jest dobrze uwarunkowane.


Zamknij
Jeśli q ≈ −p2 to mianownik ostatniego wyrażenia staje się bardzo duży.
Wtedy zadanie jest bardzo źle uwarunkowane. Koniec

c 2007 D.Wilczak

Strona tytułowa

Uwarunkowanie zadania, cd.


Spis treści
Wyznaczanie uwarunkowania zadania według podanej definicji jest na ogół
bardzo trudne. JJ II

Jeśli J I
k∆wk k∆dk
≤ B(d)
kwk kdk Strona 47 z 288

to B(d) jest oszacowaniem od góry na wskaźnik uwarunkowania zadania d.


Powrót

Pełny ekran

Zamknij

Koniec
Przykład 18 Rozważmy uwarunkowanie zadania wyznaczenia rozwiązania
c 2007 D.Wilczak

układu równań liniowych A · w = d, gdzie A jest odwracalną macierzą Strona tytułowa

kwadratową. Rozwiązaniem jest w = A−1d. Otrzymujemy oszacowanie na


Spis treści
wskaźnik uwarunkowania
k∆wk kA−1(d + ∆d) − A−1dk kA−1∆dk kA−1k k∆dk JJ II
= = ≤
kwk kA−1dk kA−1dk kAk−1 kdk J I

Zatem wskaźnik uwarunkowania jest oszacowany przez B(d) = kA−1kkAk


Strona 48 z 288

Wniosek: Jeśli iloraz największej i najmniejszej wartości własnej (co do


Powrót

wartości bezwzględnej) jest bardzo duży, to układ jest źle uwarunkowany.


Pełny ekran
Zobacz notebook Mathematica i przykład
Zamknij

Koniec
5.2. Algorytmy numerycznie stabilne.

Dysponując arytmetyką precyzji ε może się okazać, że dla a ∈ D danego


zagadnienia nie można rozwiązać stosując wybrany algorytm numeryczny.
Oznaczenia:
c 2007 D.Wilczak

Przez DN(ε) będziemy oznaczać zbiór tych danych początkowych, dla


których można rozwiązać zadanie numeryczne stosując rozważany algorytm Strona tytułowa

A.
Spis treści

Definicja 5 JJ II

Algorytm numeryczny A nazywamy numerycznie stabilnym w klasie


J I
zadań {φ, D}, jeśli dla dowolnych danych wejściowych d ∈ D można
dobrać taką dokładność obliczeń ε0 > 0, że d ∈ DN(ε) dla ε < ε0 Strona 49 z 288

oraz można wyznaczyć numerycznie rozwiązanie z dowolną dokładnością


zwiększając precyzję obliczeń. Dokładniej, istnieje stała K taka, że dla Powrót

każdego d ∈ D oraz dostatecznie silnej arytmetyki zachodzi


Pełny ekran

kφ(d) − A(d)k ≤ K · (ε + P (d, φ)), P (d, φ) = max kφ(d) − φ(x)k


kx−dk≤ε Zamknij

gdzie ε oznacza dokładność arytmetyki a P (d, φ) oznacza dokładność Koniec

wyznaczania φ(d) w podanej arytmetyce (zobacz Przykład 12).


6. Równania nieliniowe jednej zmiennej.
6.1. Wyznaczanie pierwiastków kwadratowych.

Rozważmy dwa sposoby wyznaczania rozwiązań równania x2 −2px+q = 0,


c 2007 D.Wilczak

przy czym zakładamy, że p, q 6= 0 oraz p2 − q > 0 (czyli ∆ > 0). Strona tytułowa

Spis treści
Sposób I (metoda “szkolna”): Sposób II:
p JJ II
x1 = p + pp2 − q, Algorytm 4 (na podstawie [6])
x2 = p − p2 − q. if(p ≥ 0) J I

{ p Strona 50 z 288
x1 = p + p2 − q;
x2 = q/x1; Powrót

}else{ p
x2 = p − p2 − q; Pełny ekran

x1 = q/x2;
Zamknij
}
Koniec
Zobacz program w C++.
6.2. Pierwiastki trzeciego stopnia.

Równanie
ax3 + bx2 + cx + d = 0

c 2007 D.Wilczak

rozwiązuje się stosując wzory Cardano.


Strona tytułowa

Spis treści

JJ II

J I

Strona 51 z 288

Powrót

Pełny ekran

Girolamo Cardano Niccolò Fontana Tartaglia Zamknij

(1501-1576) (1499-1557)
Koniec

Zobacz artykuł w Wikipedii


Wzory Cardano, c.d.
Po podstawieniu x = z + w, gdzie w = −b/(3a) otrzymujemy równoważne
c 2007 D.Wilczak

równanie w postaci zredukowanej


Strona tytułowa

z 3 + pz + q = 0, (6) Spis treści

3aw2 + 2bw + c aw3 + bw2 + cw + d JJ II


gdzie p = , q= .
a a J I

Podstawiając do równania (6) z = y − p/(3y) otrzymujemy


Strona 52 z 288
3
p3
  
p p 3
y− +p y− +q =y − + q. Powrót
3y 3y 27y 3
Rozwiązania równania zredukowanego zależą od wyróżnika Pełny ekran

q 2 p3 Zamknij
∆= + .
4 27
Koniec
Przypadek ∆ > 0: oznaczmy
q √ q √
r r
3 3
u = − + ∆, v = − − ∆.
2 2

c 2007 D.Wilczak
Równanie zredukowane ma jeden pierwiastek rzeczywisty i dwa zespolone
 Strona tytułowa

z1 = u + v,


√ √
−1+i 3 −1−i 3
z2 = 2√ u + 2 √ v,
Spis treści

z3 = −1−i 3 −1+i 3
u + v

2 2 JJ II

Przypadek ∆ < 0: równanie zredukowane ma trzy pierwiastki rzeczywiste J I


r  
p φ 2π
z1,2,3 = 2 − cos +k , k = 0, 1, 2, Strona 53 z 288
3 3 3
! Powrót
3q
gdzie φ = arccos p p .
2p − 3 Pełny ekran

Przypadek ∆ = 0: równanie zredukowane ma trzy pierwiastki rzeczywiste Zamknij


r r
q q
z1 = −2 3 , z2,3 = 3 . Koniec
2 2

c 2007 D.Wilczak

Strona tytułowa

Istnieją wzory na pierwiastki wielomianu stopnia czwartego, nazywane


Spis treści

wzorami Ferrari, ale nie będziemy ich tutaj przedstawiać (zobacz [9] lub
JJ II
artykuł w Wikipedii).
Dla wielomianów stopni wyższych i innych funkcji nieliniowych stosuje się J I

na ogół metody iteracyjne, które pozwalają na znajdowanie przybliżonych Strona 54 z 288

rozwiązań. Jedną z nich jest metoda połowienia przedziału.


Powrót

Pełny ekran

Zamknij

Koniec
6.3. Metoda połowienia (bisekcji).
c 2007 D.Wilczak

Strona tytułowa
Metoda połowienia przedziału opiera się na własności Darboux 22 funkcji
ciągłych. Jeśli dla pewnych wartości argumentu a, b funkcja ciągła na Spis treści

przedziale [a, b] przyjmuje wartości o przeciwnych znakach, to na pewno JJ II

ma miejsce zerowe w przedziale [a, b].


J I

Algorytm 5 przedstawia schemat blokowy metody połowienia przedziału. Strona 55 z 288

Stop algorytmu następuje w dwóch przypadkach: jeśli wyznaczono dokładne


Powrót
miejsce zerowe funkcji lub jeśli przedział jest tak mały, że nie można go już
podzielić w arytmetyce z precyzją ε. Pełny ekran

Zamknij

Koniec
Algorytm 5 Metoda bisekcji (na podstawie [5])
Start

ya=f(a)

c 2007 D.Wilczak
yb=f(b)

Strona tytułowa

x=(a+b)/2 Algorytm bisekcji w każdej


y=f(x) iteracji przybliża rozwiązanie α z Spis treści

dokładnością
Tak JJ II
y=0?
|b − a|
Nie return x
|xk+1−α| ≤ |xk+1−xk | =
2k J I
Tak Nie Stop 2
ya*y>0?
Oznacza to, że pozwala Strona 56 z 288

a=x b=x wyznaczyć rozwiązanie z dowolną


ya=y yb=y dokładnością w klasie funkcji Powrót

ciągłych o różnych znakach na


|b-a|<ε?
końcach przedziału. Pełny ekran

Nie
Tak Zamknij

return a Koniec

Stop 1
6.4. Metoda ‘regula falsi’ (na podstawie [5]).

Nazwa pochodzi od łacińskich słów regula – linia oraz falsi – fałszywy.


Założenia metody:
c 2007 D.Wilczak

• rozważana funkcja jest klasy C 2 na przedziale [a, b], czyli ma ciągłą Strona tytułowa

pierwszą i drugą pochodną Spis treści

• funkcja ma pierwiastek pojedynczy w przedziale [a, b]


JJ II
• f (a)f (b) < 0
J I
• f 0 i f 00 mają stały znak w przedziale [a, b] - założenie to implikuje, że
wykres f jest jednym z czterech rodzajów przedstawionych poniżej. Strona 57 z 288

f(b) f(a) f(b) f(a) Powrót

b a
a b
a b Pełny ekran
b a

f(a) f(b) f(a) f(b)


Zamknij
0 00 0 00 0 00 0 00
f > 0, f > 0 f < 0, f < 0 f > 0, f < 0 f < 0, f > 0
Koniec
Metoda polega na fałszywym założeniu, że funkcja na przedziale [a, b] jest
prostą. Przez punkty (a, f (a)) oraz (b, f (b)) prowadzi się cięciwę (linia
niebieska). Punkt przecięcia tej linii z osią OX to x1.

c 2007 D.Wilczak

Do dalszych iteracji wybieramy przedział [a, x1] lub [x1, b], w zależności Strona tytułowa

od tego, w którym przedziale funkcja przyjmuje różne znaki na końcach.


Spis treści

W sytuacji jak poniżej, punkt x2 będzie wyznaczony jako punkt przecięcia


JJ II
prostej przechodzącej przez punkty (x1, f (x1)) i (b, f (b)) z osią OX.
f(b) J I

Strona 58 z 288

Powrót

Pełny ekran
a x1 x2 x3
b Zamknij

f(a) Koniec
Analiza metody ‘regula falsi’
Prosta poprowadzona przez punkty (a, f (a)) i (b, f (b)) ma równanie

c 2007 D.Wilczak

(f (b) − f (a))(x − a) = (y − f (a))(b − a)


Strona tytułowa

Punkt przecięcia tej prostej z osią OX to


Spis treści

f (a)
x1 = a − (b − a)
f (b) − f (a) JJ II

Rozważmy przypadek kiedy f 0(x), f 00(x) > 0 na przedziale [a, b], czyli J I

wykres funkcji f wygląda tak jak na rysunku. Dlatego w kolejnych iteracjach Strona 59 z 288

będzie się zmieniał tylko lewy koniec przedziału. Stąd w kolejnej iteracji
Powrót
będziemy rozważać przedział [x1, b]. Stosując tą samą zasadę do przedziału
[x1, b] otrzymujemy ciąg określony wzorem rekurencyjnym Pełny ekran

f (xk ) Zamknij
x0 = a, xk+1 = xk − (b − xk ) (7)
f (b) − f (xk )
Koniec
Analiza metody ‘regula falsi’ c.d.
Założyliśmy, że funkcja f ma pojedynczy pierwiastek - oznaczmy go α.
W rozważanym przypadku f 0(x), f 00(x) > 0 mamy zawsze xk < α oraz

c 2007 D.Wilczak

f (xk ) < 0. Dlatego ciąg xk jest rosnący (xk+1 ∈ (xk , α), czyli xk+1 > xk )
Strona tytułowa
i ograniczony, a zatem zbieżny.
Spis treści

Oznaczmy granicę przez g = limn→∞ xn. Granica ta musi spełniać równanie


JJ II
rekurencyjne (7)
f (g)
g=g− (b − g) J I
f (b) − f (g)
czyli f (g) = 0. Ponieważ założyliśmy, że funkcja ma pierwiastek pojedynczy Strona 60 z 288

to α = g. Powrót

Pełny ekran
Uwaga
Pokazaliśmy, że przy przyjętych założeniach ciąg generowany przez ’regula Zamknij

falsi’ jest zawsze zbieżny do pierwiastka funkcji (analogicznie rozumowanie


przeprowadza się w pozostałych trzech przypadkach - jakich?). Koniec
Oszacowanie błędu pierwiastka w ‘regula falsi’
Na mocy Twierdzenia Lagrange’a 24 mamy oszacowanie

f (xn) = f (xn) − f (α) = f 0(c)(xn − α)



c 2007 D.Wilczak

dla pewnego c z przedziału o końcach xn i α, czyli


Strona tytułowa

Spis treści
|f (xn)| |f (xn)| |f (xn)|
|xn − α| = 0 ≤ = . (8)
|f (c)| inf c∈[a,b] |f 0(c)| min{|f 0(a)|, |f 0(b)|} JJ II

W ostatniej równości wykorzystujemy fakt, że f 0 jest monotoniczna - jest J I

to konsekwencją założenia, że f 00 ma stały znak.


Strona 61 z 288

Oszacowanie dane przez (8) jest zwykle zbyt pesymistyczne i dodatkowo


wymaga znajomości pochodnej funkcji na końcach przedziału. Jeśli xk jest Powrót

już dostatecznie blisko pierwiastka, to z Tw. Lagrange’a 24 Pełny ekran


f (xk+1) xk+1 − xk
|α − xk+1| ≈ 0 ≈ · |f (xk+1)| Zamknij

f (xk+1) f (xk+1) − f (xk )


Koniec
0 f (xk+1 )−f (xk )
przy czym w ostatnim przybliżeniu założyliśmy, że f (xk+1) ≈ xk+1 −xk .
Algorytm 6 Metoda ‘regula falsi’
Start

ya=f(a)
yb=f(b)
c 2007 D.Wilczak

Strona tytułowa
x=a - f(a)/(f(b)-f(a))(b-a)
y=f(x)
Spis treści

Przeprowadzone wcześniej
JJ II
Tak
Tak or |x-a|<=ε or |x-b|<=ε?
y=0 analizy wskazują, że metodą
’regula falsi’ można znajdować J I
Nie return x
Stop 1 numerycznie miejsce zerowe
Tak
ya*y>0?
Nie w klasie funkcji spełniających Strona 62 z 288

jej założenia.
a=x b=x Powrót

ya=y yb=y
Pełny ekran

Zamknij

Koniec
6.5. Metoda siecznych

Modyfikacją metody ‘regula falsi’ jest metoda siecznych. Zmiana polega


na zastąpieniu końców przedziału [a, b] przez przedział, którego końcami są

c 2007 D.Wilczak
xn−1 i xn. Kolejne przybliżenie pierwiastka dane jest przez
f (xk )(xk − xk−1) Strona tytułowa

xk+1 = xk − (9)
f (xk ) − f (xk−1) Spis treści

JJ II

J I
x1 x3 x4 x6 x7 x8 x5 x2

Strona 63 z 288

Powrót

Pełny ekran

Zamknij

Koniec
Uwagi:

• w metodzie siecznych rezygnujemy z założenia, że funkcja na końcach


przedziału ma różne znaki (zobacz na rysunku [x3, x4] lub [x6, x7])

c 2007 D.Wilczak

• należy kontrolować zachowanie otrzymanego ciągu. Może się zdarzyć,


że dla metoda wyprodukuje ciąg rozbieżny. Strona tytułowa

• korzyści płynące ze stosowania tej metody to zdecydowanie szybsza Spis treści

zbieżność ciągu iteracji, jeśli xn, xn+1 już są dobrymi przybliżeniami


pierwiastka. JJ II

• metodą tą możemy próbować wykryć nieistniejący pierwiastek J I

Strona 64 z 288

Powrót

Pełny ekran

Zamknij

Koniec

x3 x1 x2
6.6. Porównanie metod bisekcji, regula falsi i siecznych.

Eksperyment polega na numerycznym 1.5

rozwiązaniu równania cos(x) = 1


c 2007 D.Wilczak

x przy pomocy metod bisekcji, 0.5


Strona tytułowa
regula falsi i siecznych. Przedział
-1 -0.5 0.5 1 1.5
początkowy użyty w obliczeniach to -0.5 Spis treści

[0, 2]. -1
JJ II

Aby otrzymać wynik z dokładnością do 64-bitowej reprezentacji double


J I
potrzeba było wykonać
Strona 65 z 288

• 53 iteracje dla metody bisekcji


• 19 iteracji dla metody regula falsi Powrót

• 8 iteracji dla metody siecznych


Pełny ekran

W każdym przypadku wyznaczony pierwiastek to Zamknij

x ≈ 0.73908513321516067. Koniec
6.7. Metoda Newtona (stycznych).


c 2007 D.Wilczak

Strona tytułowa

Spis treści

x4 x3 x2 x1 JJ II
Isaac Newton
(1643-1727) J I

Kolejne przybliżenie pierwiastka xn+1 jest wyznaczane jako punkt przecięcia Strona 66 z 288

stycznej do xn z osią y = 0. Styczna w do f w punkcie xn to


Powrót

y = f (xn) + f 0(xn)(x − xn) (10) Pełny ekran

Punkt przecięcia stycznej z osią y = 0 to Zamknij

f (xn)
xn+1 = x = xn − (11) Koniec

f 0(xn)
Wyznaczanie pierwiatka kwadratowego - metoda Herona.

Dla a > 0 wyznaczamy a korzystając z metody Herona. Jest to metoda
Newtona zastosowana do równania x2 − a = 0.

c 2007 D.Wilczak
Konstruujemy ciąg iteracji
( Strona tytułowa
a, jeśli a ≥ 1
x1 =
1, jeśli a < 1 Spis treści

Korzystając z wzoru (10) obliczamy JJ II

x2n − a 1
 
f (xn) a J I
xn+1 = xn − 0 = xn − = xn +
f (xn) 2xn 2 xn
√ Strona 67 z 288

Ciąg xn jest zawsze zbieżny do a , gdyż


Powrót
√ √ √
 
1 a 1 2

0 ≤ xn+1 − a = xn + −2 a = x − 2xn a + a
2 xn 2xn n Pełny ekran

(xn − a)2 1 √  1 √ 
= ≤ xn − a ≤ · · · ≤ n x1 − a −→ 0 Zamknij
2xn 2 2

Na mocy Twierdzenia 25 o trzech ciągach xn+1 −→ a. Koniec
Zbieżność metody Newtona.
Metoda stycznych, podobnie jak metoda siecznych 6.5 może generować ciąg
rozbieżny. Okazuje się, że przy pewnych dodatkowych założeniach metoda
daje szybką i pewną zbieżność ciągu iteracji do szukanego pierwiastka.
c 2007 D.Wilczak

Twierdzenie 1 [5] Strona tytułowa

Jeżeli funkcja f : [a, b] −→ R spełnia warunki Spis treści

(i) f (a) i f (b) mają przeciwne znaki JJ II

(ii) f 00 jest ciągła i nie zmienia znaku w [a, b]


J I

(iii) styczne do krzywej y = f (x) poprowadzone w punktach o odciętych a


i b przecinają oś OX wewnątrz przedziału [a, b] Strona 68 z 288

to w przedziale [a, b] istnieje dokładnie jedno rozwiązanie α ∈ [a, b] Powrót

równania f (x) = 0 oraz metoda stycznych daje zbieżność ciągu iteracji


do α dla dowolnego punktu początkowego x1 ∈ [a, b]. Pełny ekran

Uwaga: Zamknij

Metoda Herona wyznaczania pierwiastka kwadratowego spełnia założenia


Koniec

Twierdzenia 1 dla wszystkich a > 0, a 6= 1 na przedziale o końcach 1 i a.


Modyfikacje metody Newtona.
W metodzie stycznych kolejne przybliżenie pierwiastka xn+1 powstaje jako
punkt przecięcia stycznej do funkcji w punkcie xn z osią OX. Jeśli badana

c 2007 D.Wilczak
funkcja ma wyższe pochodne, to można rozważyć przybliżanie tej funkcji
wielomianami wyższych rzędów (styczna to wielomian stopnia 0 lub 1). Strona tytułowa

Z twierdzenia Taylora 23 dla k = 3 wnioskujemy, że dla x bliskich xn Spis treści

1
f (x) ≈ f (xn) + f 0(xn)(x − xn) + f 00(xn)(x − xn)2 JJ II
2
J I
Kolejne przybliżenie miejsca zerowego funkcji f definiujemy jako jedno z
miejsc zerowych powyższego wielomianu, a zatem xn+1 jest rozwiązaniem Strona 69 z 288

równania
Powrót

1
f (xn) + f 0(xn)(x − xn) + f 00(xn)(x − xn)2 = 0,
2 Pełny ekran

czyli p Zamknij

f 0(xn) ± (f 0(xn))2 − 2f (xn)f 00(xn)


xn+1 = xn − (12)
f 00(xn) Koniec
Interpretacja geometryczna zmodyfikowanej metody Newtona.


c 2007 D.Wilczak

Strona tytułowa

Spis treści

JJ II

J I
y2 x2 x1

Strona 70 z 288

Powrót
W klasycznej metodzie Newtona jako kolejne przybliżenie xn+1 pierwiastka
funkcji f bierzemy punkt przecięcia stycznej w punkcie xn (linia niebieska) Pełny ekran

z osią OX. Aproksymując funkcję f wielomianem stopnia drugiego (krzywa Zamknij

czerwona) możemy czasem otrzymać lepsze przybliżenie pierwiastka.


Koniec
Uwagi:

c 2007 D.Wilczak

• Zmodyfikowana metoda Newtona (12) daje bardzo szybką zbieżność, Strona tytułowa

jeżeli xn jest już dobrym przybliżeniem pierwiastka. Jeśli xn jest daleko


Spis treści
od wyznaczanego pierwiastka, to równanie definiujące xn+1 (12) może
nie być określone w xn (np. liczba ujemna pod pierwiastkiem). JJ II

• Równanie (12) określa dwie możliwości wyboru xn+1. Należy umiejętnie J I

dobrać kolejne przybliżenie pierwiastka.


Strona 71 z 288

• Koszt wyznaczenia kolejnego przybliżenia xn+1 może przerastać korzyści Powrót

płynące z szybszej zbieżności (konieczność wyznaczenia wyższych


Pełny ekran
pochodnych oraz pierwiastka).
Zamknij

Koniec
6.8. Metoda Steffensena [9].
c 2007 D.Wilczak

Metoda Newtona w wielu sytuacjach daje bardzo szybką zbieżność. Strona tytułowa

Podstawową wadą tej metody jest konieczność obliczenia pochodnej funkcji


Spis treści

(zobacz definicję metody Newtona (11)).


JJ II

Metodę siecznych 6.5 możemy interpretować jako pewną modyfikację J I

metody stycznych. Modyfikacja ta polega na zastąpieniu pochodnej ilorazem


Strona 72 z 288
różnicowym, czyli
f (xn) f (xn) f (xn)(xn − xn−1) Powrót

xn − 0 ≈ xn − f (xn )−f (xn−1 )


= xn −
f (xn) f (xn) − f (xn−1)
| {z } xn −xn−1 | {z } Pełny ekran

metoda Newtona metoda siecznych


Zamknij

Koniec
Metoda Steffensena polega na przybliżeniu pochodnej funkcji przez
f (xn + f (xn)) − f (xn)
f 0(xn) ≈ (13)
f (xn)

c 2007 D.Wilczak
w metodzie Newtona (11). Po podstawieniu (13) do (11) otrzymujemy
f (xn)2 Strona tytułowa

xn+1 = xn − . (14)
f (xn + f (xn)) − f (xn)
Spis treści

Powyższa zależność definiuje metodę Steffensena.


JJ II

J I

Strona 73 z 288

Powrót

Pełny ekran

Zamknij

Koniec
x3 x2 x1 x3+f(x3) x2+f(x2) x1+f(x1)
Inne warianty metody Steffensena.
Przedstawiona powyżej metoda Steffensena (14) może powodować dowolnie
c 2007 D.Wilczak

duże błędy zaokrągleń - nie jest numerycznie stabilna.


Strona tytułowa

Ogólnie można rozważać ciągi iteracji


Spis treści
f (xn)(xn − yn)
xn+1 = xn − . (15)
f (xn) − f (yn) JJ II

dla odpowiednio dobranego ciągu yn. J I

• dla ciągu yn = xn−1 jest to zwykła metoda siecznych (9). Strona 74 z 288

• dla yn = xn + f (xn) jest to zwykła metoda Steffensena (14).


• rozważa się yn = xn + γnf (xn) dla odpowiednio dobranego ciągu γn. Powrót

Pełny ekran
Ostatnia metoda gwarantuje szybką zbieżność, jeżeli ciąg γn jest dobrym
przybliżeniem [−f 0(α)]−1, gdzie α jest szukanym pierwiastkiem. Zamknij

Koniec
Wariant (a) metody Steffensena

γn = [−f 0(xn)]−1
yn = xn + γnf (xn)
c 2007 D.Wilczak

f (xn)(xn − yn)
xn+1 = xn −
f (xn) − f (yn) Strona tytułowa

Powyższa metoda zwykle daje bardzo szybką zbieżność. Spis treści

JJ II
Wariant (b) metody Steffensena
J I
γ1 = 1
Strona 75 z 288
yn = xn + γnf (xn)
γnf (xn) Powrót
γn+1 =
f (yn) − f (xn)
f (xn)(xn − yn) Pełny ekran

xn+1 = xn −
f (xn) − f (yn) Zamknij

Powyższa metoda zwykle daje bardzo szybką zbieżność bez konieczności


Koniec

liczenia pochodnej.
6.9. Porównanie metod Newtona i Steffensena.
Eksperyment numeryczny polega na
1
wyznaczeniu miejsca zerowego funkcji
0.5
f (x) = ex − 6. Punkt początkowy dla
c 2007 D.Wilczak
1.6 1.7 1.8 1.9 2
iteracji to x0 = 2. Aby otrzymać wynik z -0.5
dokładnością do 64-bitowej reprezentacji -1
Strona tytułowa

double potrzeba było wykonać -1.5


Spis treści

• 6 iteracji w metodzie stycznych


• 4 iteracje w zmodyfikowanej metodzie stycznych JJ II

• 8 iteracji w “zwykłej” metodzie Steffensena


J I
• 3 iteracje w wariancie (a) metody Steffensena
• 5 iteracji w wariancie (b) metody Steffensena Strona 76 z 288

W każdym przypadku otrzymane rozwiązanie to Powrót

x ≈ 1.791759469228055. Pełny ekran

Zamknij
Rozwiązanie dokładne, to
Koniec

x = ln 6 ≈ 1, 7917594692280550008124773583807 . . .
6.10. Rząd metody numerycznej.

Definicja 6 [8]
Niech Φ : R → R będzie pewną metodą iteracyjną poszukiwania
pierwiastków funkcji f , czyli ciąg iteracji jest wyznaczany przez xn+1 =
c 2007 D.Wilczak

Φ(xn). Oznaczmy przez α szukane miejsce zerowe (czyli f (α) = 0) i


Strona tytułowa
załóżmy, że limn→∞ xn = α.
Spis treści

Liczbę rzeczywistą p > 0 nazywamy rzędem metody numerycznej Φ,


jeżeli JJ II
|xn+1 − α|
lim = C 6= 0.
n→∞ |xn − α|p J I

dla pewnej stałej C. Strona 77 z 288

Powrót
Uwaga:
Powyższa definicja jest czasem przedstawiana w innej formie: rząd metody Pełny ekran
to największa liczba p > 0 spełniająca
Zamknij
p
|xn+1 − α| ≤ C|xn − α| , dla wszystkich n > 0
Koniec
oraz pewnej stałej C > 0.
Uwaga:
Rząd metody numerycznej charakteryzuje szybkość, z jaką podana metoda
znajduje rozwiązanie. Im wyższy rząd metody, tym szybsza (teoretycznie)
c 2007 D.Wilczak

zbieżność ciągu iteracji do szukanego miejsca zerowego funkcji. Strona tytułowa

Przykład 19 Spis treści

Rozważmy dwie metody: Φ1 rzędu 1 oraz Φ2 rzędu 2. Załóżmy dla JJ II

uproszczenia, że w obu przypadkach stała C = 12 . Rząd metody można


J I
interpretować w następujący sposób:
Strona 78 z 288

jeśli xn jest wyznaczone z dokładnością do ε (np. ε = 0.01) to


• metoda rzędu 1 w kolejnym kroku przybliży rozwiązanie z dokładnością Powrót

około C · ε (np. 21 · 0.01 = 0.005).


Pełny ekran
• metoda rzędu 2 w kolejnym kroku przybliży rozwiązanie z dokładnością
około C · ε2 (np. 12 · (0.01)2 = 0.00005). Zamknij

Koniec
Rzędy poznanych metod iteracyjnych

c 2007 D.Wilczak

• metoda bisekcji: rząd 1


Strona tytułowa

• regula falsi: rząd 1


Spis treści

• metoda siecznych: rząd 12 ( 5 + 1) ≈ 1.618034
JJ II

• metoda stycznych: rząd 2


J I

• zmodyfikowana metoda Newtona: rząd 3


Strona 79 z 288

• metoda Steffensena: rząd 2


Powrót

• metoda Steffensena wariant (a): rząd 3


√ Pełny ekran

• metoda Steffensena wariant (b): rząd 1 + 2 ≈ 2.414213


Zamknij

Koniec

c 2007 D.Wilczak

Strona tytułowa

Wyznaczenie rzędu metody bisekcji Spis treści

W metodzie bisekcji 6.3 mamy oszacowanie JJ II

1
|xn+1 − α| ≤ |xn − α|1 J I
2
Stąd rząd metody jest równy 1 ze stałą C = 21 . Strona 80 z 288

Powrót

Pełny ekran

Zamknij

Koniec
Wyznaczenie rzędu regula falsi 6.4
Rozważmy przypadek f 0 > 0 oraz f 00 > 0. W tej sytuacji prawy koniec
odcinka początkowego [a, b] jest stały w iteracjach. Mamy
c 2007 D.Wilczak

f (x n )(b − x n ) f (x n )(b − x n )
|xn+1 − α| = xn −
− α = x n − α −
Strona tytułowa
f (b)
− f (x n ) f (b) − f (x n )
f (x n )(b − x n ) Spis treści
= |xn − α| 1 −

(xn − α)(f (b) − f (xn))
JJ II
0
Z twierdzenia Lagrange’a 24 otrzymujemy f (b) − f (xn) = f (c)(b − xn)
J I
dla pewnego c ∈ (xn, b). Również f (α) = 0. Dlatego

f (x n )(b − x n ) Strona 81 z 288

|xn+1 − α| = |xn − α| 1 −

0

(xn − α)f (c)(b − xn )

Powrót
0

f (xn) − f (α) f (d)
= |xn − α| 1 − = |x n − α| 1 − ,
(xn − α)f 0(c) f 0(c) Pełny ekran

przy czym ponownie skorzystaliśmy z twierdzenia Lagrange’a 24 Zamknij


f (xn) − f (α)
podstawiając = f 0(d) dla pewnego d ∈ (xn, α).
(xn − α) Koniec
Wyznaczenie rzędu regula falsi 6.4, c.d. 0

f (d)
Wykazaliśmy, że |xn+1 −α| = |xn −α| 1 − 0 , dla pewnych c ∈ (xn, b)

f (c)
0
f (d)
i d ∈ (xn, α). Udowodnimy, że 0 ∈ (0, 1).
c 2007 D.Wilczak
f (c)
Założyliśmy, że f 0 > 0, czyli iloraz f 0(d)/f 0(c) > 0 jest dodatni.
Strona tytułowa

Pokażemy, że f 0(d)/f 0(c) < 1. Na mocy twierdzenia Lagrange’a 24


Spis treści

f (b) − f (α) = f 0(e)(b − α),


JJ II

dla pewnego e ∈ (α, b). Mamy J I

f 0(c)(b − xn) = f (b) − f (xn) = f (b) − f (α) + f (α) − f (xn) Strona 82 z 288

= f 0(e)(b − α) + f 0(d)(α − xn) Powrót

> f 0(d)(b − α) + f 0(d)(α − xn) = f 0(d)(b − xn)


Pełny ekran

przy czym nierówność f 0(e) > f 0(d) jest konsekwencją założenia f 00 > 0. Zamknij

Porównując lewą i prawą stronę widzimy, że f 0(c) > f 0(d) i obie te liczby są
Koniec
dodatnie. Dlatego f 0(d)/f 0(c) < 1. Sprawdź pozostałe 3 przypadki!
Wyznaczanie rzędu metody Newtona 6.7
Metoda stycznych jest zdefiniowana przez Φ(x) = x − ff0(x)
(x) . Rozwiniemy w
szereg Taylora funkcję Φ w punkcie α, który jest miejscem zerowym funkcji
f . W tym celu liczymy
c 2007 D.Wilczak

f (α)
Φ(α) = α − Strona tytułowa

f 0(α)
0 [f 0(α)]2 − f (α)f 00(α) f (α)f 00(α) Spis treści

Φ (α) = 1 − =
[f 0(α)]2 [f 0(α)]2
JJ II
00 (f 0(α)f 00(α) + f (α)f 000(α))[f 0(α)]2 − 2f (α)f 0(α)[f 00(α)]2
Φ (α) =
[f 0(α)]4 J I

Podstawiając f (α) = 0 otrzymujemy Strona 83 z 288


00
f (α)
Φ(α) = α, Φ0(α) = 0, Φ00(α) = .
f 0(α) Powrót

Zgodnie z twierdzeniem Taylora 23 mamy przybliżenie


Pełny ekran

0 1 00 f 00(α)
Φ(x) ≈ Φ(α) + Φ (α)(x − α) + Φ (α)(x − α) = α + 0 (x − α)2
2
2 2f (α) Zamknij

00
f (α)
Rząd metody Newtona jest równy 2, gdyż |Φ(x) − α| ≈ 0 (x − α)2 Koniec

2f (α)
Wyznaczenie rzędu metody Steffensena 6.8

c 2007 D.Wilczak

Korzystając z twierdzenia Lagrange’a 24 wnioskujemy, że


Strona tytułowa

f (x + f (x)) − f (x) = f 0(c)(x + f (x) − x) = f 0(c)f (x)


Spis treści

dla pewnego c z przedziału o końcach x i x + f (x). Stąd JJ II

f (xn)2 f (xn)2 f (xn)


xn+1 = xn − = xn − 0 = xn − 0 J I
f (xn + f (xn)) − f (xn) f (c)f (xn) f (c)
Strona 84 z 288
dla pewnego c z przedziału o końcach xn i xn + f (xn). Jeżeli c jest bliskie
xn to widzimy, że metoda Steffensena zachowuje się jak metoda Newtona, Powrót

a więc ma rząd 2. Pełny ekran

Uwaga: powyższe rozumowanie nie jest formalnym dowodem!


Zamknij

Koniec

c 2007 D.Wilczak

Strona tytułowa

Uwagi:
Spis treści

• Wyznaczenie rzędów metod: siecznych oraz Steffensena w wariantach


JJ II
(a) i (b) jest nieco trudniejsze, więc pozostawimy ten fakt bez dowodu
J I
• Rozwijając w szereg Taylora zmodyfikowaną wersję metody Newtona
można pokazać, że jest rzędu 3 – zobacz notebook Mathematica, w Strona 85 z 288

którym jest wyznaczony szereg tej metody. Powrót

Pełny ekran

Zamknij

Koniec

c 2007 D.Wilczak

7. Algorytmy algebry liniowej. Strona tytułowa

Spis treści

Efektywne rozwiązywanie problemów stawianych przez algebrę liniową ma


JJ II
ogromne znaczenie, ze względu na bardzo szeroki wachlarz zastosowań.
J I

Algorytmy algebry liniowej znajdują zastosowanie w grafice komputerowej


Strona 86 z 288
(głównie grafika 3D, animacje), inżynierii. Służą również jako narzędzie do
rozwiązywania o wiele bardziej skomplikowanych problemów nieliniowych. Powrót

Pełny ekran

Zamknij

Koniec
7.1. Wyznacznik macierzy kwadratowej.

Wyznacznik macierzy można policzyć korzystając z następujących wzorów:


• Dla macierzy 1 × 1 wyznacznikiem jest liczba w macierzy, det[a] = a.
c 2007 D.Wilczak

• Dla macierzy 2 × 2 wyznacznik wyliczamy ze wzoru


Strona tytułowa
 
a a
det 11 12 = a11a22 − a12a21 Spis treści
a21 a22
JJ II
Jest to tzw. metoda ‘mnożenia na krzyż’.
• Dla macierzy 3 × 3 korzystamy z metody Sarrusa, czyli J I

a b1 c1 a1 b1
1 Strona 87 z 288

 
    a1b2c3 + b1c2a3 + c1a2b3
a2 b2 c2 a2 b2 = Powrót

−c1b2a3 − a1c2b3 − b1a2c3

 
    Pełny ekran

a3 b3 c3 a3 b3
Zamknij
Wyznacznik liczony tą metodą jest sumą iloczynów wzdłuż linii czerwonych
i różnicą iloczynów wzdłuż linii niebieskich. Koniec

c 2007 D.Wilczak

Strona tytułowa
Definicja 7

Minorem Mij macierzy kwadratowej A będziemy nazywać wyznacznik Spis treści

macierzy kwadratowej rozmiaru (n − 1) × (n − 1) powstałej z macierzy A


JJ II
poprzez wycięcie i-tego wiersza i j-tej kolumny.
J I
 
1 2 3  
2 3
Przykład 20 Jeśli A = 4 5 6 to M21 = det = −6. Strona 88 z 288

8 9
7 8 9
Powrót

Pełny ekran

Zamknij

Koniec

c 2007 D.Wilczak

Wzór Laplace’a
Strona tytułowa

Spis treści

Pierre-Simon Laplace
JJ II
(1749-1827)
Dla macierzy o wymiarze 4 × 4 lub większym wyznacznik macierzy można
J I
policzyć korzystając z następującego twierdzenia
Strona 89 z 288

Twierdzenie 2 (Wzór Laplace’a)


Powrót

Dla dowolnej macierzy kwadratowej n × n, n > 1 zachodzi


Pełny ekran
n
X n
X
det A = air (−1)i+r Mir = ari(−1)i+r Mri,
Zamknij
i=1 i=1

przy czym wybór r ∈ {1, 2, . . . , n} jest zupełnie dowolny. Koniec


Przykład 21 Policz wyznacznik macierzy
 
c 2007 D.Wilczak
1 2 3
A = 2 1 1 Strona tytułowa

0 2 4
Spis treści

Rozwiązanie:
JJ II
Skorzystamy z metody Sarrusa. Zgodnie z podanym wzorem, mamy

1 J I
2 3 1 2

 
  1·1·4+2·1·0+3·2·2 Strona 90 z 288

det A = 2 1 1 2 1 =

−3 · 1 · 0 − 1 · 1 · 2 − 2 · 2 · 4

    Powrót

0 2 4 0 2
Pełny ekran

Stąd det A = −2.


Zamknij

Koniec
 
1 2 1 1
0 2 3 0
 
Przykład 22 Policz wyznacznik macierzy A =  .
1 0 1 1
3 1 1 1
c 2007 D.Wilczak

Rozwiązanie:
Strona tytułowa
Skorzystamy z twierdzenia Laplace’a 2. Stosując wzór Laplace’a
najkorzystniej jest wybrać wiersz lub kolumnę z największą liczbą zer. W Spis treści

podanym przykładzie jest to drugi wiersz (wyróżniony na czerwono).


JJ II

1 2 1 1 J I

0 2 3 0

= 0 · (−1)1+2M21 + 2 · (−1)2+2M22
1 0 1 1

Strona 91 z 288

3 1 1 1
Powrót
+ 3 · (−1)3+2M23 + 0 · (−1)4+2M24

1 1 1 1 2 1 Pełny ekran

= 2 · 1 1 1 − 3 · 1 0 1 = 0 − 3 · 4 = −12

3 1 1 3 1 1 Zamknij

Dwa wyznaczniki 3 × 3 policzono korzystając z metody Sarrusa. Koniec


Uwagi:

• Wzór Laplace’a jest prawdziwy również dla macierzy 2 × 2 oraz 3 × 3, c 2007 D.Wilczak

ale w tych przypadkach jest rzadko stosowany. Strona tytułowa

• Wzór Laplace’a jest łatwy w implementacji (zależność rekurencyjna). Spis treści

W praktyce ma znikome zastosowanie ze względu na bardzo złą


JJ II
złożoność obliczeniową, czyli n!
J I
• Wzór Laplace’a może być stosowany do macierzy złożonych z samych
liczb całkowitych. Inne metody bazujące na modyfikacji macierzy Strona 92 z 288

mogą prowadzić do utraty dokładności wyniku z powodu błędów


Powrót
zaokrągleń. Metoda Laplace’a daje wynik dokładny dla macierzy
całkowitoliczbowych o ile nie nastąpi przepełnienie używanego typu Pełny ekran

całkowitego.
Zamknij

Koniec
Twierdzenie 3 (własności wyznacznika)

(a) jeśli pomnożymy wszystkie elementy wybranego wiersza lub kolumny


macierzy A przez dowolną liczbę α to wyznacznik takiej macierzy będzie

c 2007 D.Wilczak
równy wyznacznikowi macierzy A pomnożonemu przez α
Strona tytułowa
(b) jeśli do wybranego wiersza macierzy A dodamy inny wiersz macierzy
A pomnożony przez dowolną liczbę to wyznacznik tak zmodyfikowanej Spis treści

macierzy będzie równy wyznacznikowi macierzy A


JJ II

(c) jeśli do wybranej kolumny macierzy A dodamy inną kolumnę macierzy


A pomnożoną przez dowolną liczbę to wyznacznik tak zmodyfikowanej J I

macierzy będzie równy wyznacznikowi macierzy A


Strona 93 z 288

(d) wyznacznik iloczynu macierzy jest iloczynem wyznaczników, czyli


Powrót

det(A · B) = det(A) · det(B)


Pełny ekran

(e) zamiana miejscami dwóch wierszy lub dwóch kolumn macierzy powoduje Zamknij

zmianę znaku wyznacznika.


Koniec
Przykłady:
Punkt (a) Twierdzenia 3
   
1 2 2 4
−4 = 2 · det = det
c 2007 D.Wilczak

3 4 3 4
   
3 1 3 3 Strona tytułowa

15 = 3 · det = det
1 2 1 6 Spis treści

JJ II
Punkt (b) Twierdzenia 3
J I

1 2 3 (1 + 2 · 4) (2 + 2 · 5) (3 + 2 · 6)
7 8 9 w1 = w1 + 2w3



7 8 9
Strona 94 z 288
4 5 6 4 5 6
Powrót

Punkt (e) Twierdzenia 3 Pełny ekran


1 2 3 4 5 6
Zamknij
7 8 9 = − 7 8 9

4 5 6 1 2 3 Koniec
Definicja 8
c 2007 D.Wilczak

Macierz G będziemy nazywać trójkątną górną, jeżeli wyrazy tej macierzy


poniżej głównej diagonali są równe zero. Strona tytułowa

Macierz D będziemy nazywać trójkątną dolną, jeżeli wyrazy tej macierzy Spis treści

powyżej głównej diagonali są równe zero.


JJ II

Macierze trójkątne górne i dolne są postaci J I


   
g11 g12 g13 · · · g1n d11 0 0 ··· 0 Strona 95 z 288
0 g
 22 g23 · · · g2n 
 d21 d22 0
 ··· 0  
G=0 0 g33 · · · g3n  D =  d31 d32 d33 ··· 0 
    Powrót
 .. .. ... . . . ...   .. ... ... . . . ... 
 . .   . 
Pełny ekran
0 0 0 · · · gnn dn1 dn2 dn3 · · · dnn
Zamknij

Koniec
7.2. Algorytm Gaussa.


c 2007 D.Wilczak

Strona tytułowa

Spis treści

JJ II

Carl Friedrich Gauss (Gauß) (1777-1855)


J I
Jednym z bardzo efektywnych algorytmów o szerokich zastosowaniach jest
Strona 96 z 288
eliminacja Gaussa. W metodzie tej wykorzystuje się dwa fakty
Powrót
• wyznacznik macierzy trójkątnych liczy się bardzo łatwo - jest to iloczyn
elementów na diagonali głównej (dlaczego?) Pełny ekran

• wykonując operacje na wierszach lub kolumnach macierzy zebrane Zamknij

w Twierdzeniu 3, każdą macierz kwadratową można przekształcić


Koniec

w macierz trójkątną o tym samym wyznaczniku.


Algorytm Gaussa, c.d.
W pierwszym kroku algorytmu modyfikujemy wiersze o numerach 2, . . . , n
macierzy tak, aby pod wyrazem a011 uzyskać same zera.
   
c 2007 D.Wilczak

a11 a12 · · · a1n a11 a12 · · · a1n


a21 a22 · · · a2n   0 a022 · · · a02n  Strona tytułowa
   
 .. ... . . . ...  →  .. ... . . . ... 
 .   .  Spis treści
an1 an2 · · · ann 0 a0n2 · · · a0nn
JJ II
W drugim kroku algorytmu modyfikujemy wiersze o numerach 3, . . . , n
macierzy tak, aby pod wyrazem a022 uzyskać same zera. J I

   
a11 a12 a13 · · · a1n a11 a12 a13 ··· a1n Strona 97 z 288

 0 a0 a0 · · · a02n   0 a022 a023 ··· a02n 


 
 22 23 
Powrót
 0 a32 a033
0
· · · a03n  →  0 0 a0033 ··· 00 
a3n 
  
 .. ... ... . . . ...   .. ... ... ... ... 
 .   .  Pełny ekran

0 a0n2 a0n3 · · · a0nn 0 0 a00n3 ··· a00nn


Zamknij

Procedurę powyższą powtarzamy n − 1 razy i (jeśli nie nastąpią sytuacje


Koniec
wyjątkowe) otrzymujemy macierz trójkątną górną.
Oznaczmy przez a[i] i-ty wiersz macierzy A (jako wektor). Wtedy
k-ty krok algorytmu Gaussa możemy podzielić na następujące etapy

Algorytm 7 (k-ty krok eliminacji Gaussa)


c 2007 D.Wilczak

if(akk == 0)
Strona tytułowa
{
size t p = znajdzElementNiezerowyPodWyrazemKK(); Spis treści

if(p==0) // nie znaleziono żadnego niezerowego elementu


{ JJ II

return 0; // macierz osobliwa, wyznacznik równy zero


J I
} else {
zamienWiersze(p,k); Strona 98 z 288

}
} Powrót

for (size t i = k + 1; i ≤ n; i + +)
aik Pełny ekran
a[i] = a[i] − · a[k];
akk
Zamknij

Cały algorytm Gaussa składa się z co najwyżej n − 1 wywołań powyższego


kroku dla k = 1, . . . , n − 1. Koniec
 
1 2 3 4
2 5 5 1
 
Przykład 23 Policz wyznacznik macierzy A = 
1 5 1 2


c 2007 D.Wilczak
2 2 0 2
Strona tytułowa

Rozwiązanie: Stosujemy algorytm Gaussa i otrzymujemy


Spis treści


1 2 3 4 1 2 3 4 JJ II

2

5 5 1
w2 − 2w1 0

1 −1 −7 w3 − 3w2

J I
1 5 1 2 w3 − w1, w4 − 2w1 0 3 −2 −2 w4 + 2w2

−2 −6 −6

2 2 0 2 0 Strona 99 z 288

Powrót

1 2 3 4 1 2 3 4

Pełny ekran
0 1 −1 −7 w4 + 8w3 0 1 −1 −7

= 1 · 1 · 1 · 132 = 132.
0 0 1 19 0 0 1 19

Zamknij

−8 −20

0 0 0 0 0 132
Koniec
Przykład 24 Korzystając z algorytmu Gaussa policz wyznacznik macierzy
 
0 2 1
A = 1 3 2
2 2 3
c 2007 D.Wilczak

Rozwiązanie: Strona tytułowa

Ponieważ a11 = 0 to musimy dokonać zamiany wierszy macierzy. Szukamy Spis treści

w macierzy wiersza o niezerowym współczynniku w pierwszej kolumnie.


JJ II
Znajdujemy np. wiersz drugi. Zgodnie z algorytmem Gaussa zamieniamy
wiersz drugi i pierwszy a zgodnie z Twierdzeniem 3 punkt (e) musimy J I

zmienić znak. Stąd Strona 100 z 288



0 2 1 1 3 2 1 3 2

1 3 2 = − 0 2 1 w3 − 2w1 Powrót

− 0 2 1
2 2 3 2 2 3 0 −4 −1 Pełny ekran

1 3 2
w3 + 2w2 Zamknij
− 0 2 1 = −2
0 0 1 Koniec
7.3. Złożoność metody Gaussa 7.2

Zbadamy złożoność obliczeniową jednego kroku algorytmu Gaussa.


Załóżmy, że wykonywany krok algorytmu Gaussa dostaje na wejściu macierz
c 2007 D.Wilczak

kwadratową k × k. Jeden krok algorytmu Gaussa wymaga


Strona tytułowa

• k − 1 dzieleń: wyznaczanie współczynników ai,(n−k)/a(n−k),(n−k) Spis treści

• (k−1)(k−1) mnożeń: w każdym z (k−1) wierszy pierwszy współczynnik JJ II


będzie równy zero, używamy mnożenia do wyliczenia pozostałych (k−1)
współczynników J I

• (k−1)(k−1) dodawań: w każdym z (k−1) wierszy używamy dodawania Strona 101 z 288

(odejmowania) do wyliczenia pozostałych (k − 1) współczynników


Powrót

Podsumowując, aby wykonać jeden krok algorytmu Gaussa potrzeba Pełny ekran

• (k − 1) + (k − 1)(k − 1) = k(k − 1) mnożeń lub dzieleń Zamknij

• (k − 1)2 dodawań Koniec


Złożoność metody Gaussa 7.2 c.d.
Algorytm Gaussa składa się z powtórzeń pojedynczych kroków algorytmu
dla macierzy o rozmiarach n × n począwszy, a skończywszy na macierzy
c 2007 D.Wilczak

2 × 2. Dlatego cały algorytm Gaussa wymaga


n Strona tytułowa
X 1
• k(k − 1) = n(n2 − 1) mnożeń lub dzieleń
3 Spis treści
k=2
n
X 1 JJ II
• (k − 1)2 = n(2n − 1)(n − 1) dodawań
6
k=2 J I

Uwaga: Strona 102 z 288

Aby policzyć wyznacznik macierzy za pomocą metody Gaussa potrzeba


jeszcze pomnożyć elementy przekątnej w otrzymanej macierzy trójkątnej Powrót

górnej - dodatkowe (n − 1) mnożeń Pełny ekran

Wniosek: Zamknij
Złożoność algorytmu Gaussa (ok. 31 n3 mnożeń i dodawań) jest istotnie
mniejsza niż metody Laplace’a (n!). Koniec
7.4. Metoda Crouta

Metoda Crouta polega na rozkładzie macierzy na czynniki trójkątne.


Dysponując takim rozkładem łatwo można liczyć wyznacznik macierzy,

c 2007 D.Wilczak
wyznaczać macierz odwrotną oraz rozwiązywać układy równań liniowych.
Strona tytułowa
Twierdzenie 4
Jeśli A = [aij ]i,j=1,...,n jest macierzą kwadratową n × n taką, że Spis treści


a11 . . . a1k
. . JJ II
.. . . ... 6= 0,

dla k = 1, . . . , n
ak1 . . . akk J I

to istnieją macierze trójkątne D i G postaci Strona 103 z 288

   
d11 0 0 · · · 0 1 g12 g13 ··· g1n Powrót

 21 22 0 · · · 0  ···
d d
0 1 g23 g2n
 

D =  d31 d32 d33 · · · 0  G = 0 0 1 ··· g3n
    Pełny ekran
 .. ... ... . . . ...   .. ... ... ... ... 
 .  . 
Zamknij
dn1 dn2 dn3 · · · dnn 0 0 0 ··· 1
Koniec
takie, że A = D · G.
Metoda Crouta c.d.
Metoda wyznaczania elementów macierzy D i G pochodzi od Crouta [2]

c 2007 D.Wilczak
j−1
X
dij = aij − dik gkj , dla i = j, j + 1, . . . , n Strona tytułowa

k=1
j−1
! (16)
X Spis treści

gji = aji − djk gki /djj , dla i = j + 1, j + 2, . . . , n


k=1 JJ II

J I
Wniosek:
Dysponując rozkładem trójkątnym macierzy łatwo policzyć jej wyznacznik. Strona 104 z 288
Jeśli A = D · G to na podstawie Twierdzenia 3 punkt (d)
Powrót
det A = det(D · G) = det D · det G.
Pełny ekran
Ponieważ macierze D i G są trójkątne, to ich wyznaczniki są iloczynami
elementów na przekątnej głównej, czyli det G = 1 oraz det D = Zamknij

d11d22 · · · dnn.
Koniec
7.5. Złożoność metody Crouta 7.4

Koszt rozkładu macierzy na czynniki trójkątne to koszt policzenia


c 2007 D.Wilczak

współczynników dij , gji macierzy D i G określonych wzorami (16).


Strona tytułowa

Przy ustalonym i koszt wyliczenia jednego współczynnika dij to Spis treści

• j − 1 dodawań JJ II

• j − 1 iloczynów J I

Stąd koszt wyznaczenia wszystkich współczynników macierzy D to Strona 105 z 288

n X n
X 1
• (j − 1) = n(n2 − 1) dodawań Powrót

j=1 i=j
6
Pełny ekran
n X n
X 1
• (j − 1) = n(n2 − 1) mnożeń
j=1 i=j
6 Zamknij

Koniec
Złożoność metody Crouta 7.4 c.d.
Przy ustalonym i koszt wyznaczenia współczynnika gji to

• j − 1 dodawań

c 2007 D.Wilczak

• j mnożeń
Strona tytułowa

Stąd koszt wyznaczenia wszystkich współczynników macierzy G to


n X n Spis treści
X 1
• (j − 1) = n(n − 1)(n − 2) dodawań
j=1 i=j+1
6 JJ II

n
n X
X 1 J I
• j = n(n2 − 1) mnożeń
j=1 i=j+1
6
Strona 106 z 288

Łączny koszt rozkładu na czynniki trójkątne to suma kosztów wyznaczenia


Powrót
macierzy D i G, czyli
1 1 1
• n(n2 − 1) + n(n − 1)(n − 2) = n(n − 1)(2n − 1) dodawań
Pełny ekran

6 6 6
1 1 1 Zamknij

• n(n2 − 1) + n(n2 − 1) = n(n2 − 1) mnożeń


6 6 3 Koniec

Porównaj złożoność metody Gaussa 7.3 (ten sam)


 
2 6 4
Przykład 25 Znajdź rozkład na czynniki trójkątne macierzy 3 5 4
2 7 6
Rozwiązanie:
c 2007 D.Wilczak

Krok I: j = 1. Zgodnie z podanymi wzorami (16) Strona tytułowa

P0
d11 = a11 − k=1 d1k gk1 = a11 = 2 Spis treści

P0 JJ II
d21 = a21 − k=1 d2k gk1 = a21 = 3
J I
d31 = a31 − 0k=1 d3k gk1 = a31 = 2
P

  Strona 107 z 288


P0
g12 = a12 − k=1 d2k gk1 /d11 = 3
Powrót
 P0 
g13 = a13 − k=1 d3k gk1 /d11 = 2 Pełny ekran

   
2 0 0 1 3 2 Zamknij

Wyznaczone fragmenty macierzy to D = 3 ∗ ∗  , G = 0 ∗ ∗ 


2 ∗ ∗ 0 ∗ ∗ Koniec
Metoda Crouta, Przykład 25 c.d.
Krok II: dla j = 2 wyznaczamy elementy macierzy d22, d32 oraz g23.
Zgodnie z podanymi wzorami (16)
P1
c 2007 D.Wilczak

d22 = a22 − k=1 d2k gk2 = a22 − d21g12 = 5 − 3 · 3 = −4


Strona tytułowa
P1
d32 = a32 − k=1 d3k gk2 = a32 − d31g12 = 7 − 2 · 3 = 1
 P1  4−3·2 1 Spis treści

g23 = a23 − k=1 d2k gk3 /d22 = (a23 − d21g13) /d22 = =


−4 2 JJ II
   
2 0 0 1 3 2
J I
Wyznaczone fragmenty macierzy to D = 3 −4 0 , G = 0 1 12 
2 1 ∗ 0 0 ∗ Strona 108 z 288

Krok III: dla j = 3 wyznaczamy element d33 i otrzymujemy Powrót

P2 1 3
d33 = a33 − k=1 d3k gk3 = a33 − d31 g13 − d32 g23 = 6 − 2 · 2 − 1 · = Pełny ekran

2 2
    Zamknij
2 0 0 1 3 2
Końcowy rozkład trójkątny to D = 3 −4 0 , G = 0 1 12  Koniec

2 1 32 0 0 1
Ćwiczenie:
Wyznacz rozkład trójkątny macierzy
c 2007 D.Wilczak

 
1 2 2 1 Strona tytułowa

1 1 1 1
 
A= Spis treści
2 2 1 1

2 1 2 2 JJ II

J I

Odpowiedź: Strona 109 z 288

   
1 0 0 0 1 2 2 1 Powrót

1 −1 0 0 0 1 1 0
   
D= , G= Pełny ekran

2 −2 −1 0 0 0 1 1

2 −3 1 −1 0 0 0 1 Zamknij

Koniec
Uwagi:

c 2007 D.Wilczak

• rozkład trójkątny macierzy jest często nazywany rozkładem LU


Strona tytułowa

• algorytm Crouta często podaje się w zmodyfikowanej formie tak, aby na


Spis treści
wyjściu macierz dolna trójkątna zawierała jedynki na przekątnej
JJ II
• rozkład trójkątny macierzy często przechowuje się w pamięci komputera
w postaci jednej macierzy J I

 
d11 g12 g13 · · · g1n Strona 110 z 288

d
 21 d22 g23 · · · g2n  
... ...  Powrót
d31 d32 d33


 .. ... ... ... g
 .

(n−1),n  Pełny ekran

dn1 dn2 dn3 · · · dnn


Zamknij

Koniec
7.6. Macierze symetryczne - metoda Banachiewicza* [9].
* - rozdział nadobowiązkowy
Dla macierzy symetrycznych dodatnio określonych stosuje się metodę
Banachiewicza, spotykaną w literaturze pod nazwą metody pierwiastków
c 2007 D.Wilczak

kwadratowych.
Strona tytułowa

Definicja 9 Spis treści

Macierz A nazywamy macierzą symetryczną, jeżeli A = AT , gdzie AT JJ II


oznacza macierz transponowaną.
J I

Definicja 10 Strona 111 z 288

Macierz kwadratową A rozmiaru n × n nazywamy dodatnio określoną Powrót

jeżeli spełnione są następujące warunki


Pełny ekran
n
• dla każdego wektora x ∈ R iloczyn skalarny hAx, xi ≥ 0
Zamknij
• jeśli hAx, xi = 0 to x = 0
Koniec
Uwaga:
Każda macierz symetryczna dodatnio określona ma wszystkie wartości
własne dodatnie.

c 2007 D.Wilczak
Jeśli λ ∈ R jest wartością własną A (w macierzy symetrycznej wszystkie
wartości własne są rzeczywiste) a v wektorem własnym dla λ to Strona tytułowa

hAv, vi = λkvk2. Spis treści

Aby był spełniony warunek z definicji hAv, vi > 0 to λ > 0. JJ II

J I

Twierdzenie 5 (Kryterium Sylvestera) Strona 112 z 288

Macierz symetryczna A = [aij ]i,j=1,...,n jest dodatnio określona wtedy i tylko Powrót

wtedy, gdy
a11 · · · a1k Pełny ekran
. .
.. . . ... > 0


ak1 · · · akk Zamknij

dla wszystkich k = 1, . . . , n. Koniec


Opis metody Banachiewicza
Jeśli macierz A jest symetryczna i dodatnio określona (zobacz Def. 9, 10) to
metoda Banachiewicza pozwala na wyznaczenie macierzy trójkątnej dolnej
D takiej, że D · DT = A.
c 2007 D.Wilczak

Strona tytułowa
Wyrazy macierzy D są dane następującymi wzorami

d11 = a11 Spis treści

dj1 = aj1/d11, dla j = 2, 3, . . . , n JJ II


q
dii =
Pi−1 2
aii − k=1 dik , dla i = 2, 3, . . . , n (17)
J I

1
 Pi−1  i = 2, 3, . . . , n
dji = dii aji − k=1 djk dik , dla Strona 113 z 288
j = i + 1, i + 2, . . . , n
Powrót

Pełny ekran
Uwaga:
W zastosowaniach numerycznych zaleca się używanie Zamknij
• metody Banachiewicza dla macierzy symetrycznych dodatnio określonych
(dwa razy szybsza niż metoda Crouta) Koniec

• metody Crouta 7.4 dla pozostałych macierzy kwadratowych


Koszt metody Banachiewicza
Koszt metody Banachiewicza to koszt policzenia współczynników dij

c 2007 D.Wilczak
macierzy D określonych wzorami (17).
Strona tytułowa

Przy ustalonym i koszt wyliczenia jednego współczynnika dij to


Spis treści

• i − 1 mnożeń (tyle samo dodawań)


JJ II
Ponieważ wystarczy liczyć tylko elementy na przekątnej i pod nią, stąd koszt
J I
wyznaczenia wszystkich współczynników macierzy D (liczba mnożeń )
Strona 114 z 288

n
X n
X Xn
(n−i)(i−1) = n (i−1)− i(i−1) ≈ (1/2)n3−(1/3)n3 = (1/6)n3 Powrót

i=1 i=1 i=1


(18) Pełny ekran

• n-pierwiastkowań Zamknij

• n-dzieleń
Koniec
 
3 3 5

c 2007 D.Wilczak
Przykład 26 Znajdź rozkład trójkątny macierzy A = 3 4 9 
5 9 28 Strona tytułowa

Rozwiązanie:
Spis treści

Macierz A jest symetryczna. Na mocy Kryterium Sylvestera 5 jest dodatnio


JJ II
określona, gdyż
J I
|a11| = 3 > 0

a11 a12
= 3 3 = 3 > 0 Strona 115 z 288


a21 a22 3 4
Powrót
a11 a12 a13 3 3 5

a21 a22 a23 = 3 4 9 = 11 > 0 Pełny ekran

a31 a32 a33 5 9 28
Zamknij

Koniec
Przykład 26 c.d.
Zgodnie z podanymi wzorami (17) obliczamy
√ √
d11 = a11 = 3
c 2007 D.Wilczak

d21 = a21/d11 = 3
5 Strona tytułowa

d31 = a31/d11 = √
3 Spis treści
q √
d22 = a22 − d221 = 4 − 3 = 1
JJ II
1 5 √
d32 = (a32 − d31d21) = 9 − √ · 3=4
d22 3 J I
r r
25 11
q
d33 = a33 − d231 − d232 = 28 − − 16 = Strona 116 z 288
3 3
Ostatecznie szukana macierz to Powrót

√ 
√3 0 0 Pełny ekran

D =  3 1 q0 
 
Zamknij
√5 4 11
3 3
Koniec

Łatwo można sprawdzić, że D · DT = A - zobacz notebook Mathematica.


7.7. Obliczanie macierzy odwrotnej.

Definicja 11
Załóżmy, że A jest macierzą kwadratową n × n. Macierz kwadratową B
będziemy nazywać macierzą odwrotną do A, jeżeli
c 2007 D.Wilczak

A · B = B · A = In , Strona tytułowa

gdzie In oznacza macierz jednostkową Spis treści

 
JJ II
1 0 ··· 0
0 1 ··· 0
 
In =  .. .. ... ...  J I
. . 
0 0 ··· 1 Strona 117 z 288

Każda macierz kwadratowa ma co najwyżej jedną macierz odwrotną. Jeżeli Powrót

A ma odwrotną, to będziemy ją nazywać macierzą odwracalną a jej


jedyną odwrotną będziemy oznaczać A−1. Pełny ekran

Zamknij
Twierdzenie 6
Macierz kwadratowa A jest odwracalna wtedy i tylko wtedy, gdy det A 6= 0. Koniec
Wyznaczanie macierzyodwrotnej - metoda “szkolna”
a11 · · · a1n
Jeżeli A =  ... . . . ...  jest macierzą kwadratową oraz det A 6= 0, to
an1 · · · ann
wyrazy macierzy odwrotnej
c 2007 D.Wilczak

 0 0

a11 · · · a1n Strona tytułowa

A =  ... . . . ... 
−1

a0n1 · · · a0nn Spis treści

można wyznaczyć korzystając z prostych wzorów JJ II

Mji J I
a0ij = (−1)i+j , dla i, j = 1, . . . , n
det A
Strona 118 z 288

gdzie Mij to minory macierzy (zobacz Definicja 7).


Powrót

Uwaga:
Pełny ekran
W obliczeniach numerycznych użyteczność tego wzoru jest znikoma, gdyż
wyznaczenie macierzy odwrotnej przy jego użyciu wymaga policzenia Zamknij

• jednego wyznacznika n × n, n2 wyznaczników (n − 1) × (n − 1)


• razem 13 n5 mnożeń (wyznacznik liczony metodą eliminacji Gaussa ) Koniec
Odwracanie macierzy trójkątnych.
Macierze trójkątne można relatywnie łatwo odwrócić. Dokładniej, jeśli
   
d11 0 · · · 0 g11 g12 · · · g1n

c 2007 D.Wilczak
 d21 d22 · · · 0   0 g22 · · · g2n 
   
D =  .. ... . . . ...  G =  .. .. . .
 .  . . . ... 

 Strona tytułowa

dn1 dn2 · · · dnn 0 0 · · · gnn


Spis treści

to macierze odwrotne też są macierzami trójkątnymi


    JJ II
0 0 0 0
d11 0 · · · 0 g11 g12 ··· g1n
 0
 d21 d022 · · · 0  0
 0 g22 ··· 0 
g2n J I
 
−1 −1
D =  .. G =  .. ..

... . . . ...  . . . ... 
 .   . .  Strona 119 z 288
d0n1 d0n2 · · · d0nn 0 0 0
· · · gnn
Powrót

o wyrazach
Pełny ekran
d0ii = 1/dii
d0ij −d0ii i−1 0
P
= k=j dik dkj , dla i = 1, 2, . . . , n, j = 1, 2, . . . , i − 1 Zamknij

gii0 = 1/gii
0
−gii0 i−1 0
P
gji = k=j gki gjk , dla i = 1, 2, . . . , n j = 1, 2, . . . , i − 1 Koniec
Złożoność obliczeniowa odwracania macierzy trójkątnej.
Aby odwrócić macierz trójkątną dolną (lub górną) musimy wyznaczyć
1
1 + 2 + . . . + n = n(n + 1) współczynników
2
c 2007 D.Wilczak
 
0
d11 0 · · · 0
 0 Strona tytułowa
 d21 d022 · · · 0 

 .. ... . . . ... 
 .  Spis treści

d0n1 d0n2 · · · d0nn


JJ II

Koszt obliczenia współczynnika na przekątnej d0ii to jeden iloczyn.


J I
Koszt obliczenia współczynników pod przekątną d0ij to
Strona 120 z 288
• i − j − 1 dodawań
Powrót
• i − j + 1 mnożeń
Pełny ekran
Podsumowując, koszt odwrócenia macierzy trójkątnej to
Pn Pi−1
• i=2 j=1(i − j − 1) = 16 n(n − 1)(n − 2) dodawań
Zamknij

Pn Pi−1
• n + i=2 j=1(i − j + 1) = 16 n(n + 1)(n + 2) mnożeń Koniec
Odwracanie macierzy przez rozkład Crouta.
Jeśli A jest macierzą dowolną spełniającą założenia metody Crouta 7.4 to
macierz odwrotną można wyznaczyć w następujący sposób.

c 2007 D.Wilczak

Algorytm 8 (Odwracanie macierzy metodą Crouta) Strona tytułowa

MatrixType inverseMatrix(const MatrixType &A)


{ Spis treści

MatrixType D, G;
JJ II
{D, G} = CroutDecomposition(A);
D = computeInverseOfLowerTriangleMatrix(D); J I
G = computeInverseOfUpperTriangleMatrix(G);
return G · D; Strona 121 z 288

}
Powrót

Uwaga:
Pełny ekran
Powyższy algorytm wykorzystuje następującą własność odwracania iloczynu
macierzy kwadratowych Zamknij

(D · G)−1 = G−1 · D−1


Koniec

c 2007 D.Wilczak

Koszt odwracania macierzy przez rozkład Crouta. Strona tytułowa

Na ten koszt składają się


Spis treści

• koszt rozkładu Crouta - 13 n3 + O(n2)


JJ II

• koszt odwracania D i G - 2 · 61 n3 + O(n2)


J I

• koszt mnożenia G−1 · D−1, biorąc pod uwagę mnożenia bez czynników
Strona 122 z 288
zerowych - 31 n3 + O(n2)
Powrót
Razem n3 + O(n2) mnożen.
Pełny ekran

Zamknij

Koniec
7.8. Układy równań liniowych.

Twierdzenie 7 (Cramera)

Jeżeli macierz kwadratowa A = [aij ]i,j=1,...,n jest nieosobliwa (tj. det A 6= 0)


c 2007 D.Wilczak

to dla każdego B = (b1, . . . , bn) ∈ Rn równanie


Strona tytułowa

A·X =B
Spis treści

ma dokładnie jedno rozwiązanie dane wzorem


JJ II
−1
X=A ·B
J I
Wektor X = (x1, . . . , xn) można również wyznaczyć za pomocą formuł
Strona 123 z 288
Wk
xk = , dla k = 1, . . . , n (19)
det A Powrót

gdzie
a11 · · · a1,k−1 b1 a1,k+1 · · · a1n Pełny ekran

Wk = ... . . . ... ... ... . . . ...



(20)
Zamknij
an1 · · · an,k−1 bn an,k+1 · · · ann
dla k = 1, . . . , n. Koniec
Uwaga:
Metoda rozwiązywania układów równań liniowych określona wzorami (19-

c 2007 D.Wilczak
20) jest mało użyteczna w zastosowaniach numerycznych. Rozwiązanie
układu przy jej pomocy wymaga policzenia (n + 1) wyznaczników n × n. Strona tytułowa

Koszt 31 n4 + O(n3) mnożeń.


Spis treści

Uwaga: JJ II

Kolejna możliwość wyznaczenia rozwiązania układu równań liniowych, to


J I
skorzystanie z wzoru
X = A−1 · B. Strona 124 z 288

Aby odwrócić macierz A można posłużyć się Algorytmem 8 Crouta. Koszt


Powrót
n3 + O(n2) mnożeń
Pełny ekran

W praktyce nie stosuje się metod wykorzystujących odwracanie macierzy,


gdyż jest to operacja kosztowna i nie jest numerycznie stabilna. Zamknij

Koniec
Zastosowanie algorytmu Gaussa do układów równań liniowych
Wykonując operacje elementarne na macierzy powstałej przez doklejenie
do macierzy A kolumny wektora B możemy sprowadzić układ do
c 2007 D.Wilczak

równoważnego
Strona tytułowa
     
a11 a12 ··· a1n b1 a111 a112 ··· a1n 1
b11
Spis treści
a21 a22 ··· a2n   b2   0 a122 ··· a12n   b12 
     
 .. ... ... ...   ...  →  .. ... ... ...   ... 
 .    .   JJ II
an1 an2 ··· ann bn 0 a1n2 ··· a1nn b1n
J I

gdzie indeks górny 1 to numer kroku algorytmu.


Strona 125 z 288
W drugim kroku algorytmu przekształcamy wiersze od numeru 2 do n
   Powrót

1 1 1
 
1 a211 a212 a213 2
· · · a1n b21
a11 a12 · · · a1n b1  0 a2 a 2
22 23 · · · a22n 
  b22 
 
 0 a122 · · · a12n   b12 
     Pełny ekran
2
→ 0 0 a · · · a23n   b23 
  
 .. .
.. . . .
. . ..   ..  33
 .
   
 .. . . . . . ... 
 . .
. .
.   ... 
  Zamknij

0 a1n2 · · · a1nn b1n


0 0 a2n3 · · · a2nn b2n
Koniec
Algorytm Gaussa w układach równań liniowych, c.d.
Powtarzając powyższy krok (n − 1) razy sprowadzamy podany układ do
równoważnego z macierzą trójkątną górną
c 2007 D.Wilczak

  
n−1 n−1 n−1 n−1
a a12 · · · a1n b1
 11 Strona tytułowa

 0 an−1 · · · a n−1
b n−1 
 
22 2n   2 
 .. .
.. . . . ..   ... 
.
 .
  Spis treści

0 0 · · · an−1nn bn−1
n
JJ II

Rozwiązanie układu z nieosobliwą macierzą trójkątną górną jest już szybkie.


J I
Współrzędne wektora rozwiązania X = (x1, x2, . . . , xn) to
! Strona 126 z 288
n
1 X
xk = n−1 bn−1 k − an−1
ki xi , dla k = n, n − 1, . . . , 1
akk i=k+1
Powrót

Uwaga: Pełny ekran

Zamiana kolejności wierszy podczas przekształcania macierzy do macierzy


Zamknij
trójkątnej nie ma wpływu na rozwiązanie. Zamiana wierszy oznacza tylko
zamianę kolejności równań. Koniec

c 2007 D.Wilczak

Strona tytułowa

Koszt algorytmu eliminacji Gaussa dla układu równań liniowych


Spis treści

• Koszt eliminacji (sprowadzenia do układu trójkątnego) - 13 n3 + O(n2)


JJ II
mnożeń
J I
1 2
• koszt wyliczenia xk wynosi 2n + O(n) mnożeń i dzieleń.
Strona 127 z 288
1 3 2
Zatem koszt całego procesu to 3n + O(n ) mnożeń i dzieleń
Powrót

Pełny ekran

Zamknij

Koniec
Algorytm Gaussa w układach równań liniowych, c.d.

• Algorytm Gaussa można wykorzystać do jednoczesnego rozwiązania


c 2007 D.Wilczak

układu równań z wieloma wyrazami wolnymi, czyli


Strona tytułowa

A · X1 = B1, . . . , A · Xk = Bk , Spis treści

dla pewnego k ≥ 1. Stosujemy powyższy algorytm do układu JJ II

  
a11 · · · a1n b11 · · · b1k J I
 ... . . . ...   ... . . . ... 
an1 · · · ann bn1 · · · bnk Strona 128 z 288

• Algorytm Gaussa może być wykorzystany do wyznaczenia macierzy Powrót

odwrotnej – wystarczy rozwiązać n układów równań dla Pełny ekran

i
z}|{ Zamknij
Bi = (0, · · · , 0, 1 , 0, · · · , 0), dla i = 1, . . . , n.
Koniec
Przykład 27 Rozwiąż układ
    
1 1 1 2 x1 1
1 2 1 1 x2 1
    
  =  
c 2007 D.Wilczak
1 1 2 2 x3 0

1 2 1 2 x4 1 Strona tytułowa

Rozwiązanie: Stosujemy algorytm Gaussa do macierzy [A, B], czyli Spis treści
     
1 1 1 2 1 1 1 1 2 1 1 1 1 2 1 JJ II
1 2 1 1 1 0 1 0 −1 0  0 1 0 −1 0 
     
 →  →
1 1 2 2 0 0 0 1 0 −1 0 0 1 0 −1
 
J I

1 2 1 2 1 0 1 0 0 0 0 0 0 1 0
Strona 129 z 288

Stąd rozwiązanie układu to


Powrót

x4 = 0 Pełny ekran

x3 = −1
Zamknij

x2 = x4 = 0
Koniec
x1 = 1 − 2x4 − x3 − x2 = 2
7.9. Algorytm ortonormalizacji Grama-Schmidta.

Definicja 12
Układ wektorów X1, . . . , Xk , k ≥ 1 nazywamy ortonormalnym jeżeli

c 2007 D.Wilczak

• kXik = 1 dla i = 1, . . . , k
Strona tytułowa
• iloczyn skalarny hXi; Xj i = 0 dla i, j = 1 . . . , k oraz i 6= j
Spis treści

Definicja 13 JJ II

Macierz Qm×n, m ≥ n nazywamy ortogonalną jeżeli QT · Q = In.


J I

Strona 130 z 288

Twierdzenie 8
Jeśli macierz Q jest ortogonalna, to wiersze i kolumny tej macierzy tworzą Powrót

układy wektorów ortonormalnych.


Pełny ekran

Jeżeli dodatkowo macierz Qn×n jest kwadratowa, to Q · QT = In, czyli QT


Zamknij
jest macierzą odwrotną do Q. Macierz kwadratową ortogonalną będziemy
nazywać macierzą unitarną. Koniec
Algorytm Grama-Schmidta, c.d.
Zadaniem algorytmu ortonormalizacji jest przekształcenie układu wektorów
X1, X2, . . . , Xk w układ wektorów Y1, Y2, . . . , Yk spełniający następujące

c 2007 D.Wilczak

kryteria
Strona tytułowa

• podprzestrzenie liniowe rozpięte na początkowych wektorach są równe


Spis treści
L(X1, . . . , Xi) = L(Y1, . . . , Yi), dla i = 1, . . . , k
JJ II
• jeśli {Xi1 , . . . , Xij }, j ≥ 1 są liniowo niezależne, to {Yi1 , . . . , Yij }
tworzą układ ortonormalny J I

Strona 131 z 288

Wektory Yi, są wyznaczane za pomocą następujących wzorów


Powrót

Xi − i−1
P
j=1 hXi ; Yj i Yj
Yi = Pi−1 dla i = 1, . . . , k (21)
kXi − j=1 hXi; Yj i Yj k Pełny ekran

Pi−1 Zamknij
o ile Xi − j=1 hXi; Yj i Yj 6= 0.
Pi−1
Jeżeli Xi − j=1 hXi; Yj i Yj = 0 to przyjmujemy Yi = 0. Koniec
Algorytm Grama-Schmidta, c.d.
Pokażemy, że jeśli pierwszych n wektorów tworzy układ ortonormalny oraz
Yn+1 6= 0 to wektory {Y1, . . . , Yn+1} również tworzą układ ortonormalny.

c 2007 D.Wilczak
Ustalmy p ∈ {1, . . . , n} takie, że Yp 6= 0. Wtedy
Strona tytułowa
* n
+
X
C hYp; Yn+1i = Yp; Xn+1 − hXn+1; Yj i Yj
Spis treści
j=1
* n
+
JJ II
X
= hYp; Xn+1i − Yp; hXn+1; Yj i Yj
j=1 J I
= hYp; Xn+1i − hYp; hXn+1; Ypi Ypi
Strona 132 z 288
= hYp; Xn+1i − hYp; Xn+1i hYp; Ypi = 0
Pn Powrót

gdzie stała C = kXn+1 − j=1 hXn+1 ; Yj i Yj k. Zatem wszystkie wektory


{Y1, . . . , Yn+1} są wzajemnie prostopadłe. Pełny ekran

Zamknij

Warunek L(X1, . . . , Xi) = L(Y1, . . . , Yi), dla i = 1, . . . , k jest spełniony,


Koniec
gdyż wektory Yi są określone jako kombinacja liniowa wektorów X1, . . . , Xi.
Przykład 28 Przekształć w układ ortonormalny wektory

X1 = (2, 0, 0), X2 = (2, 1, 3), X3 = (2, 1, 1)

Rozwiązanie: Stosując wzory ortonormalizacji (21) liczymy


c 2007 D.Wilczak

X1 (2, 0, 0) (2, 0, 0) Strona tytułowa


Y1 = = = = (1, 0, 0)
kX1k k(2, 0, 0)k 2
Spis treści

X2 − hX2; Y1i · Y1 (2, 1, 3) − h(2, 1, 3); (1, 0, 0)i · (1, 0, 0)


Y2 = = JJ II
kX2 − hX2; Y1i · Y1k k(2, 1, 3) − h(2, 1, 3); (1, 0, 0)i · (1, 0, 0)k
√ √ !
(2, 1, 3) − (2, 0, 0) (0, 1, 3) (0, 1, 3) 10 3 10 J I
= = = √ = 0, ,
k(2, 1, 3) − (2, 0, 0)k k(0, 1, 3)k 10 10 10
Strona 133 z 288

X3 − hX3; Y1i · Y1 − hX3; Y2i · Y2 Powrót


Y3 =
kX3 − hX3; Y1i · Y1 − hX3; Y2i · Y2k
(2, 1, 1) − (2, 0, 0) − (0, 25 , 65 )
Pełny ekran

=
(2, 1, 1) − (2, 0, 0) − (0, 2 , 6 )

Zamknij
5 5
3 1 3 1
√ √ !
(0, 5 , − 5 ) (0, 5 , − 5 ) 3 10 10
=
(0, 3 , − 1 )
= √ = 0, , − Koniec

5 5
10 10 10
5
Koszt obliczeń ortonormalizacji.
Załóżmy, że na wejściu algorytmu jest dana baza {X1, . . . , Xn}. Po

c 2007 D.Wilczak
ortonormalizacji otrzymujemy bazę ortonormalną {Y1, . . . , Yn}.
Strona tytułowa

Koszty cząstkowe:
• koszt policzenia iloczynu skalarnego to n mnożeń oraz n − 1 dodawań Spis treści

• koszt policzenia normy wektora to n mnożeń, n − 1 dodawań oraz jedno


JJ II
pierwiastkowanie
• koszt policzenia iloczynu wektora przez liczbę to n mnożeń J I
• koszt dodania wektorów, to n dodawań
Strona 134 z 288

Koszt policzenia wektora Yi to zgodnie z (21): Powrót

• jedna norma
Pełny ekran
• i − 1 iloczynów skalarnych
• i iloczynów wektora przez liczbę (w tym iloraz przez normę) Zamknij

• i − 1 dodawań wektorów
Koniec
Koszt policzenia wektora Yi w ortonormalizacji to:
iloczyn skalarny
iloczyn przez liczbę
norma
z }| { z}|{
• n + (i − 1)n + in mnożeń
z}|{

c 2007 D.Wilczak

• n − 1 + (i − 1)(n − 1) + (i − 1)(n − 1) dodawań Strona tytułowa

• jedno pierwiastkowanie Spis treści

JJ II

Koszt całej ortonormalizacji bazy to:


J I

n
X
• (n + (i − 1)n + in) = n3 + O(n2) mnożeń Strona 135 z 288

i=1
Powrót
Xn
• (n − 1 + (i − 1)(n − 1) + (i − 1)(n − 1)) = n3 + O(n2) dodawań Pełny ekran
i=1
• n pierwiastkowań Zamknij

Koniec
7.10. Rozkład QR macierzy.
Rozkład QR macierzy A polega na konstrukcji macierzy ortogonalnej Q
(zobacz 7.9) oraz trójkątnej górnej R takiej, że A = Q·R. Istnienie rozkładu
QR jest gwarantowane przez następujące
c 2007 D.Wilczak

Twierdzenie 9 (na podstawie [5]) Strona tytułowa

Każdą macierz Am×n, m ≥ n, posiadającą k ≤ n liniowo niezależnych


Spis treści
kolumn można przedstawić w postaci iloczynu
JJ II
A = Q · R,
J I
gdzie
• Q = Qm×k jest macierzą ortogonalną Strona 136 z 288

• R = Rk×n jest macierzą trójkątnną górną. Powrót

Pełny ekran

Wniosek:
Jeżeli An×n jest nieosobliwą macierzą kwadratową, to istnieje macierz Zamknij

ortogonalna Qn×n i istnieje macierz trójkątna górna Rn×n takie, że A =


Koniec
Q · R.
Konstrukcja rozkładu QR
Macierz Q rozkładu uzyskujemy za pomocą algorytmu ortonormalizacji 7.9

c 2007 D.Wilczak

kolumn macierzy A.
Strona tytułowa

Macierz R tworzą współczynniki rozwinięcia kolumn macierzy A w bazie


Spis treści
T
jaką tworzą kolumny macierzy Q, czyli R = Q A.
JJ II

Uwaga: J I
Jeżeli {u1, . . . , un} jest bazą ortonormalną, to dla każdego wektora x ∈ Rn
zachodzi Strona 137 z 288

x = hx; u1i u1 + hx; u2i u2 + · · · + hx; uni un,


Powrót
czyli wektor x ma w bazie {u1, . . . , un} współrzędne
Pełny ekran
(hx; u1i , hx; u2i , . . . , hx; uni)
Zamknij

Koniec
 
2 1 2
Przykład 29 Znajdź rozkład QR macierzy A = 0 1 1
0 2 1
Rozwiązanie: macierz Q wyznaczamy korzystając z algorytmu
c 2007 D.Wilczak

ortonormalizacji (21) dla kolumn macierzy A. Jeśli przez Qi oznaczymy


Strona tytułowa

i-tą kolumnę macierzy Q to


Spis treści
A1
Q1 = = (1, 0, 0)
kA1k JJ II
√ √ !
A2 − hA2; Q1i Q1 (0, 1, 2) 5 2 5
Q2 = = = 0, , J I
kA2 − hA2; Q1i Q1k k(0, 1, 2)k 5 5
√ √ !
A3 − hA3; Q1i Q1 − hA3; Q2i Q2 2 5 5 Strona 138 z 288

Q3 = = 0, ,−
kA3 − hA3; Q1i Q1 − hA3; Q2i Q2k 5 5 Powrót

   
1 √0 0 2 1 √ 2 Pełny ekran
√ √
Stąd macierz Q = 0 √55 2 5√5 . Macierz R = QT A = 0 5 3√5 5 .
   
Zamknij
0 2 5 5 − 55 0 0 5
5

Koniec

Łatwo można sprawdzić, że A = QR - zobacz notebook Mathematica.


Koszt rozkładu QR metodą Grama-Schmidta
c 2007 D.Wilczak

Koszt rozkładu za pomocą algorytmu opisanego powyżej, to koszt Strona tytułowa

ortonormalizacji kolumn macierzy A (współczyniki w tym rozkładzie to


Spis treści
macierz R).
JJ II

Jak zauważyliśmy wcześniej, koszt ortonormalizacji to


• n3 + O(n2) mnożeń J I

Strona 139 z 288


3 2
• n + O(n ) dodawań
Powrót

• n pierwiastkowań
Pełny ekran

Zamknij

Koniec
Odwracanie dowolnej macierzy nieosobliwej metodą QR

c 2007 D.Wilczak
Do odwrócenia dowolnej macierzy możemy użyć rozkładu QR 7.10.
Załóżmy, że wyznaczyliśmy rozkład macierzy A = Q · R, gdzie Strona tytułowa

• Q jest macierzą unitarną Spis treści

• R jest macierzą trójkątną górną JJ II

Wtedy macierz odwrotną do A możemy policzyć z zależności J I

A−1 = (Q · R)−1 = R−1 · Q−1 = R−1 · QT Strona 140 z 288

Powrót
gdyż macierz odwrotna do unitarnej to macierz transponowana. W
powyższym wzorze, odwrotną do R możemy wyznaczyć stosując wzory na Pełny ekran

odwracanie macierzy trójkątnych. Zamknij

Koniec

c 2007 D.Wilczak

Strona tytułowa
Koszta odwracania dowolnej macierzy nieosobliwej metodą QR
Na ten koszt składa się Spis treści

• rozkład QR - koszt n3 + O(n2) mnożen JJ II

• koszt odwrócenia R (macierz górnotrójkątna) - 61 n3 + O(n2) mnożen J I

• koszt iloczynu R−1QT - 21 n3 mnożeń Strona 141 z 288

Łaczny koszt 53 n3 + O(n2) mnożeń (gorzej niż przez rozkład Craouta) Powrót

Pełny ekran

Zamknij

Koniec
7.11. Wartości własne macierzy - metody dokładne.
Wyznaczanie wartości i wektorów własnych macierzy jest jednym z
trudniejszych zagadnień w algorytmice algebry liniowej.

c 2007 D.Wilczak

Definicja 14
Strona tytułowa
Liczbę (rzeczywistą lub zespoloną) λ nazywamy wartością własną
macierzy kwadratowej A, jeżeli istnieje wektor v (o współrzędnych Spis treści

rzeczywistych lub zespolonych) taki, że Av = λv.


JJ II

Każdy wektor v 6= 0 spełniający równość Av = λv nazywamy wektorem


J I
własnym macierzy A dla wartości własnej λ.
Strona 142 z 288
Zbiór wszystkich wartości własnych macierzy kwadratowej A nazywamy
widmem macierzy A (lub spektrum macierzy A) i oznaczamy σ(A). Powrót

Pełny ekran
Uwaga:
Jeżeli v jest wektorem własnym dla λ, to każdy wektor postaci αv, gdzie Zamknij

α ∈ R \ {0} jest wektorem własnym macierzy A. Jest to konsekwencją


A(αv) = α(Av) = αλv = λ(αv) Koniec
Twierdzenie 10 Gershgorina [5]
Niech A = [aij ]i,j=1,...,n będzie macierzą kwadratową.
1. Jeżeli Ci oznaczają koła domknięte na płaszczyźnie zespolonej o
środkach w punktach aii i promieniach równych sumie modułów
c 2007 D.Wilczak

elementów z danego wiersza spoza diagonali, tzn.


Strona tytułowa
n
X
Ci = {z ∈ C : |z − aii| ≤ |aij |} Spis treści
j=1,j6=i
JJ II
dla i = 1, . . . , n to
n
[
σ(A) ⊂ Ci J I

i=1
Strona 143 z 288

2. Jeżeli k kół Ci tworzy zbiór rozłączny z pozostałymi kołami, to w zbiorze


tym leży dokładnie k wartości własnych macierzy A. Powrót

Pełny ekran
Uwaga:
Powyższe twierdzenie nie podaje sposobu wyznaczania wartości własnych Zamknij

macierzy. Podaje tylko bardzo grube oszacowanie na zbiór, w którym są


zawarte wszystkie wartości własne. Koniec
 
5 1 0
Przykład 30 Wyznacz koła Gershgorina dla macierzy A =  1 7 2
−1 −1 3
Rozwiązanie: Koła Gershgorina to
c 2007 D.Wilczak

C1 = {z ∈ C : |z − 5| ≤ |a12| + |a13| = 1 + 0 = 1} Strona tytułowa

C2 = {z ∈ C : |z − 7| ≤ |a21| + |a23| = 1 + 2 = 3} Spis treści

C3 = {z ∈ C : |z − 3| ≤ |a31| + |a32| = 1 + 1 = 2}
JJ II

4
J I

2 Strona 144 z 288


Dokładne wartości własne macierzy A to
Powrót
0 C3 C1 C2 λ1 = 5

λ2 = 5 + 3 Pełny ekran

-2 λ3 = 5 − 3
Zamknij

-4 Koniec
2 4 6 8 10
Wyznaczanie wartości własnych macierzy metodą dokładną.

c 2007 D.Wilczak

Definicja 15
Strona tytułowa

Wielomian
WA(λ) = det(A − λI) Spis treści

nazywamy wielomianem charakterystycznym macierzy A. Stopień JJ II

wielomianu charakterystycznego macierzy jest równy rozmiarowi tej


J I
macierzy.
Strona 145 z 288

Powrót

Twierdzenie 11
Pełny ekran
Wszystkie wartości własne macierzy A są pierwiastkami jej wielomianu
charakterystycznego, czyli σ(A) = WA−1({0}). Zamknij

Koniec
 
1 2 1
Przykład 31 Wyznacz wartości własne macierzy A = 3 1 1
c 2007 D.Wilczak

2 −1 0
Strona tytułowa

Spis treści
Rozwiązanie: Zgodnie z Definicją 15 wielomian charakterystyczny A to
JJ II
1 − λ 2 1
WA(λ) = det(A − λI) = 3 1 − λ 1 = −λ3 + 2λ2 + 6λ


J I
2 −1 −λ
Strona 146 z 288
Pierwiastki tego wielomianu to
√ √ Powrót

λ1 = 0, λ2 = 1 − 7, λ3 = 1 + 7
Pełny ekran

Na mocy Twierdzenia 11 są to wartości własne macierzy A.


Zamknij

Koniec
Uwaga:
W niektórych zadaniach numerycznych dokładne wyznaczenie wartości
własnych macierzy nie jest konieczne, np. przy badaniu istnienia ekstremów
c 2007 D.Wilczak

lokalnych funkcji wielu zmiennych potrzeba sprawdzić, czy macierz hesjanu


Strona tytułowa
jest dodatnio lub ujemnie określona.
Spis treści

Informację taką możemy czasem uzyskać przy pomocy oszacowania danego


przez Twierdzenie 10 Gershgorina. W wielu innych sytuacjach ta informacja JJ II

jest niewystarczająca i konieczne jest dokładniejsze wyznaczenie wartości


J I
własnych.
Strona 147 z 288

Uwaga: Powrót

Inna możliwość, to wyznaczenie zer wielomianu charakterystycznego.


Pełny ekran

Twierdzenie 11 podaje sposób wyznaczania wartości własnych macierzy.


Zamknij
“Wystarczy” policzyć miejsca zerowe wielomianu charakterystycznego.
Koniec
7.12. Wartości własne macierzy Hessenberga.

Do wyznaczania wartości własnych macierzy najczęściej stosuje się metody


iteracyjne. Jedną z nich jest wykorzystanie rozkładu QR w sytuacji, kiedy

c 2007 D.Wilczak

macierz jest bardzo specjalnej postaci.


Strona tytułowa

Definicja 16 Spis treści

Macierz T nazywamy macierzą trójdiagonalną, jeżeli jest ona postaci


  JJ II

∗ ∗
∗ ∗ · 0  J I
 
 ∗ · ·
 
T =
 Strona 148 z 288
· · ∗ 


 0 · ∗ ∗
 
Powrót

∗ ∗
Pełny ekran

Definicja 17 Zamknij

Macierz H nazywamy macierzą Hessenberga, jeżeli H = T + U , gdzie


T jest macierzą trójdiagonalną, natomiast U jest macierzą trójkątną górną. Koniec
Wartości własne macierzy Hessenberga, c.d.

Korzystając ze specjalnej postaci macierzy Hessenberga można


skonstruować iteracyjny algorytm wyznaczania wartości własnych takich
c 2007 D.Wilczak

macierzy.
Strona tytułowa

Jeśli H jest macierzą Hessenberga, to określamy R(1) oraz Q(1) jako rozkład
Spis treści

QR tej macierzy, czyli


JJ II

H (1) = H = Q(1)R(1)
J I

Korzystając z powyższego rozkładu definiujemy macierz


Strona 149 z 288

H (2) = R(1)Q(1) Powrót

Procedurę tą możemy iterować, czyli ogólnie Pełny ekran

H (i) = Q(i)R(i), Q(i)R(i) tworzą rozkład QR macierzy H (i) Zamknij

H (i+1) = R(i)Q(i), definiujemy H (i+1) jako iloczyn R(i)Q(i). Koniec


Wartości własne macierzy Hessenberga, uwagi:

• Można pokazać, że wartości własne każdej macierzy H (i) są takie same


(przy założeniu dokładnie wykonywanych obliczeń).
c 2007 D.Wilczak

• Można pokazać, że każda z macierzy H (i) jest macierzą Hessenberga.


Strona tytułowa

• Jeżeli wartości własne macierzy H są rzeczywiste i różne co do modułu,


to ciąg macierzy H (i) jest zbieżny do macierzy trójkątnej górnej. Spis treści

Wartości własne takiej macierzy to elementy na diagonali.


JJ II

• Jeśli H ma wartości własne zespolone, to otrzymujemy macierz w


J I
której na diagonali są albo pojedyncze rzeczywiste wartości własne albo
macierze 2 × 2. Wartości własne tych dwuwymiarowych podmacierzy Strona 150 z 288
to wartości własne H. Czyli po odpowiedniej liczbie iteracji możemy
otrzymać np. taką macierz Powrót

∗ ∗ . . .
 
Pełny ekran
∗ ∗ . . . 
0 0 ∗ . .  zobacz notebook Mathematica
 
Zamknij
0 0 0 ∗ ∗
0 0 0 ∗ ∗ Koniec
7.13. Wartości własne macierzy dowolnej.

Przedstawiony algorytm iteracyjny dla macierzy Hessenberga 7.12 można


równie dobrze stosować dla dowolnej macierzy. Z punktu widzenia kosztów
c 2007 D.Wilczak

obliczeń korzystniej jest najpierw zwykłą macierz przekształcić do postaci Strona tytułowa

Hessenberga a później stosować omówiony algorytm.


Spis treści

Wykorzystujemy tutaj następujące twierdzenie.


JJ II
Twierdzenie 12
Jeśli A jest macierzą kwadratową, to istnieje macierz ortogonalna Q oraz J I
macierz Hessenberga H takie, że
Strona 151 z 288
T
A = Q HQ.
Powrót

W szczególności macierze A oraz H mają takie same wartości własne.


Pełny ekran

Uwaga:
Zamknij
Aby sprowadzić macierz do postaci Hessenberga stosuje się najczęściej
algorytmy Householdera, Givensa lub Gaussa. Koniec
 
1 2 3 4
1 1 2 4
 
Przykład 32 Przekształć do postaci Hessenberga A = 
2 3 4 5

3 5 7 8
c 2007 D.Wilczak

Strona tytułowa
Rozwiązanie: zastosujemy zmodyfikowany algorytm Gaussa.
     
Spis treści
1 2 3 4 1 2 3 4 1 8 3 4
1 1 2 4 w3=w3−2w2 1 1 2 4  k2=k2+2k3 1 5 2 4  w4=w4−3wJJ
     
2
−→   −→  −→ II
2 3 4 5 0 1 0 −3 0 1 0 −3
  
     
3 5 7 8 3 5 7 8 3 19 7 8 J I
     
1 8 3 4 1 20 3 4 1 20 3 4 Strona 152 z 288

1 5 2 4  k2=k2+3k4 1 17 2 4  w4=w4−w3 1 17 2 4  k3=k3+k4


     
 −→   −→  −→
0 1 0 −3 0 −8 0 −3 0 8 0 −3
  Powrót

0 4 1 −4 0 −8 1 −4 0 0 1 −1
  Pełny ekran

1 20 7 4 15.581718738763179
1 17 6 4  −1.
  Zamknij

wartości własne to
0 8 −3 −3 −0.43376283428410867
 
Koniec
0 0 0 −1 −0.14795590447907
Start

Wyznacz spośród
aki, i =maxModul ai i 
i1, i , ... , a n , i 
element o największym module

c 2007 D.Wilczak

Tak
Czy aki, i =0 ? Strona tytułowa

Nie
Sprowadzanie dowolnej
macierzy kwadratowej do Spis treści

Zamień miejscami wiersze i kolumny postaci Hessenberga.


o numerach i+1 oraz k JJ II

Przekształcenie macierzy A(i) J I


Policz mnożniki
 i  i  i
m j =a j , i / ai1, i dla j=i2,... , n
w macierz podobną A(i+1)
za pomocą zmodyfikowanego Strona 153 z 288

Dla j=i2, ... , n wykonuj


algorytmu Gaussa.
Powrót
Od j−tego wiersza odejmij i1−szy wiersz
i
pomnożony przez m j
Pełny ekran

Do i1−szej kolumny dodaj j−tą kolumnę


pomnożoną przez mji Tak Zamknij

Koniec
Stop

c 2007 D.Wilczak

W powyższym algorytmie operacja: od j-tego wiersza odejmij k-ty (j < k)


Strona tytułowa
wiersz przemnożony przez współczynnik m odpowiada mnożeniu z lewej
strony macierzy A przez macierz dolnotrójkątną G. Spis treści

Następująca po niej operacja na kolumnach: do k-tej kolumny dodaj j-tą JJ II

kolumnę przemnożoną przez m to mnożenie z prawej strony macierzy GA


J I
−1
przez macierz G .
Tak więc widać, że realizujemy w tym algorytmie ciąg operacji typu Strona 154 z 288

GAG−1 lub zmian wierszy i kolumn (tez typu P AP −1). To pokazuje, że Powrót

otrzymujemy macierz podobna do macierzy na wejściu.


Pełny ekran

Zamknij

Koniec

c 2007 D.Wilczak

7.14. Macierze trójdiagonalne symetryczne*.


Strona tytułowa
* - rozdział nadobowiązkowy
Wartości własne macierzy symetrycznych można wyznaczać bardziej efektywnie wykorzystując
ich symetrię. Wykorzystuje się tutaj następujące fakty Spis treści

JJ II
• wyznaczenie wartości własnych macierzy trójdiagonalnych symetrycznych jest relatywnie
łatwe J I

• każdą macierz symetryczną można przekształcić w macierz trójdiagonalną symetryczną o Strona 155 z 288
takich samych wartościach własnych
Powrót
• przekształcenie macierzy symetrycznej w trójdiagonalną symetryczną jest ortogonalne.
Pełny ekran

Zamknij

Koniec
Macierze trójdiagonalne symetryczne c.d.
Macierz trójdiagonalna symetryczna ma postać
 
b1 a2
c 2007 D.Wilczak
a b · 0 
 2 2 

 · · · 
 Strona tytułowa

T = · · ·
 

· · · Spis treści
 
 
· · an 
 
 0 JJ II
an bn
J I
Dla dowolnie wybranej liczby λ wartość wielomianu charakterystycznego
WT (λ) = det(T − λI) można policzyć wykorzystując wzory rekurencyjne Strona 156 z 288

ω0(λ) = 1
Powrót

ω1(λ) = b1 − λ
(22) Pełny ekran

ωi(λ) = (bi − λ)ωi−1(λ) − a2i ωi−2(λ), dla i = 2, 3, . . . , n


Zamknij
WT (λ) = ωn(λ)
Koszt policzenia WT (λ) to 3n − 3 mnożeń oraz 2n − 1 dodawań. Koniec
Macierze trójdiagonalne symetryczne c.d.
Przy wyznaczaniu wartości własnych dla macierzy symetrycznych
trójdiagonalnych wykorzystuje się następujące twierdzenia

c 2007 D.Wilczak
Twierdzenie 13 (za [5])
Jeżeli elementy a2, a3, . . . , an są niezerowe, to wartości własne macierzy T Strona tytułowa

są pojedyncze.
Spis treści

Twierdzenie 14 (za [5])


Jeżeli elementy a2, a3, . . . , an macierzy są niezerowe, to ciąg wartości JJ II

ω0(λ), ω1(λ), . . . , ωn(λ) określony wzorami (22) spełnia następujące


J I
warunki
1. Jeżeli ωi(λ) = 0 dla pewnego i < n, to ωi−1(λ)ωi+1(λ) < 0. Strona 157 z 288

2. Jeżeli ωn(λ) 6= 0, to liczba zmian znaków sąsiednich liczb Powrót

ω0(λ), ω1(λ), . . . , ωn(λ) jest równa liczbie wartości własnych macierzy


mniejszych od λ. Pełny ekran

3. Jeżeli ωn(λ) = 0, to λ jest wartością własną macierzy T . Ponadto jest Zamknij

tyle wartości własnych mniejszych niż λ ile nastąpiło zmian znaków w


Koniec
ciągu liczb ω0(λ), ω1(λ), . . . , ωn−1(λ).
Niech λ1 > λ2 > · · · > λn oznaczają wartości własne macierzy
trójdiagonalnej symetrycznej. Posługując się Twierdzeniem 14 możemy
wyznaczyć dowolną wartość własną λk z dokładnością do ustalonego ε > 0

c 2007 D.Wilczak
w następujący sposób
Strona tytułowa
Krok I. Znajdujemy przedział [α, β], w którym są wszystkie wartości własne
macierzy (np. posługując się kołami Gershgorina - Twierdzenie 10). Spis treści

Krok II. Jeżeli |β − α| < ε to Stop. JJ II

1 J I
Krok III. Wyznaczamy środek przedziału t = (α + β) oraz obliczamy
2
ω0(t), ω1(t), . . . , ωn(t). Strona 158 z 288

Powrót
Krok IV. Jeżeli ωn(t) = 0 to znaleźliśmy pewną wartość własną. Jeżeli
liczba zmian znaków w ciągu ω0(t), ω1(t), . . . , ωn−1(t) jest równa n − k − 1 Pełny ekran

to jest to szukana wartość własna. Stop.


Zamknij

Krok V. Jeżeli ωn(t) 6= 0 to to przyjmujemy β = t lub α = t w zależności


Koniec
od ilości wartości własnych mniejszych od t. Powtarzamy Krok II.
Metoda bisekcji dla macierzy trójdiagonalnych symetrycznych.
Start

Czy∣−∣ ? Tak Stop 1



c 2007 D.Wilczak
Nie
t=/ 2 Strona tytułowa

Obliczamy wartości
Nie Spis treści
0 t  ,1 t ,... , n t 

JJ II
Nie Tak
Czy  n t =0?
J I
oblicz liczbę m oblicz liczbę m
zmian znaków w ciągu zmian znaków w ciągu
0 t  ,1 t  , ... , n t  0 t  ,1 t ,... , n−1 t  Strona 159 z 288

Powrót
Tak
Czy m=n−k −1?
Nie Pełny ekran

Nie Czy m≤n−k −1? Tak


Zamknij
=t =t
Stop 2
Koniec

c 2007 D.Wilczak

8. Układy równań nieliniowych.


Strona tytułowa

Problem badania zer funkcji wielu zmiennych jest o wiele bardziej złożony Spis treści

niż analogiczne zadanie dla funkcji jednej zmiennej. Bez dodatkowych


JJ II
założeń o różniczkowalności funkcji trudno jest wykazać istnienie zera dla
funkcji wielu zmiennych. J I

Strona 160 z 288


W tym rozdziale będziemy zakładać, że funkcja f : Rn → Rn ma miejsce
zerowe F (α) = 0 i przedstawimy trzy metody iteracyjne, które są użyteczne Powrót

przy lokalizacji takiego miejsca zerowego. Pełny ekran

Zamknij

Koniec
Rozważmy funkcję dwóch zmiennych f = (f1, f2) : R2 → R2. Na rysunku
poniżej przedstawiono wykresy pewnych funkcji f1 i f2.

f1 f2
c 2007 D.Wilczak

Strona tytułowa

Spis treści

JJ II

J I

Strona 161 z 288


Każda z tych powierzchni przecina płaszczyznę z = 0 wzdłuż pewnych
krzywych. Punkty przecięcia tych krzywych to miejsca zerowe funkcji f . Powrót

f1 (x,y)=0 f2 (x,y)=0 f(x,y)=0


Pełny ekran

zobacz
notebook Zamknij

Mathematica.
Koniec
Jeśli f = (f1, f2, f3) : R3 → R3, to zera funkcji f są punktami przecięcia
powierzchni zer każdej funkcji f1, f2, f3, np.
Na podanym rysunku wszystkie trzy
c 2007 D.Wilczak

powierzchnie spotykają się w dwóch punktach.


Strona tytułowa

(−0.00653085, −2.30163, 5.54098)


(2.30163, 0.00653085, 5.54098) Spis treści

JJ II

J I

Strona 162 z 288

Są one rozwiązaniem układu równań Powrót


−0.2x + 0.2y − z + 6 = 0 (płaszczyzna)
 Pełny ekran

x2 + y 2 + z 2 = 36 (sfera) Zamknij

x2 + y 2 = (.65)2(z − 2)2

(stożek)
Koniec
8.1. Różniczki funkcji wielu zmiennych.
Definicja 18

Funkcję f : Rn → Rm nazywamy różniczkowalną w sensie Frécheta


w punkcie x, jeżeli istnieje macierz Am×n taka, że
c 2007 D.Wilczak

kf (x + h) − f (x) − Ahk
lim =0 Strona tytułowa

khk→0 khk
Spis treści
przy dowolnym wyborze wektorów h zmierzających do zera.
Macierz A nazywamy pochodną Frécheta funkcji f w punkcie x. JJ II
-1 -0.5
0
0.5
1
J I

1
Strona 163 z 288

0 W przypadku funkcji f : R2 →
Powrót
R wykres funkcji f (x0) + A(x −
-1
x0) tworzy płaszczyznę styczną do Pełny ekran

-2
wykresu f w punkcie x0.
Zamknij
0
0.5
1
Koniec
1.5
2
Definicja 19
Niech f : Rn → R. Jeżeli istnieje granica
f (x0, x1, . . . , xk−1, xk + t, xk+1, . . . , xn) − f (x0, x1. . . . , xn)
lim =g
t→0 t
c 2007 D.Wilczak

to liczbę g nazywamy pochodną cząstkową funkcji f względem xk


∂f Strona tytułowa
w punkcie (x0, x1, . . . , xn) i oznaczamy (x0, x1, . . . , xn).
∂xk
1 Spis treści
0.5
0
JJ II
-0.5

-1
J I
1

Strona 164 z 288


0 interpretacja geometryczna
pochodnej cząstkowej. Powrót
-1

Pełny ekran
-2

0 Zamknij
0.5
1
Koniec
1.5
2
8.2. Metoda Newtona dla funkcji wielu zmiennych.

Metoda Newtona dla funkcji wielu zmiennych jest uogólnieniem znanej



c 2007 D.Wilczak
metody stycznych (rozdział 6.7) dla funkcji jednej zmiennej. W metodzie
stycznych korzystaliśmy z faktu, że wykres funkcji różniczkowalnej można Strona tytułowa

lokalnie przybliżać wykresem funkcji liniowej, czyli Spis treści

f (x) ≈ f (x0) + f 0(x0)(x − x0) JJ II

Jeżeli x ≈ x0, to miejsce zerowe funkcji f może być bliskie miejscu J I

zerowemu przybliżenia liniowego, czyli Strona 165 z 288

f (x0) + f 0(x0)(x − x0) = 0 Powrót

a stąd Pełny ekran

f (x0)
x = x0 −
f 0(x0) Zamknij

co definiuje metodę Newtona dla jednej zmiennej 6.7. Koniec


Metoda Newtona c.d.
W przypadku gdy f = (f1, f2, . . . , fn) : Rn → Rn jest
różniczkowalną funkcją wielu zmiennych możemy przybliżyć ją lokalnie
c 2007 D.Wilczak

pewnym odwzorowaniem afinicznym, czyli


Strona tytułowa

f (x) ≈ f (x0) + Df (x0)(x − x0) Spis treści

gdzie  ∂f JJ II
∂f1 ∂f1

1
(x0)
∂x1 ∂x2 (x0 ) ··· ∂xn (x0 )
∂f2 ∂f2 ∂f2
 (x )
∂x1 0 ∂x2 (x0 ) ··· ∂xn (x 0 )  J I
Df (x0) =  ..
 
 . ... ... ...   Strona 166 z 288
∂fn ∂fn ∂fn
∂x1 (x0 ) ∂x2 (x0 ) · · · ∂xn (x0 )
Powrót
jest macierzą różniczki funkcji f . Jeżeli założymy, że x ≈ x0 (jako wektory)
to zera funkcji f mogą być bliskie miejscom zerowym funkcji afinicznej Pełny ekran

występującej po prawej stronie, czyli


Zamknij

f (x0) + Df (x0)(x − x0) = 0 (23) Koniec


Metoda Newtona c.d.
Z równości (23) otrzymujemy kolejno

f (x0) + Df (x0)x − Df (x0)x0 = 0



c 2007 D.Wilczak

Df (x0)x = Df (x0)x0 − f (x0)


Strona tytułowa

Jeśli Df (x0) jest odwracalną, to ostatnia równość jest równoważna


Spis treści

x = [Df (x0)]−1 Df (x0)x0 − [Df (x0)]−1 f (x0) JJ II

x = Ix0 − [Df (x0)]−1 f (x0) = x0 − [Df (x0)]−1 f (x0) (24)


J I
Ostatnia równość definiuje wielowymiarową metodę Newtona.
Strona 167 z 288

Twierdzenie 15
Załóżmy, że funkcja f : Rn → Rn jest różniczkowalna w sensie Frécheta Powrót

w pewnym otoczeniu punktu α, w którym f (α) = 0. Załóżmy, że


pochodna Frécheta Df (x) jest ciągła w punkcie α oraz macierz Df (α) Pełny ekran

jest nieosobliwa. Wówczas punkt α jest punktem przyciągającym metody


Zamknij
iteracyjnej h i   −1
(i+1) (i) (i)
x =x − Df (x ) f x(i) Koniec
Przykład 33 Wyznacz metodę iteracyjną Newtona dla funkcji

f (x, y) = (x2 + y 2 − 4, x2 + 4y 2 − 6)

c 2007 D.Wilczak
Rozwiązanie: Wyznaczamy najpierw pochodne cząstkowe
∂f1 ∂f1 Strona tytułowa
(x, y) = 2x (x, y) = 2y
∂x ∂y
Spis treści
∂f2 ∂f2
(x, y) = 2x (x, y) = 8y
∂x ∂y JJ II
 
2x 2y
Stąd macierz różniczki to Df (x, y) = . Jeśli x 6= 0 i y =
6 0 to J I
2x 8y
 2 1
− Strona 168 z 288
macierz ta jest odwracalna, a jej odwrotna to [Df (x, y)]−1 = 3x1 16x .
− 6y 6y
Powrót

Zgodnie z wzorem (24) metoda Newtona dla tego problemu to Pełny ekran

 (i+1)  (i) " 2 1


#" 2 2 #
x x 3x(i)
− 6x(i) x (i)
+ y (i)
−4
= − 1 1 2 2
Zamknij

y (i+1) y (i) − 6y(i) 6y(i)


 
x(i) + 4 y (i) − 6
Koniec

zobacz notebook Mathematica.


Metoda Newtona - uwagi:

(i+1)
• Podczas wyznaczania kolejnego punktu iteracji x musimy rozwiązać
c 2007 D.Wilczak
 −1 
układ równań liniowych Df (x(i)) f x(i) . Należy tutaj zastosować
Strona tytułowa
jedną z efektywnych metod, najlepiej eliminację Gaussa zamiast
odwracania macierzy. Spis treści

• Zbieżność wynikająca z twierdzenia ma charakter lokalny. Oznacza to, że


JJ II
punkt początkowy powinien zostać wybrany jako już dobre przybliżenie
szukanego miejsca zerowego. J I

• Metoda Newtona wymaga policzenia różniczki funkcji f , co czasem


Strona 169 z 288
może być trudne.
Powrót

Zobacz notebook Mathematica, gdzie przedstawiono przykładowe Pełny ekran

zastosowanie metody Newtona do wyznaczenia zera funkcji dwóch


Zamknij

zmiennych.
Koniec
8.3. Metoda Steffensena dla funkcji wielu zmiennych.

Przedstawiona w rozdziale 8.2 wielowymiarowa metoda Newtona chociaż


c 2007 D.Wilczak

w wielu sytuacjach bardzo skuteczna - wymaga policzenia różniczki


Strona tytułowa

odwzorowania. Analogicznie jak w przypadku funkcji jednej zmiennej


Spis treści
można skonstruować metodę tego samego rzędu (jakiego?) co metoda
Newtona przy rezygnacji z konieczności liczenia pochodnych cząstkowych JJ II

odwzorowania.
J I

Metoda Steffensena dla funkcji jednej zmiennej była określona wzorem (14), Strona 170 z 288

czyli Powrót
f (xn)2
xn+1 = xn − .
f (xn + f (xn)) − f (xn) Pełny ekran

Nie można tego wzoru uogólnić wprost na przypadek wielowymiarowy, gdyż


Zamknij

nie istnieje pojęcie dzielenia wektorów.


Koniec
Wielowymiarowa metoda Steffensena, c.d.
Wielowymiarowa metoda Steffensena jest oparta o schemat wyprowadzony
dla metody Newtona. Zmienia się tylko sposób wyznaczania macierzy

c 2007 D.Wilczak
n n
Df (x0) we wzorze (24). Pochodne cząstkowe funkcji f : R → R są
∂fi
przybliżane przez (x) ≈ Sij (x), gdzie Strona tytułowa

∂xj
Spis treści
fi(x1, . . . , xj−1, xj + ∆j , xj+1, . . . , xn) − fi(x1, x2, . . . , xn)
Sij (x) =
∆j (25) JJ II

oraz ∆j = fj (x1, x2, . . . , xn)


J I

Jeśli przez  
S11(x) . . . S1n(x) Strona 171 z 288

S(x) =  ... ... ...  ≈ Df (x)


Powrót
Sn1(x) . . . Snn(x)
oznaczymy macierz powstałą z tak przybliżonych pochodnych cząstkowych, Pełny ekran

to wielowymiarowa metoda Steffensena jest dana zależnością Zamknij

h  i−1  
(k+1)
x = x − S x(k)
(k)
f x(k) Koniec
Przykład 34 Wyznacz metodę iteracyjną Steffensena dla funkcji

f (x, y) = (f1(x, y), f2(x, y)) = (x3 + y 2 − 3, x2 + 4y 3 − 8)



c 2007 D.Wilczak
Rozwiązanie: Zgodnie z wzorem (25) wyznaczamy kolejno współczynniki
f1(x + f1(x, y), y) − f1(x, y) (x3 + y 2 + x − 3)3 − x3 Strona tytułowa

S11(x, y) = =
f1(x, y) x3 + y 2 − 3 Spis treści

f1(x, y + f2(x, y)) − f1(x, y) (x2 + 4y 3 + y − 8)2 − y 2


S12(x, y) = =
f2(x, y) x2 + 4y 3 − 8 JJ II

f2(x + f1(x, y), y) − f2(x, y) (x3 + y 2 + x − 3)2 − x2


S21(x, y) = = J I
f1(x, y) x3 + y 2 − 3
f2(x, y + f2(x, y)) − f2(x, y) 4(x2 + 4y 3 + y − 8)3 − 4y 3 Strona 172 z 288
S22(x, y) = =
f2(x, y) x2 + 4y 3 − 8
Powrót

Stąd metoda Steffensena dla tego problemu jest dana wzorem


Pełny ekran
(k) −1
 (k+1)  (k)  (k)
  " (k)2 (k) 3
 #
x x S11 u  S12 u  x + y −3
= − 2 3
y (k+1) y (k) S21 u(k) S22 u(k)
 
x(k) + 4 y (k) − 8 Zamknij


gdzie u(k) = x(k), y (k) . Zobacz notebook Mathematica. Koniec
8.4. Wielowymiarowa metoda siecznych.

Wielowymiarowa metoda siecznych jest metodą (n + 1)-punktową, co


oznacza, że do wyznaczenia kolejnego punktu iteracji potrzebne jest (n + 1)
c 2007 D.Wilczak

poprzednich punktów oraz wartości badanej funkcji w tych punktach. Strona tytułowa

Załóżmy, że dane są punkty x(i−n), x(i−n+1), . . . , x(i). Wielowymiarowa


Spis treści

metoda siecznych jest zdefiniowana jako JJ II

h i−1  
(i+1) (i) (i) (i)
x = x − ∆Y ∆f f x(i) , J I

Strona 173 z 288


gdzie
∆Y (i) = x(i−n+1) − x(i−n) · · · x(i) − x(i−1)
  Powrót

(i)
 (i−n+1)
 (i−n)
 (i)
 (i−1)
 (26)
∆f = f x −f x ··· f x − f x Pełny ekran

są macierzami, których kolumnami są wektory x(i−j+1) − x(i−j), oraz Zamknij

 
f x(i−j+1) − f x(i−j) , dla j = n, n − 1, . . . , 1 odpowiednio. Koniec
Przykład 35 Wyznacz metodę iteracyjną siecznych dla funkcji

f (x, y) = (f1(x, y), f2(x, y)) = (x3 + y 2 − 3, x2 + 4y 3 − 8)

Rozwiązanie: Zgodnie z wzorami (26) wyznaczamy ∆Y (i) oraz ∆f (i)


c 2007 D.Wilczak

 (i−1) (i−2) (i) (i−1)



x − x x − x
∆Y (i) =
Strona tytułowa

y (i−1) − y (i−2) y (i) − y (i−1)


Spis treści
h i
(i) (i) (i)
∆f = ∆f1 ∆f2 , gdzie
JJ II
"  #
(i−1) 3 (i−2) 3 (i−1) 2 (i−2) 2
  
(i) x − x + y − y
∆f1 = (i−1) 2
 (i−2) 2
 (i−1) 3
 (i−2) 3
 J I
x − x +4 y −4 y
"  #
(i) 3 (i−1) 3 (i) 2 (i−1) 2
   Strona 174 z 288
(i) x − x + y − y
∆f2 = (i) 2
 (i−1) 2
 (i) 3
 (i−1) 3

x − x +4 y −4 y Powrót

Ostatecznie metoda siecznych dla tego problemu, to Pełny ekran

 (i+1)  (i) " 3 2 #


−1 (i) (i)
x x (i)
h
(i)
i x + y −3
(i+1) = (i) − ∆Y ∆f 2 3
Zamknij

y y
 
x(i) + 4 y (i) − 8
Koniec

Zobacz notebook Mathematica z ilustracją przykładu.



c 2007 D.Wilczak

Strona tytułowa

9. Zadanie minimalizacji funkcji.


Spis treści

W tym rozdziale będziemy zajmować się efektywnym poszukiwaniem JJ II

minimów funkcji jednej i wielu zmiennych.


J I
Ograniczamy się tutaj do minimalizacji wartości pewnego wyrażenia, bez
dodatkowych założeń o obszarze, na którym wyznaczamy minimum (w Strona 175 z 288

odróżnieniu od poszukiwania wartości najmniejszej). Powrót

Pełny ekran

Zamknij

Koniec
9.1. Podstawowe definicje.
Definicja 20
Niech f : Rn → R będzie pewną funkcją. Mówimy, że funkcja f ma w
punkcie x0 ∈ Rn minimum lokalne, jeżeli istnieje kula o promieniu r > 0

c 2007 D.Wilczak
i środku x0 taka, że
f (x) ≥ f (x0) Strona tytułowa

dla wszystkich kx − x0k < r.


Spis treści

0.5

0 JJ II
Powyższa definicja mówi, że w
-0.5
pewnym otoczeniu punktu x0 J I
1
wartości funkcji f nie są większe niż
0.75
f (x0). Na przedstawionym rysunku Strona 176 z 288

wartości funkcji
0.5 Powrót
2 2
f (x, y) = (x − y )
0.25
Pełny ekran

0 są równe zero wzdłuż linii czerwonej.


0
Każdy z tych punktów jest minimum Zamknij

0.5 lokalnym (niewłaściwym) funkcji f .


Koniec

1
Definicja 21
Niech f : Rn → R będzie pewną funkcją. Mówimy, że funkcja f ma
w punkcie x0 ∈ Rn minimum lokalne właściwe, jeżeli istnieje kula
o promieniu r > 0 i środku x0 taka, że

c 2007 D.Wilczak

f (x) > f (x0)


Strona tytułowa

dla wszystkich kx − x0k < r oraz x 6= x0.


Spis treści

0 JJ II

-1
J I
0

Jeżeli x0 jest minimum właściwym Strona 177 z 288


-0.25
dla f , to w pewnym otoczeniu
-0.5 x0 (bez x0) wartości funkcji są Powrót

-0.75
istotnie większe of f (x0). Pełny ekran

-1

-1 Zamknij

0
Koniec
1
9.2. Wyznaczanie minimów funkcji jednej zmiennej.
Zadanie poszukiwania minimów funkcji jednej zmiennej w przypadku funkcji
różniczkowalnych można łatwo sprowadzić do poszukiwania miejsc zerowych
pochodnej funkcji. Mówi o tym następujące twierdzenie.
c 2007 D.Wilczak

Twierdzenie 16 (Warunek konieczny isntnienia ekstremów lokalnych) Strona tytułowa

Jeżeli funkcja f : R → R ma w punkcie x0 ∈ R minimum lokalne oraz jest


różniczkowalna w pewnym otoczeniu punktu x0, to f 0(x0) = 0.
Spis treści

JJ II

Uwaga:
Powyższe twierdzenie wskazuje, że jeśli funkcja f jest różniczkowalna, J I

to minimów lokalnych funkcji należy szukać wśród punktów, w których


Strona 178 z 288
pochodna jest równa zero. Miejsca zerowe pochodnej możemy wyznaczać
stosując metody poznane w rozdziale 6 (bisekcja, falsi, sieczne, styczne). Powrót

Uwaga: Pełny ekran

Jeżeli funkcja f jest dana bardzo skomplikowaną formułą, to wyznaczenie


pochodnej, a później jej miejsca zerowego może być bardzo kosztowne. Zamknij

Dla pewnych funkcji jednej zmiennej można stosować metody podziału


Koniec
przedziału, w którym szukamy minimum.
Metody podziału dla funkcji jednej zmiennej.
Jeżeli funkcja f : [a, b] → R ma minimum w punkcie α ∈ (a, b) oraz

c 2007 D.Wilczak
spełnia następujące kryteria
Strona tytułowa
• na przedziale [a, α) jest silnie malejąca
Spis treści
• na przedziale (α, b] jest silnie rosnąca
JJ II
to minimum funkcji f można wyznaczyć z dowolną dokładnością (w
dostatecznie dokładnej arytmetyce zmiennoprzecinkowej) metodą podziału J I

przedziału [a, b] na mniejsze podprzedziały. Strona 179 z 288

Za miarę skuteczności metody możemy przyjąć ilość koniecznych obliczeń Powrót

wartości funkcji f niezbędnych do zlokalizowania jej minimum. Okazuje się, Pełny ekran

że bardzo istotny ze względu na koszt obliczeń jest dobór podziału danego


Zamknij

przedziału na mniejsze części.


Koniec
Minimum funkcji jednej zmiennej - podział na trzy równe części.
Niech dana będzie funkcja f : [a, b] → R spełniająca konieczne założenia.

Krok I. Wybieramy dwa punkty pośrednie t1 = a+ 13 (b−a), t2 = a+ 23 (b−a)


c 2007 D.Wilczak

Krok II. Jeżeli f (t1) ≥ f (t2) to a = t1, natomiast b bez zmiany. Strona tytułowa

Jeżeli f (t1) < f (t2) to b = t2, natomiast a pozostaje bez zmian. Spis treści

Krok III. Jeżeli przedział [a, b] uznajemy za dostatecznie mały (czyli JJ II

osiągnęliśmy oczekiwaną dokładność) to przerywamy algorytm, a szukane


J I
minimum funkcji to t = (a + b)/2.
W przeciwnym przypadku powtarzamy Krok I.
Strona 180 z 288

Analiza: Powrót

Każdy krok algorytmu wymaga policzenia dwukrotnie wartości funkcji.


Pełny ekran
3
W każdym kroku algorytmu zmniejszamy szerokość przedziału 2 razy.
Stąd na jedno
q obliczenie wartości funkcji przypada zmniejszenie szerokości
Zamknij

przedziału 32 ≈ 1.22 razy. Koniec


Minimum funkcji - podział na cztery równe części.
Niech dana będzie funkcja f : [a, b] → R spełniająca konieczne założenia.

Krok I. Określamy t1 = a + 41 (b − a), t2 = a + 24 (b − a), t3 = a + 34 (b − a)


c 2007 D.Wilczak

Krok II. Jeżeli f (t1) ≤ f (t2) to b = t2, natomiast a pozostaje bez zmiany. Strona tytułowa

Jeżeli f (t2) ≤ f (t3) to a = t1, natomiast b = t3.


Spis treści
W przeciwnym przypadku bierzemy a = t2 natomiast b pozostaje bez zmian.
JJ II
Krok III. Jeżeli przedział [a, b] uznajemy za dostatecznie mały (czyli
osiągnęliśmy oczekiwaną dokładność) to przerywamy algorytm, a szukane J I

minimum funkcji to t = (a + b)/2.


W przeciwnym przypadku powtarzamy Krok I. Strona 181 z 288

Powrót
Analiza:
W każdym kroku (z wyjątkiem być może pierwszego) wyznaczamy wartość Pełny ekran

funkcji dwa razy (jeden raz jest pamiętany z poprzedniego kroku). Zamknij

W każdym kroku zmniejszamy przedział o połowę. Stąd na jedno obliczenie


√ Koniec
funkcji przypada zmniejszenie szerokości przedziały 2 ≈ 1.41 razy.
Minimum funkcji - metoda złotego podziału.
A algorytmie podziału na trzy części w jednym kroku wyznaczaliśmy
wartości funkcji dwa razy. Wadą tego podejścia było to, że policzone
wartości funkcji w punktach podziału nie przydawały się w dalszych
iteracjach.
c 2007 D.Wilczak

A algorytmie podziału na cztery części wykorzystywaliśmy jedną policzoną


wartość funkcji w punkcie pośrednim. Strona tytułowa

Spis treści
Metoda złotego podziału różni się od podziału na trzy części jedynie
sposobem określenia punktów pośrednich t1 i t2. Należy tak dobrać punkty JJ II

pośrednie, aby jedna z obliczonych wartości funkcji mogła zostać użyta w


J I
dalszych iteracjach, czyli szukamy τ ∈ (0, 1) takiego, że
Strona 182 z 288
t2 − a = b − t1 = τ (b − a)
b − t2 = τ (b − t1) √ Powrót

5−1
Stąd τ spełnia równanie τ 2 + τ − 1 = 0, czyli τ = ≈ 0.618. Pełny ekran
2
W metodzie tej na jedno obliczenie funkcji przypada zmniejszenie szerokości Zamknij
2
przedziału √5−1 ≈ 1.681 razy. Jest to metoda prawie optymalna
(najlepsza jest oparta o ciąg Fibonacciego i wymaga o jeden mniej obliczeń Koniec

wartości funkcji, dla uzyskania tego samego przybliżenia minimum).


9.3. Metoda najszybszego spadku.
Definicja 22
Niech dana będzie różniczkowalna funkcja f : Rn → R. Wektor
 
∂f ∂f
c 2007 D.Wilczak
∇f (x) := (x), . . . , (x)
∂x1 ∂xn
Strona tytułowa

nazywamy gradientem funkcji f w punkcie x i oznaczamy ∇f (x).


Spis treści
0.5

-0.5 JJ II

J I

0
Strona 183 z 288

-1

Powrót

-2
-0.5
Pełny ekran
0
0.5
1
Zamknij

Wektor −∇f (x) wyznacza kierunek najszybszego spadku funkcji f w


Koniec

punkcie x.
1
Metoda najszybszego spadku 0.5

0
Metoda najszybszego spadku (gradientu)
-0.5
to metoda iteracyjna, polegająca
na kolejnym przybliżaniu szukanego 3

c 2007 D.Wilczak

minimum wzdłuż kierunku danego przez


gradient funkcji. 2 Strona tytułowa

1
Spis treści
(k)
Jeśli mamy dany punkt x to kolejne 0

przybliżenie minimum funkcji f można -1


JJ II
-0.5
wyznaczyć jako 0
0.5
  J I
(k+1)
x = x − λk ∇f x(k)
(k)

Strona 184 z 288

gdzie λk jest odpowiednio dobraną stałą.


Oznaczmy funkcję Powrót

  
φ(λ) = f x − λ∇f x(k)
(k) Pełny ekran

Zamknij
Współczynnik λk wyznaczamy jako
(przybliżone) minimum funkcji jednej Koniec

zmiennej φ(λ) dla λ > 0.


9.4. Wyznaczanie minimów funkcji metodą Newtona.
Jeżeli f : Rn → R jest różniczkowalna, to minimów funkcji f należy szukać
wśród punktów, w których wszystkie pochodne cząstkowe funkcji f są równe
zero. Aby wyznaczyć minimum f musimy rozwiązać układ równań
c 2007 D.Wilczak

∂f ∂f Strona tytułowa
(x1, . . . , xn) = 0, · · · , (x1, . . . , xn) = 0 (27)
∂x1 ∂xn
Spis treści
Oznaczmy przez
∂ 2f ∂ 2f JJ II
 
∂x1 ∂x1 (x) ··· ∂x1 ∂xn (x)
H(x) = 
 ... ... ... 
 J I
∂ 2f ∂ 2f
∂xn ∂x1 (x) ··· ∂xn ∂xn (x)
Strona 185 z 288

macierz hesjanu funkcji f w punkcie x. Jeśli zastosujemy metodę Newtona


(24) do układu (27), to otrzymujemy zależność iteracyjną Powrót

 
∂f (k)
∂x1 (x )
Pełny ekran
 −1
x(k+1) = x(k) − H x(k) ·
 ... 
 Zamknij
∂f (k)
∂xn (x )
Koniec

Powyższa zależność określa metodę Newtona wyznaczania minimów funkcji.


10. Metody interpolacji.

Zadanie interpolacji polega na wyznaczeniu funkcji, której wartości w c 2007 D.Wilczak

pewnych punktach są znane (np. są to dane otrzymane z przeprowadzonego Strona tytułowa

eksperymentu). Zadaniem interpolacji jest podanie sposobu na wyliczanie


Spis treści

wartości funkcji pomiędzy punktami, w których wartości są znane.


JJ II

J I
15

Strona 186 z 288

10
Powrót

5 Pełny ekran

Zamknij

5 10 15 20
Koniec

c 2007 D.Wilczak

Definicja 23
Strona tytułowa
Niech dane będą liczby x0 < x1 < · · · < xn ∈ R oraz y0, y1, . . . , yn ∈ R.
Problem wyznaczenia funkcji F : [x0, xn] → R spełniającej warunki Spis treści

F (xi) = yi, dla i = 0, 1, . . . , n JJ II

nazywamy zadaniem interpolacji. Punkty x0, x1, . . . , xn, w których są J I


zadane wartości funkcji nazywamy węzłami interpolacji.
Strona 187 z 288

W zależności od sposobu wyznaczania wartości funkcji pomiędzy zadanymi Powrót

punktami będziemy mówić o różnych rodzajach interpolacji.


Pełny ekran

Zamknij

Koniec
10.1. Interpolacja za pomocą wielomianów.
Twierdzenie 17
Istnieje dokładnie jeden wielomian interpolacyjny stopnia co najwyżej n,
n ≥ 0, który w punktach x0, x1, . . . , xn przyjmuje wartości y0, y1, . . . , yn.

c 2007 D.Wilczak
2 n
Szkic dowodu: Szukamy wielomianu W (x) = a0 +a1x+a2x +· · ·+anx .
Podstawiając punkty x0, x1, . . . , xn otrzymujemy układ równań Strona tytułowa


2 n


 a 0 + a 1 x 0 + a 2 x 0 + · · · + a n x 0 = y0
Spis treści

a0 + a1x1 + a2x21 + · · · + anxn1 = y1



(28) JJ II

 .....................
a + a x + a x 2 + · · · + a x n = y

0 1 n 2 n n n n J I

Macierz współczynników tego (liniowego) układu równań to Strona 188 z 288

 
2 n
1 x0 x0 · · · x0 Powrót

1 x1 x21 · · · xn1 
 
A =  .. .. ... . . . ... 
. .  Pełny ekran

1 xn x2n · · · xnn Zamknij

Q
o wyznaczniku det A = 0≤j<i≤n(xi − xj ) 6= 0. Na mocy Twierdzenia Koniec

Cramera 7 istnieje dokładnie jedno rozwiązanie układu (28).


Interpolacja za pomocą wielomianów, c.d.
Dowód twierdzenia (17) podaje metodę wyznaczania wielomianu
c 2007 D.Wilczak

interpolacyjnego. Trzeba policzyć wyznacznik Vandermonde’a Strona tytułowa

Y
D = det A = (xi − xj ) 6= 0 Spis treści

0≤j<i≤n
JJ II
a następnie skorzystać z wzorów Cramera (19-20) w celu wyznaczenia
J I
współczynników a0, a1, . . . , an wielomianu interpolacyjnego W , czyli ai =
Di/D, gdzie Strona 189 z 288


1 x x2 · · · xi−1 y xi+1 · · · xn
0 0 0 0 0 0 Powrót

i−1 i+1
1 x1 x1 · · · x1 y1 x1 · · · xn1
2

Di =
............... Pełny ekran


1 xn x2n · · · xi−1 yn xi+1 · · · xnn

n n Zamknij

Koniec
Przykład 36 Wyznacz wielomian interpolacyjny dla problemu

x0 = 0, x1 = 1, x2 = 2, y0 = 3, y1 = 2, y2 = 5

Rozwiązanie: Szukamy wielomianu postaci W (x) = a0 + a1x + a2x2.


c 2007 D.Wilczak

Podstawiając węzły interpolacji otrzymujemy układ równań Strona tytułowa


2
a0 + a1 · 0 + a2 · 0 = 3

 Spis treści

a 0 + a 1 · 1 + a 2 · 12 = 2
 JJ II
 a 0 + a 1 · 2 + a 2 · 22 = 5

J I
Z pierwszego równania mamy natychmiast a0 = 3 a po podstawieniu do
równań (2-3) otrzymujemy Strona 190 z 288

(
a1 + a2 = −1 Powrót

a1 + 2a2 = 1 Pełny ekran

Rozwiązanie tego układu to a2 = 2, a1 = −3. Ostatecznie szukany Zamknij

wielomian interpolacyjny to
Koniec

W (x) = 3 − 3x + 2x2
10.2. Wzór interpolacyjny Lagrange’a.
Wzór interpolacyjny Lagrange’a daje gotowy przepis na wyznaczanie
wielomianu interpolacyjnego. Oznaczmy przez Φj (x) wielomian, który
spełnia następujące kryteria (
c 2007 D.Wilczak

0, gdy j 6= i
Φj (xi) = Strona tytułowa
1, gdy j = i
Spis treści
Łatwo sprawdzić, że wielomian
(x − x0)(x − x1) · · · (x − xj−1)(x − xj+1) · · · (x − xn) JJ II
Φj (x) = (29)
(xj − x0)(xj − x1) · · · (xj − xj−1)(xj − xj+1) · · · (xj − xn)
J I

spełnia powyższe wymagania. Możemy teraz określić wielomian


Strona 191 z 288

interpolacyjny z węzłami x0, x1, . . . , xn i wartościami w tych węzłach


y0, y1, . . . , yn odpowiednio, jako Powrót

W (x) = y0Φ0(x) + y1Φ1(x) + · · · + ynΦn(x) Pełny ekran

W węzłach interpolacji mamy Zamknij

W (xi) = yiΦi(xi) = yi · 1 = yi (30)


Koniec

Z Twierdzenia 17 jest to jedyny wielomian interpolacyjny dla tego problemu.


Przykład 37 (na podstawie [5]) Wyznacz wielomian interpolacyjny, który
w punktach −2, 1, 2, 4 przyjmuje wartości 3, 1, −3, 8.

c 2007 D.Wilczak

Rozwiązanie: Wyznaczamy kolejne wielomiany Φ0, Φ1, Φ2, Φ3 korzystając


Strona tytułowa
z wzoru (29).
(x − 1)(x − 2)(x − 4) 1 3 Spis treści

x − 7x2 + 14x − 8

Φ0(x) = =−
(−2 − 1)(−2 − 2)(−2 − 4) 72
JJ II
(x + 2)(x − 2)(x − 4) 1 3 2

Φ1(x) = = x − 4x − 4x + 16
(1 + 2)(1 − 2)(1 − 4) 9 J I

(x + 2)(x − 1)(x − 4) 1 3 2

Φ2(x) = = x − 3x − 6x + 8
(2 + 2)(2 − 1)(2 − 4) 8 Strona 192 z 288

(x + 2)(x − 1)(x − 2) 1 3 2

Φ3(x) = = x − x − 4x + 4 Powrót

(4 + 2)(4 − 1)(4 − 2) 36
Pełny ekran
Ostatecznie szukany wielomian interpolacyjny, to
2 3 25 Zamknij

W (x) = 3Φ0(x) + Φ1(x) − 3Φ2(x) + 8Φ3(x) = x3 − x2 − x + 6


3 2 6
Koniec
Uwagi:
• Rzadko zachodzi potrzeba przekształcania wzoru interpolacyjnego
Lagrange’a do najprostszej postaci. W podanej postaci przy jego pomocy
można łatwo wyznaczać wartości W (x).
c 2007 D.Wilczak

• Często interpolacja wielomianem wysokiego stopnia jest zbyt kosztowna Strona tytułowa

w porównaniu do korzyści płynących z lepszego (?) przybliżenia szukanej Spis treści

funkcji.
JJ II
• Często stosuje się wielomiany niższego stopnia (np. 1, 2, 3) interpolując
funkcję pomiędzy kolejnymi węzłami. J I

• Wartości funkcji w węzłach yi = F (xi) są często wynikiem pewnego Strona 193 z 288

pomiaru lub eksperymentu i już są opatrzone błędem. W takiej sytuacji


Powrót
żądanie, aby wielomian interpolacyjny był wysokiego stopnia nie daje
większego praktycznego zysku. Pełny ekran

• Interpolacja wielomianowa nie jest jedyną możliwą. W zależności Zamknij

od sytuacji i potrzebnych zastosowań używa się również interpolacji


funkcjami wymiernymi oraz trygonometrycznymi. Koniec
10.3. Oszacowanie błędu interpolacji.
Załóżmy, teraz, że dana jest funkcja f : [a, b] → R, która ma n+1 ciągłych
pochodnych. Wybierzmy węzły interpolacji a = x0 < x1 < · · · < xn = b.
Niech W : R → R oznacza wielomian interpolacyjny stopnia co najwyżej n
c 2007 D.Wilczak

dla węzłów xi i wartości f (xi). Ustalimy teraz maksymalny błąd interpolacji, Strona tytułowa

czyli maksymalną możliwą różnicę pomiędzy wartościami f (x) oraz W (x)


Spis treści
na przedziale [a, b].
JJ II

Wybierzmy x̄ ∈ [a, b] różny od węzłów interpolacji i określamy


J I
f (x̄) − W (x̄)
K= ∈R
(x̄ − x0)(x̄ − x1) · · · (x̄ − xn) Strona 194 z 288

Określamy funkcję Powrót

φ(u) = f (u) − W (u) − K(u − x0)(u − x1) · · · (u − xn) (31) Pełny ekran

Zamknij
Obserwacja:
Koniec

φ(x0) = φ(x1) = · · · = φ(xn) = φ(x̄) = 0 (32)


Oszacowanie błędu interpolacji,c.d.
Na podstawie (32) oraz Twierdzenia Lagrange’a 24 φ0 ma miejsce zerowe w
każdym z podprzedziałów o końcach x0, x1, . . . , xn, x̄. Oznaczmy te miejsca
(1) (1) (1)
zerowe przez ξ0 , ξ1 , . . . , ξn , czyli
c 2007 D.Wilczak

(1) (1)
φ0(ξ0 ) = φ0(ξ1 ) = · · · = φ0(ξn(1)) = 0 Strona tytułowa

Ponownie korzystając z twierdzenia Lagrange’a 24 stwierdzamy, że w


Spis treści
(1) (1) (1) 00
każdym z podprzedziałów o końcach ξ0 , ξ1 , . . . , ξn druga pochodna φ
(2) (2) (2) JJ II
ma miejsce zerowe. Oznaczmy te miejsca zerowe przez ξ0 , ξ1 , . . . , ξn−1,
czyli J I

(2) (2) (2)


φ00(ξ0 ) = φ00(ξ1 ) = · · · = φ00(ξn−1) = 0 Strona 195 z 288

Postępując analogicznie wnioskujemy, że istnieje ξ ∈ (a, b) różne od węzłów Powrót

interpolacji takie, że (n + 1) pochodna φ(n+1)(ξ) = 0.


Pełny ekran

Obserwacje:
Zamknij
W (n+1)(x) = 0 gdyż W jest wielomianem stopnia co najwyżej n
[(x − x0)(x − x1) · · · (x − xn)](n+1) = (n + 1)!, gdyż jest to wielomian Koniec

stopnia n + 1.
Oszacowanie błędu interpolacji,c.d.
Korzystając z definicji funkcji φ, czyli (31) mamy

φ(n+1)(ξ) = f (n+1)(ξ)−W (n+1)(ξ)−K [(ξ − x0)(ξ − x1) · · · (ξ − xn)](n+1)



c 2007 D.Wilczak
(n+1) (n+1)
Podstawiając W (ξ) = 0, [(ξ − x0) · · · (ξ − xn)] = (n + 1)! oraz
φ(n+1)(ξ) = 0 otrzymujemy Strona tytułowa

(n+1) (n+1) f (n+1)(ξ) Spis treści

0=φ (ξ) = f (ξ) − K(n + 1)! =⇒ K =


(n + 1)!
JJ II
Na koniec, korzystając ponownie z definicji funkcji φ, czyli (31) oraz faktu,
że φ(x̄) = 0 otrzymujemy J I
(n+1)
f (ξ)
|f (x̄) − W (x̄)| =
|(x̄ − x0)(x̄ − x1) · · · (x̄ − xn)| Strona 196 z 288

(n + 1)!
Jeśli przez M oznaczymy największą wartość (n + 1) pochodnej f , czyli Powrót

M = sup |f (n+1)(ξ)| Pełny ekran


ξ∈[a,b]
to dla wszystkich x ∈ [a, b] mamy oszacowanie Zamknij

M
|f (x) − W(x)| ≤ |(x − x0)(x − x1) · · · (x − xn)| Koniec

(n + 1)!
Przykład 38 (na podstawie [5]) Z jaką dokładnością można obliczyć
π
sin korzystając z wielomianu interpolacyjnego Lagrange’a i znając
36 π π π
wartości sin 0, sin , sin , sin .
6 4 3

c 2007 D.Wilczak
(4)
Rozwiązanie: Wiemy, że sin (x) = sin(x). Stąd wnioskujemy, że

3 Strona tytułowa

M = sup sin(4)(x) =
x∈[0, π3 ] 2
Spis treści
Korzystając z oszacowania
M JJ II
|f (x) − W (x)| ≤ |(x − x0)(x − x1) · · · (x − xn)|
(n + 1)!
J I
π π π
dla n = 3, x0 = 0, x1 = 6,x2 = x3 = dostajemy
4, 3
π  π  √  Strona 197 z 288

3 π  π π  π π  π π
sin −W ≤ −0 − − −

36 36 2 · 4! 36 36 6 36 4 36 3 Powrót

π  π  √3π 4 1 −5 8 −11 220√3π 4 Pełny ekran


sin −W ≤ · · · =

36 36 2 · 4! 36 36 36 36
364 · 4!
Zamknij
Ostatnie wyrażenie jest w przybliżeniu równe
√ 4
220 3π Koniec
≈ 0.00092079203554559309251
364 · 4!
Błąd interpolacji.
Rozważmy zadanie interpolacji funkcji sin(x) z węzłami w
π 3π
0, , π, , 2π
2 2
c 2007 D.Wilczak

Na rysunku poniżej (z lewej) przedstawiono wykres wielomianu


Strona tytułowa

interpolacyjnego Lagrange’a dla tego zadania, czyli


Spis treści
16x 8x2 8x3
W (x) = − 2 + 3
3π π 3π JJ II

Prawy rysunek przedstawia błąd otrzymanej interpolacji, czyli wykres funkcji J I

f (x) = sin(x) − W (x)


Strona 198 z 288
1
0.15

0.5 0.1 Powrót

0.05

1 2 3 4 5 6 1 2 3 4 5 6 Pełny ekran
-0.05
-0.5 -0.1
Zamknij
-0.15
-1
Koniec

Zobacz notebook Mathematica z innym podziałem przedziału [0, 2π].


10.4. Interpolacja kawałkami liniowa.
Interpolacja kawałkami liniowa jest najprostszym sposobem interpolacji.
Polega ona na prostym połączeniu kolejnych węzłów interpolacji linią
łączącą.

c 2007 D.Wilczak

3.5

3 Strona tytułowa

2.5
Spis treści
2

1.5 JJ II

1
J I
0.5

Strona 199 z 288


1 2 3 4 5 6 7

Jeśli dane są węzły interpolacji x0, x1, . . . , xn, to wartość funkcji Powrót

interpolującej w punkcie x różnym od węzłów interpolacji wyznaczamy w


Pełny ekran

następujący sposób
Zamknij

• wyznaczamy i ∈ {0, 1, . . . , n − 1} takie, że x ∈ (xi, xi+1)


yi+1 − yi Koniec

• wyliczamy F (x) = yi + (x − xi)


xi+1 − xi
10.5. Interpolacja funkcjami sklejanymi.
Przedstawiona wcześniej interpolacja liniowa 10.4 jest szczególnym
przypadkiem interpolacji funkcjami sklejanymi.

c 2007 D.Wilczak
Definicja 24

Funkcję rzeczywistą S nazywamy funkcją sklejaną stopnia m z węzłami Strona tytułowa

a = x0 < x1 < x2 < · · · < xn = b Spis treści

JJ II
jeżeli
• w każdym przedziale (xi−1, xi) dla i = 0, 1, . . . , n + 1 (przyjmujemy J I

x−1 = −∞, xn+1 = ∞) S jest wielomianem stopnia nie wyższego niż


m, Strona 200 z 288

• S i jej pochodne rzędu 1, 2, . . . , m−1 są ciągłe na całej osi rzeczywistej, Powrót

czyli S ∈ C m−1.
Pełny ekran

Dla interpolacji kawałkami liniowej mamy m = 1 a funkcja interpolująca Zamknij

dana wzorami określonymi w rozdziale 10.4 może być łatwo rozszerzona na


Koniec

całą oś rzeczywistą, np. F (x) = y0 dla x < x0 oraz F (x) = yn dla x > xn.
10.6. Interpolacja funkcjami sklejanymi stopnia 2.
Zgodnie z Definicją 24 od funkcji interpolującej stopnia 2 będziemy
oczekiwać, że jest wielomianem stopnia co najwyżej 2 na każdym przedziale

c 2007 D.Wilczak

(xi−1, xi) oraz w węzłach interpolacji pochodna S jest ciągła. Oznaczmy


przez ai + bix + cix2 funkcję interpolującą na przedziale (xi−1, xi). Strona tytułowa

Otrzymujemy następujący układ równań Spis treści


2
ai + bixi + cixi = yi, dla i = 0, 1, . . . , n JJ II


ai + bixi−1 + cix2i−1 = yi−1, dla i = 1, . . . , n + 1
 J I
bi + 2cixi = bi+1 + 2ci+1xi, dla i = 0, 1, . . . , n

Strona 201 z 288

W powyższym układzie równań liniowych mamy 3(n + 2) = 3n + 6


Powrót
niewiadomych (ai, bi, ci) dla i = 0, 1, . . . , n + 1, natomiast liczba równań,
to 3(n + 1) = 3n + 3. Pełny ekran

Zamknij
Wniosek: Funkcja sklejana stopnia 2 nie jest wyznaczona jednoznacznie.
Można określić dodatkowe 3 warunki jakie powinna spełniać. Koniec
Przykład 39 Wyznacz funkcję sklejaną stopnia 2, która w punktach x0 =
0, x1 = 1, x2 = 2, x3 = 3 ma wartości 1, 9, 2, 0.

c 2007 D.Wilczak
Rozwiązanie: Musimy wyznaczyć 5 wielomianów na 5 przedziałach.
Szukamy współczynników (ai, bi, ci) dla i = 0, 1, . . . , 4, czyli Strona tytułowa

  
2 2


 a0 + b0 0 + c 0 0 = 1  
a1 + b10 + c10 = 1  
 b0 + 2c00 = b1 + 2c10 Spis treści

a + b 1 + c 12 = 9 a + b 1 + c 12 = 9 b + 2c 1 = b + 2c 1
  
1 1 1 2 2 2 1 1 2 2
JJ II
2 2


 a 2 + b 2 2 + c 2 2 = 2 

a 3 + b 3 2 + c 3 2 =2 

 b2 + 2c22 = b3 + 2c32
a + b 3 + c 32 = 0 a + b 3 + c 32 = 0 b + 2c 3 = b + 2c 3
   J I
3 3 3 4 4 4 3 3 4 4

Mamy 15 zmiennych i tylko 12 równań. Narzucamy dodatkowe warunki: Strona 202 z 288

c0 = c4 = 0 (czyli skrajne funkcje są liniowe) oraz np. b4 = 0. Rozwiązanie Powrót

tego układu, to
Pełny ekran

a0 = 1, a1 = 1, a2 = 22, a3 = 18, a4 = 0
b0 = 26, b1 = 26, b2 = −16, b3 = −12, b4 = 0 Zamknij

c0 = 0, c1 = −18, c2 = 3, c3 = 2, c4 = 0 Koniec
Przykład 39 c.d. Ostatecznie funkcja interpolowana, to


 1 + 26x, dla x < 0

c 2007 D.Wilczak


2
1 + 26x − 18x dla x ∈ [0, 1]



F (x) = 22 − 16x + 3x2 dla x ∈ [1, 2] Strona tytułowa


18 − 12x + 2x2 dla x ∈ [2, 3]



 Spis treści


0 dla x > 3
JJ II

10
J I

5
Strona 203 z 288

1 2 3 Powrót

-5 Pełny ekran

Zamknij
-10

Koniec
10.7. Interpolacja funkcjami sklejanymi stopnia 3.
Jedną z częściej stosowanych metod interpolacji jest interpolacja Hermite’a
stopnia 3. Zgodnie z Definicją 24 funkcja interpolująca musi mieć ciągłe
drugie pochodne. Jeśli przez ai + bix + cix2 + dix3 oznaczymy wielomian
c 2007 D.Wilczak

interpolujący na przedziale (xi−1, xi) to otrzymujemy układ równań Strona tytułowa


2 3


 a i + b i x i + c i x i + di x i = yi , dla i = 0, 1, . . . , n Spis treści

a + b x + c x2 + d x3 = y ,

dla i = 1, . . . , n + 1
i i i−1 i i−1 i i−1 i−1
JJ II


bi + 2cixi + 3dix2i = bi+1 + 2ci+1xi + 3di+1x2i , dla i = 0, 1, . . . , n

c + 3d x = c
i i i i+1 + 3di+1xi, dla i = 0, 1, . . . , n J I

W powyższym układzie równań liniowych mamy 4(n + 2) = 4n + 8 Strona 204 z 288

niewiadomych (ai, bi, ci, di) dla i = 0, 1, . . . , n+1, natomiast liczba równań, Powrót

to 4(n + 1) = 4n + 4.
Pełny ekran

Wniosek: Funkcja sklejana stopnia 3 nie jest wyznaczona jednoznacznie. Zamknij

Można określić dodatkowe 4 warunki jakie powinna spełniać. Można przyjąć,


Koniec

że skrajne funkcje są liniowe, czyli c0 = d0 = cn = dn = 0.


Przykład 40 Wyznacz funkcję sklejaną stopnia 3, która w punktach x0 =
0, x1 = 1, x2 = 2, x3 = 3 ma wartości 1, 9, 2, 0.

Rozwiązanie: Musimy wyznaczyć 5 wielomianów na 5 przedziałach.



c 2007 D.Wilczak

Szukamy współczynników (ai, bi, ci, di) dla i = 0, 1, . . . , 4, czyli


  Strona tytułowa
2 3 2 3


 a 0 + b 0 0 + c 0 0 + d0 0 = 1 

a 1 + b 1 0 + c 1 0 + d1 0 =1
a + b 1 + c 1 2 + d 1 3 = 9
  a + b 1 + c 12 + d 13

=9 Spis treści
1 1 1 1 2 2 2 2
2 3 2 3


 a 2 + b 2 2 + c 2 2 + d2 2 = 2 

 a3 + b 3 2 + c 3 2 + d3 2 =2 JJ II
 a + b 3 + c 3 2 + d 33 = 0
  a + b 3 + c 32 + d 33

=0
3 3 3 3 4 4 4 4
J I

natomiast warunki ciągłości pierwszej i drugiej pochodnej dają


  Strona 205 z 288

2 2


 b0 + 2c00 + 3d00 = b1 + 2c10 + 3d10 

 c00 + 3d002 = c10 + 3d102
b + 2c 1 + 3d 12 = b + 2c 1 + 3d 12
 c 1 + 3d 12 = c 1 + 3d 12
 Powrót
1 1 1 2 2 2 1 1 2 2


 b2 + 2c22 + 3d222 = b3 + 2c32 + 3d322 

 c22 + 3d222 = c32 + 3d322 Pełny ekran

b + 2c 3 + 3d 32 = b + 2c 3 + 3d 32
 c 3 + 3d 32 = c 3 + 3d 32

3 3 3 4 4 4 3 3 4 4
Zamknij

Mamy 20 niewiadomych i 16 równań. Przyjmujemy dodatkowo c0 = d0 =


Koniec

c4 = d4 = 0.
Przykład 40 c.d.
Rozwiązanie otrzymanych układów równań to
c 2007 D.Wilczak

a0 = 1, b0 = 37
3, c0 = 0, d0 =0 Strona tytułowa

a1 = 1, b1 = 37
3, c1 = 0, d1 = − 133
a2 = −10, b2 = 136
3 , c2 = −33, d2 20
= 3 Spis treści

a3 = 62, b3 = − 1833 , c3 = 21, d3 = − 73


a4 = −1, b4 = 13 , c4 = 0, d4 =0 JJ II

Ostatecznie funkcja interpolowana, to J I




 1 + 37
3 x, dla x < 0 Strona 206 z 288

 37 13 3
1 + 3 x − 3 x , dla x ∈ [0, 1]


 Powrót

F (x) = −10 + 136 3 x − 33x2 + 20


3 x3 , dla x ∈ [1, 2]
 Pełny ekran
62 − 183 x + 21x 2
− 7 3
3x , dla x ∈ [2, 3]


3



−1 + 1 x,

dla x > 3 Zamknij
3

Koniec
10.8. Porównanie metod interpolacji.

Na rysunkach poniżej przedstawiono wyniki różnych sposobów interpolacji


przy tym samym zadaniu, czyli wyznaczenia funkcji, która w punktach

c 2007 D.Wilczak

0, 1, 2, 3 przyjmuje wartości 1, 9, 2, 0.
10 Strona tytułowa
8
6 5
Spis treści
4
2 1 2 3
JJ II
1 2 3 -5
-2
-10 J I
-4

Strona 207 z 288

8 8

6 6 Powrót

4 4
Pełny ekran

2 2
Zamknij
0.5 1 1.5 2 2.5 3
0.5 1 1.5 2 2.5 3

Koniec

Hermite’a, kwadratowa, kawałkami liniowa, Lagrange’a


Porównanie interpolacji, c.d
Na rysunku poniżej przedstawiono wyniki różnych sposobów interpolacji
przy tym samym zadaniu, czyli wyznaczenia funkcji, która w punktach

c 2007 D.Wilczak
0, 1, 2, 3 przyjmuje wartości 1, 9, 2, 0.
10
Strona tytułowa

Spis treści

5
JJ II

J I
1 2 3
Strona 208 z 288

-5 Powrót

Pełny ekran

-10
Zamknij

Koniec
Hermite’a, kwadratowa, kawałkami liniowa, Lagrange’a
11. Metody aproksymacji.
Zadanie interpolacji 10 polega na wyznaczeniu funkcji F : [a, b] → R, której
wartości na pewnym skończonym zbiorze argumentów są z góry zadane.

c 2007 D.Wilczak

Takie podejście jest często niedogodne, gdyż zbiór narzuconych wartości Strona tytułowa

funkcji może pochodzić z niedokładnych obliczeń lub być wynikiem


Spis treści
obarczonych błędami pomiarów. W tej sytuacji żądanie, aby funkcja
przyjmowała dokładnie określone wartości staje się nieuzasadnione. JJ II

J I
2.5

Strona 209 z 288


2
• dane eksperymentalne
1.5 funkcja dokładna Powrót

1
wielomian intepolacyjny Lagrange’a
aproksymacja średniokwadratowa Pełny ekran

0.5
Zamknij

0.5 1 1.5 2 2.5 3 3.5


Koniec
-0.5
11.1. Funkcje bazowe aproksymacji.
Twierdzenie 18 (Weierstrass)
Niech f : [a, b] → R będzie ciągła. Wtedy, dla każdego ε > 0 można
znaleźć wielomian P : R → R, który dla wszystkich x ∈ [a, b] spełnia
zależność
c 2007 D.Wilczak

kf (x) − P (x)k < ε Strona tytułowa

Twierdzenie 19 (Weierstrass) Spis treści

Niech f : R → R będzie ciągła i okresowa o okresie 2π. Wtedy, dla każdego


JJ II
ε > 0 można znaleźć wielomian trygonometryczny S : R → R, postaci
n
X J I
S(x) = a0 + (ak cos(kx) + bk sin(kx)),
k=1 Strona 210 z 288

dla pewnego n, który dla wszystkich x ∈ R spełnia zależność Powrót

kf (x) − S(x)k < ε Pełny ekran

Powyższe dwa twierdzenia pokazują, że każdą funkcję można przybliżyć Zamknij

na całym przedziale z dowolną dokładnością za pomocą wielomianów lub Koniec

wielomianów trygonometrycznych.
11.2. Aproksymacja średniokwadratowa.

Załóżmy, że mamy dane funkcje bazowe (liniowo niezależne) φ0, φ1, . . . , φm.
W przypadku bazy wielomianowej mogą to być 1, x, x2, . . . , xm.
c 2007 D.Wilczak

Załóżmy, że mamy dane pewne punkty Strona tytułowa

{(x0, y0), (x1, y1), . . . , (xn, yn)}. Spis treści

Ogólnie zadanie aproksymacji polega na znalezieniu funkcji JJ II

J I
S(x) = a0φ0 + a1φ1 + · · · + amφm
Strona 211 z 288

minimalizującej pewne wyrażenie. Aproksymacja średniokwadratowa polega


na minimalizacji Powrót

n
X
M (a) = (S(xi) − yi)2 (33) Pełny ekran

i=0
Zamknij
gdzie a = (a0, a1, . . . , am). Dodatkowo żądamy, aby istniało dokładnie
jedno rozwiązanie tego zadania. Koniec
Aproksymacja średniokwadratowa, c.d.
Zadanie aproksymacji polega na znalezieniu takich współczynników
a0, a1, . . . , am ∈ R, aby wyrażenie (33) było jak najmniejsze. Funkcja M

c 2007 D.Wilczak
jest funkcją zależną od m zmiennych. Jej minimum zostanie osiągnięte w
punkcie, w którym pochodne cząstkowe są równe zero, czyli Strona tytułowa

n
∂M X Spis treści

(a) = 2 (a0φ0(xi) + · · · + amφm(xi) − yi) φk (xi) = 0


∂ak i=0 JJ II

dla k = 0, 1, . . . , m. Ponieważ funkcje φj , j = 0, 1, . . . , m są liniowo


J I
niezależne to układ ten ma jednoznaczne rozwiązanie (zwróćmy uwagę, że
Strona 212 z 288
jest to układ kwadratowy z (m + 1) równaniami i (m + 1) niewiadomymi).
Układ ten możemy zapisać w postaci Powrót

     
g00 · · · g0m a0 ρ0 Pełny ekran

 .. . . . ..  ·  ..  =  ... 
. . . (34)
gm0 · · · gmm am ρm Zamknij

Pn Pn
gdzie gik = j=0 φi(xj )φk (xj ) oraz ρi = j=0 φi(xj )yj . Koniec
Przykład 41 Wyznacz funkcję liniową aproksymującą punkty (1, 1),
(2, 2.5), (3, 3.5), (4, 4)

Rozwiązanie: Ponieważ szukamy prostej aproksymującej dane punkty, to



c 2007 D.Wilczak

użyjemy bazy φ0(x) = 1, φ1(x) = x. Wyznaczymy współczynniki układu


równań pamiętając, że gik = nj=0 φi(xj )φk (xj ) oraz ρi = nj=0 φi(xj )yj .
P P Strona tytułowa

Otrzymujemy Spis treści

g00 = (φ0(1))2 + (φ0(2))2 + (φ0(3))2 + (φ0(4))2 = 12 + 12 + 12 + 12 = 4


JJ II

g01 = φ0(1)φ1(1) + φ0(2)φ1(2) + φ0(3)φ1(3) + φ0(4)φ1(4)


J I
= 1 + 2 + 3 + 4 = 10
Strona 213 z 288
g10 = φ1(1)φ0(1) + φ1(2)φ0(2) + φ1(3)φ0(3) + φ1(4)φ0(4) = 10
g11 = (φ1(1))2 + (φ1(2))2 + (φ1(3))2 + (φ1(4))2 = 12 + 22 + 32 + 42 = 30 Powrót

ρ0 = φ0(1)y0 + φ0(2)y1 + φ0(3)y2 + φ0(4)y3 Pełny ekran

= 1 · 1 + 1 · 2.5 + 1 · 3.5 + 1 · 4 = 11 Zamknij

ρ1 = φ1(1)y0 + φ1(2)y1 + φ1(3)y2 + φ1(4)y3


Koniec

= 1 · 1 + 2 · 2.5 + 3 · 3.5 + 4 · 4 = 32.5


Przykład 41, c.d. Otrzymujemy układ równań
(
4a0 + 10a1 = 11
10a0 + 30a1 = 32.5
c 2007 D.Wilczak

którego rozwiązaniem jest a0 = 0.25, a1 = 1. Ostatecznie funkcja liniowa Strona tytułowa

aproksymująca podane punkty to Spis treści

S(x) = a0φ0(x) + a1φ1(x) = 0.25 + x JJ II

5 J I

4 Strona 214 z 288

3
Powrót

2
Pełny ekran

1
Zamknij

1 2 3 4 5 Koniec
Przykład 42 Wyznacz parabolę aproksymującą punkty (1, 1), (2, 2.5),
(3, 3.5), (4, 4).

Szukamy funkcji postaci S(x) = a0 + a1x + a2x2. Współczynniki układu



c 2007 D.Wilczak

g00, g01, g10, g11 oraz ρ0, ρ1 są takie same jak w przykładzie 41. Wyznaczamy
Strona tytułowa

g02 = 12 + 22 + 32 + 42 = 30 = g20
Spis treści

g12 = 13 + 23 + 33 + 43 = 100 = g21


JJ II
g22 = 14 + 24 + 34 + 44 = 354
ρ2 = φ2(1)y0 + φ2(2)y1 + φ2(3)y2 + φ2(4)y3 = 106.5 J I

Otrzymujemy układ równań 4 Strona 215 z 288


3
4a0 + 10a1 + 30a2 = 11 Powrót


2
10a0 + 30a1 + 100a2 = 32.5
 Pełny ekran
30a0 + 100a1 + 354a2 = 106.5
 1

Zamknij
1 2 3 4 5
którego rozwiązaniem jest
-1
Koniec

a0 = −1, a1 = 2.25, a3 = −0.25 S(x) = −1 + 2.25x − 0.25x2


Aproksymacja wielomianowa - uwagi.

• aproksymacja pozwala na “wygładzenie” losowych błędów, którymi


obarczone są aproksymowane punkty
• wielomiany używane w aproksymacji przybliżają dostatecznie dane
c 2007 D.Wilczak

punkty, natomiast użyty wielomian jest niskiego stopnia (powinien być Strona tytułowa

niskiego stopnia!)
• jeśli użyjemy wielomianu stopnia o jeden mniejszego jak liczba Spis treści

aproksymowanych punktów, to otrzymujemy zwykły wielomian JJ II


interpolacyjny
J I

5
Strona 216 z 288
aproksymacja liniowa
4
aproksymacja kwadratowa Powrót

3 aproksymacja sześcienna
aproksymacja Pełny ekran

2
wielomianem
Zamknij

1
czwartego stopnia
interpolacja Lagrange’a Koniec

2 4 6 8 10
11.3. Aproksymacja funkcjami trygonometrycznymi.
Wzory (34) definiują aproksymację średniokwadratową dla dowolnego
wyboru funkcji bazowych. Jeżeli odległość pomiędzy węzłami aproksymacji
jest zawsze taka sama oraz aproksymowana funkcja jest okresowa, to można
c 2007 D.Wilczak

użyć ortogonalnego układu funkcji trygonometrycznych. Wtedy macierz


Strona tytułowa

układu (34) jest diagonalna i układ ten można bardzo szybko rozwiązać.
Spis treści

Ortogonalna baza funkcji trygonometrycznych. JJ II

Ustalmy pewną liczbę naturalną L > 0. Zakładamy chwilowo, że


J I
aproksymujemy funkcję na przedziale [0, 2π]. a liczba węzłów to 2L.
Definiujemy Strona 217 z 288


xi = , dla i = 0, 1, . . . , 2L − 1
L Powrót

Aproksymacja funkcjami trygonometrycznymi polega na przybliżeniu Pełny ekran

K
a0 X
f (x) ≈ + (ai cos(ix) + bi sin(ix)) Zamknij

2 i=1
Koniec

przy czym zakłada się, że 2K + 1 ≤ 2L.


Własności układu funkcji trygonometrycznych

0 dla m 6= k

2L−1
X

• sin mxi · sin kxi = L dla m = k 6= 0

i=0 0 dla m = k = 0

c 2007 D.Wilczak


Strona tytułowa
2L−1 0

 dla m 6= k
X
• cos mxi · cos kxi = L dla m = k 6= 0 Spis treści

i=0 2L dla m = k = 0

JJ II
2L−1
X
• sin mxi · cos kxi = 0 dla m, k – dowolnych J I

i=0
Strona 218 z 288
Podstawiając te własności do układu (34) otrzymujemy następujące wzory
na współczynniki Powrót

2L−1 2L−1
1 X 1 X πij Pełny ekran
aj = yi cos(jxi) = yi cos , dla j = 0, 1, . . . , K (35)
L i=0 L i=0 L
Zamknij
2L−1 2L−1
1 X 1 X πij
bj = yi sin(jxi) = yi sin , dla j = 1, 2, . . . , K Koniec
L i=0 L i=0 L
Przykład 43 Wyznacz aproksymację trygonometryczną dla punktów
(0, 3), ( π3 , 2), ( 2π
3 , 3), (π, 1), ( 4π
3 , 1), ( 5π
3 , 2).

Rozwiązanie: Mamy 2L = 6 stąd 2K + 1 ≤ 6, czyli L = 3, K = 2.


c 2007 D.Wilczak

Zgodnie z wzorami (35) wyznaczamy współczynniki


Strona tytułowa

2L−1 5
1 X 1X 12
a0 = yi cos(0xi) = yi · 1 = =4 Spis treści

L i=0 3 i=0 3
 
1 π 2π 4π 5π 2 JJ II
a1 = 3 cos 0 + 2 cos + 3 cos + cos π + cos + 2 cos =
3 3 3 3 3 3 J I
 
1 2π 4π 8π 10π
a2 = 3 cos 0 + 2 cos + 3 cos + cos 2π + cos + 2 cos
3 3 3 3 3 Strona 219 z 288

= 0  √
1 π 2π 4π 5π 3 Powrót

b1 = 3 sin 0 + 2 sin + 3 sin + sin π + sin + 2 sin =


3 3 3 3 3 3
  Pełny ekran
1 2π 4π 8π 10π
b2 = 3 sin 0 + 2 sin + 3 sin + sin 2π + sin + 2 sin
3 3 3 3 3 Zamknij

3
= − Koniec
3
Przykład 43, c.d. Ostatecznie otrzymujemy przybliżenie
√ √
4 2 3 3
f (x) = + cos x + sin x − sin(2x)
2 3 3 3
3

c 2007 D.Wilczak

2.5

Strona tytułowa
2

1.5 Spis treści

1 2 3 4 5 6 JJ II

0.5
J I
Zobacz notebook Mathematica z przykładem aproksymacji
Strona 220 z 288
trygonometrycznej dla większej liczby punktów, np.
1
Powrót

0.8

Pełny ekran
0.6

0.4
Zamknij

0.2

Koniec
1 2 3 4 5 6
11.4. Aproksymacja na dowolnym przedziale.

Wzory (35) pozwalają wyznaczyć współczynniki aproksymacji


c 2007 D.Wilczak

trygonometrycznej na przedziale [0, 2π]. Przez łatwe przeskalowanie można Strona tytułowa

otrzymać wzory dla dowolnego przedziału.


Spis treści

Jeśli chcemy aproksymować funkcję na przedziale [a, b] i znamy wartości


  JJ II
(b − a)i
yi = f (xi) = f a +
2L J I

dla i = 0, 1, . . . , 2L − 1, to najpierw wyliczamy współczynniki ai, bi dla Strona 221 z 288

punktów ( iπ
L , yi ), dla i = 0, 1, . . . , 2L − 1. Funkcja aproksymująca na
Powrót
przedziale [a, b] jest dana wzorem
Pełny ekran
K     
a0 X 2πi(x − a) 2πi(x − a)
f (x) = + ai cos + bi sin
2 i=1
(b − a) (b − a) Zamknij

Koniec
11.5. Aproksymacja wielomianowa i trygonometryczna.

Aproksymacja trygonometryczna ma o wiele lepsze własności niż


aproksymacja wielomianami.

c 2007 D.Wilczak

• Znane są wzory na współczynniki aproksymacji trygonometrycznej (35).


Strona tytułowa
W przypadku aproksymacji wielomianowej trzeba rozwiązać układ (34)
na współczynniki. Spis treści

• Funkcje trygonometryczne dobrze “wygładzają” losowe zaburzenia JJ II

aproksymowanych danych. Zwykle dobrze przybliżają aproksymowaną J I

funkcję na całym przedziale, a nie tylko w węzłach.


Strona 222 z 288

2
aproksymacja trygonometryczna Powrót

aproksymacja wielomianowa
1 dla przykładowych 10 punktów. Pełny ekran

Zamknij
1 2 3 4 5 6 Zobacz notebook Mathematica
z przykładem. Koniec
-1
11.6. Krzywe Béziera.*
* rozdział nadobowiązkowy

Krzywe Béziera zostały opracowane niezależnie przez dwóch inżynierów


pracujących dla konkurencyjnych firm: Pierre Béziera z firmy Renault
c 2007 D.Wilczak

oraz Paula de Casteljau pracującego dla firmy Citroën.


Strona tytułowa

Prace nad krzywymi rozpoczęto na początku lat 60-tych XX w. Początkowo Spis treści

objęte były tajemnicą służbową. Pierwsze ogólnodostępne publikacje


JJ II
dotyczące krzywych Béziera pojawiły się pod koniec lat 60-tych.
J I

Krzywe Béziera to krzywe parametryczne zadane przez dwa punkty


Strona 223 z 288

końcowe oraz pewną (na ogół niewielką) liczbę punktów kontrolnych.


Powrót

Pełny ekran

Zamknij

Koniec
Wielomianowe krzywe Béziera
Wielomianowa krzywa Béziera to krzywa zadana parametrycznie przez dwa
wielomiany. Zwykle zapisuje się je w bazie wielomianów Bernsteina.
c 2007 D.Wilczak

Definicja 25 (wielomian bazowy Bernsteina) Strona tytułowa

Ustalmy n = 0, 1, 2 . . . oraz i = 0, 1, . . . , n. Funkcję Bin(t) określoną


Spis treści
 
n i
Bin(t) = t (1 − t)n−i
i JJ II

nazywamy bazowym wielomianem Bernsteina. J I

Definicja 26 (wielomianowa krzywa Béziera) Strona 224 z 288

Wielomianową krzywą Béziera dla punktów p0, p1, . . . , pn ∈ R2 nazywamy


Powrót
krzywą parametryczną określoną za pomocą wzoru
n
X Pełny ekran

p(t) = piBin(t), dla t ∈ [0, 1]


i=0 Zamknij

Koniec
Przykład 44 Ustalmy punkty p0 = (0, 0), p1 = (1, 2), p2 = (2, 2), p3 =
(3, 0).
Wielomianowa krzywa Béziera dla tych punktów to
   
c 2007 D.Wilczak
3 3
p(t) = (0, 0) (1 − t)3 + (1, 2) t(1 − t)2
0 1 Strona tytułowa
   
3 2 3 3
+ (2, 2) t (1 − t) + (3, 0) t
2 3 Spis treści

= (3, 6)t(1 − t)2 + (6, 6)t2(1 − t) + (3, 0)t3 = (3t, −6t(t − 1))
JJ II

dla t ∈ [0, 1]. Poniżej przedstawiono obraz tej krzywej parametrycznej. J I

2
Strona 225 z 288

1.5
Powrót

1
Pełny ekran
0.5

Zamknij

0.5 1 1.5 2 2.5 3

Koniec

Zobacz Interaktywny aplet wyświetlający krzywe Béziera



c 2007 D.Wilczak
Uwagi:
Strona tytułowa
• Za pomocą wielomianowych krzywych Béziera można przybliżać bardzo
skomplikowane krzywe - trzeba wtedy ustawić bardzo dużą ilość punktów Spis treści

• przy dużej ilości punktów otrzymane wielomiany są bardzo wysokiego JJ II

stopnia. Modyfikacja jednego z punktów wpływa na kształt całej


J I
krzywej. Stąd, w modelowaniu ciężko operować dużą liczbą punktów
Strona 226 z 288

• częściej stosuje się krzywe sklejane z wielomianów niższych stopni (np.


Powrót
w czcionkach TrueType są to wielomiany stopnia 2, lub METAFONT,
SVG - wielomiany stopnia 3). Pełny ekran

Zamknij

Koniec

c 2007 D.Wilczak

Krzywe B-sklejane.
Strona tytułowa

• Krzywa B-sklejana jest kawałkami parametryzowana przez wielomiany, Spis treści

najczęściej niskiego stopnia.


JJ II
• Ustalmy podział odcinka [0, 1] w punktach u0, u1, . . . , um. Punkty ui
J I
nazywamy węzłami podziału (mogą się pokrywać).
Strona 227 z 288
• Jeśli stopień wielomianów ustalimy na n, to do określenia krzywej
potrzeba m − n punktów kontrolnych, natomiast liczba krzywych Powrót

wielomianowych, z których składa się cała krzywa B-sklejana to m−2n. Pełny ekran

Zamknij

Koniec
Wyznaczanie krzywych B-sklejanych.

Funkcje B-sklejane wyznacza się przy pomocy algorytmu Mansfielda-de


Boora-Coxa. Funkcjami bazowymi dla tych krzywych są unormowane
c 2007 D.Wilczak

funkcje B-sklejane stopnia n. W praktycznych zastosowaniach


Strona tytułowa

wykorzystuje się rekurencyjną definicję wielomianów bazowych


( Spis treści

1 t ∈ [ui, ui+1)
Ni0(t) = JJ II
0 w przeciwnym razie
t − ui ui+k+1 − t
Nik (t) = Nik−1(t) + k−1
Ni+1 (t), dla k > 0 J I
ui+k − ui ui+k+1 − ui+1
Strona 228 z 288
Funkcja B-sklejana dla punktów p0, . . . , pn i węzłów w0, . . . , wm jest
określona wzorem Powrót

n
X
piNim−n−1(t),
Pełny ekran
p(t) = dla t ∈ [un, um−n)
i=0
Zamknij

Zobacz obszerny artykuł w Wikipedii.


Koniec
Interaktywny aplet kreślący krzywe B-sklejane.
12. Całkowanie numeryczne.
Całka oznaczona z funkcji ciągłej f : [a, b] → R i nieujemnej to pole
obszaru ograniczonego: wykresem funkcji na odcinku [a, b], osią argumentów

c 2007 D.Wilczak
i odcinkami [(a, 0), (a, f (a))], [(b, 0), (b, f (b))].
1

Strona tytułowa
0.8

0.6
Spis treści

0.4 P
JJ II
0.2

0.2 0.4 0.6 0.8 1 1.2


J I

Pole to wyznaczamy licząc wartość całki oznaczonej Strona 229 z 288

Z b
P = f (x)dx Powrót

a
Pełny ekran
Przedstawiony na rysunku przykład można łatwo policzyć analitycznie, gdyż
funkcja podcałkowa f jest wielomianem. Policzenie pola jest na ogół Zamknij

trudne, a stosowane metody numeryczne pozwalają jedynie na wyznaczenie Koniec

przybliżonej wartości P
12.1. Całki - definicje i własności.
Jeśli funkcja ciągła f : [a, b] → R przyjmuje wartości zarówno dodatnie jak
i ujemne, to całkę oznaczoną definiuje się jako
Z b Z b Z b
c 2007 D.Wilczak

f (x)dx := f+(x)dx − −f−(x)dx,


a a a
Strona tytułowa

gdzie
Spis treści
f+(x) := max{0, f (x)}, f−(x) := min{0, f (x)}
JJ II
W powyższej definicji zakładamy dodatkowo, że chociaż jedna z całek
Rb Rb
f (x)dx, a −f− (x)dx, jest skończona.
J I
a +
2

P+ P+ Strona 230 z 288

1 2 3 4
Powrót
-2

-4
P- Pełny ekran

-6
Zamknij

-8
Z b
Koniec
W podanym przykładzie f (x)dx = P+ − P−.
a
Twierdzenie 20 Podstawowe twierdzenie rachunku całkowego.
Z x
Jeżeli f : [a, b] → R jest funkcją ciągłą, to funkcja F (x) = f (τ )dτ jest
a
0
różniczkowalna oraz F (x) = f (x). W szczególności, jeżeli G jest dowolną

c 2007 D.Wilczak
funkcją pierwotną dla funkcji f (czyli G0 = f ), to
Z b Strona tytułowa

f (x)dx = G(b) − G(a).


a Spis treści

JJ II
Przykład 45 Wyznacz pole pod wykresem y = sin(x) na przedziale [0, π].
Rozwiązanie: J I

Zauważmy, że (− cos x)0 = sin x. Czyli − cos x jest funkcją pierwotną dla
Strona 231 z 288

sin x. Dlatego
Z π Powrót

sin xdx = [− cos x]π0 = (− cos(π) − (− cos 0)) = 1 + 1 = 2


0 Pełny ekran

1
0.8 Zamknij
0.6
0.4 P= 2
0.2 Koniec

0.5 1 1.5 2 2.5 3


x
Przykład 46 Wyznacz pole obszaru pod wykresem funkcji f (x) = x2 +1
na przedziale [0, 3].

Rozwiązanie: Wyznaczamy najpierw funkcję pierwotną. Podstawiając



c 2007 D.Wilczak

z = x2 + 1, dz = 2xdx
Strona tytułowa

Stąd Spis treści


Z Z
xdx 1 dz 1 1
= = ln z + C = ln (x2 + 1) + C JJ II
x2 + 1 2 z 2 2
Na podstawie Tw. 20 szukane pole, to J I

Z 3  3
xdx 1 2 1 1 Strona 232 z 288

2
= ln(x + 1) = (ln(10) − ln(1)) = ln(10)
0 x +1 2 0 2 2
Powrót

0.5

0.4 Pełny ekran

0.3

0.2
P=lnH10L2 Zamknij

0.1
Koniec

0.5 1 1.5 2 2.5 3


12.2. Kwadratury.

W praktyce wyznaczenie funkcji pierwotnej jest najczęściej niemożliwe.


Dlatego do wyznaczenia całki oznaczonej stosuje się różne metody

c 2007 D.Wilczak

numeryczne. Załóżmy, że ustalony jest podział przedziału


Strona tytułowa
a = x0 < x1 < x2 < · · · < xN = b
Spis treści
Definicja 27
JJ II
Wyrażenie postaci
N
X J I
S(f ) = Ak f (xk )
k=0
Strona 233 z 288

nazywamy kwadraturą jeżeli współczynniki Ak nie zależą od funkcji


podcałkowej f : [a, b] → R, a jedynie od punktów podziału x0, . . . , xN . Powrót

Argumenty xk nazywamy węzłami kwadratury. Pełny ekran

Zamknij

Uwaga: Definicja dopuszcza dowolny dobór współczynników Ak . Aby S(f )


Rb Koniec
faktycznie przybliżało a f (x)dx liczby Ak nie mogą być przypadkowe.
Kwadratury operate na interpolacji Lagrange’a 10.2
Podstawowe metody całkowania opierają się na różnych sposobach
interpolacji funkcji podcałkowej. Niech

c 2007 D.Wilczak

W (x) = f (x0)Φ0(x) + f (x1)Φ1(x) + · · · + f (xn)Φn(x)


Strona tytułowa

oznacza wielomian interpolacyjny Lagrange’a. Ponieważ W jest


Spis treści

przybliżeniem funkcji f można oczekiwać, że całka z wielomianu jest


JJ II
bliska całce badanej funkcji f , czyli
Z b N
X Z b J I

f (x)dx ≈ S(f ) = f (xk ) Φk (x)dx (36)


a k=0 a Strona 234 z 288

Oznaczmy Powrót
Z b
Ak = Φk (x)dx, dla k = 0, 1, . . . , N. (37) Pełny ekran
a
Zgodnie z definicją (29) wielomiany Φk zależą tylko od węzłów interpolacji, Zamknij

a nie od funkcji podcałkowej. Stąd przedstawiony wzór określa kwadraturę


Koniec
dla węzłów x0, x1, . . . , xN .
Przykład 47 Wyznacz współczynniki kwadratury, która jest oparta na
interpolacji Lagrange’a dla węzłów x0 = 0, x1 = 1, x2 = 2, x3 = 3.

Rozwiązanie: Wyznaczamy wielomiany Φi, i = 0, 1, 2, 3. Mamy


c 2007 D.Wilczak

(x − 1)(x − 2)(x − 3) x3 11x


Φ0(x) = = − + x2 − +1 Strona tytułowa

(0 − 1)(0 − 2)(0 − 3) 6 6
(x − 0)(x − 2)(x − 3) x3 5x2 Spis treści
Φ1(x) = = − + 3x
(1 − 0)(1 − 2)(1 − 3) 2 2
JJ II
(x − 0)(x − 1)(x − 3) x3 3x
Φ2(x) = = − + 2x2 −
(2 − 0)(2 − 1)(2 − 3) 2 2 J I
(x − 0)(x − 1)(x − 2) x3 x2 x
Φ3(x) = = − +
(3 − 0)(3 − 1)(3 − 2) 6 2 3 Strona 235 z 288

Szukane współczynniki kwadratury, to Powrót

Z 3 Z 3
3 9 Pełny ekran
A0 = Φ0(x)dx = , A1 = Φ1(x)dx =
8 8
Z0 3 Z0 3
9 3 Zamknij

A2 = Φ2(x)dx = , A3 = Φ3(x)dx =
0 8 0 8 Koniec
Z 3
xdx
Przykład 48 Policz przybliżoną wartość całki funkcji 2+1
stosując
c 2007 D.Wilczak
0 x
kwadraturę dla węzłów 0, 1, 2, 3 o współczynnikach 83 , 98 , 98 , 38 . Strona tytułowa

Rozwiązanie: Spis treści

Zgodnie z definicją kwadratury przybliżona wartość całki, to


JJ II
3 9 9 3 3 9 1 9 2 3 3
S(f ) = f (0) + f (1) + f (2) + f (3) = · 0 + · + · + ·
8 8 8 8 8 8 2 8 5 8 10 J I

9
Czyli S(f ) = 8 = 1.125. Strona 236 z 288

Dokładna wartość całki (porównaj Przykład 46) to Powrót

Z 3
xdx 1 Pełny ekran

2+1
= ln(10) ≈ 1.15129
0 x 2
Zamknij

Koniec

Przykład 49 Policz 0 sin xdx korzystając z przybliżenia funkcji
podcałkowej wielomianem interpolacyjnym Lagrange’a dla węzłów
0, π/3, 2π/3, π.
Rozwiązanie: Wyznaczymy najpierw wielomian interpolacyjny Lagrange’a

c 2007 D.Wilczak

dla podanych węzłów. Ponieważ wartości sin(0) = sin(π) = 0, to nie


musimy liczyć wielomianów Φ0, Φ3. Wyznaczymy dwa pozostałe Strona tytułowa

x(x − 2π/3)(x − π) 27x3 45x2 9x Spis treści


Φ1(x) = = − +
π/3(π/3 − 2π/3)(π/3 − π) 2π 3 2π 2 π
JJ II
x(x − π/3)(x − π) 27x3 18x2 9x
Φ2(x) = =− 3 + 2 −
2π/3(2π/3 − π/3)(2π/3 − π) 2π π 2π J I

Wielomian interpolacyjny, to Strona 237 z 288


√ √
9 3x 9 3x2
W (x) = sin(π/3)Φ1(x) + sin(2π/3)Φ2(x) = − Powrót
4π 4π 2
Ostatecznie, szukane przybliżenie, to Pełny ekran

Z π √
3 3π Zamknij

W (x)dx = ≈ 2.040524284763495
0 8
Koniec

Dokładna wartość całki 0 sin xdx = 2
Błąd kwadratury opartej na interpolacji Lagrange’a.
Przypuśćmy, że wielomian interpolacyjny W : [a, b] → R dla węzłów a =
x0 < . . . < xN = b przybliża funkcję f : [a, b] → R na całym przedziale z
dokładnością do ε > 0, czyli
c 2007 D.Wilczak

|f (x) − W (x)| ≤ ε, ∀x ∈ [a, b] Strona tytułowa

Spis treści
Wtedy różnica pomiędzy całką z funkcji f oraz całką z wielomianu spełnia
Z b Z b JJ II

f (x)dx − W (x)dx ≤ (b − a)ε

a a J I

W rozdziale 10.3 pokazaliśmy, że jeżeli funkcja f ma N + 1 ciągłych


Strona 238 z 288

pochodnych, to
Powrót
M
|f (x) − W (x)| ≤ |(x − x0)(x − x1) · · · (x − xN )|
(N + 1)! Pełny ekran

gdzie M = supξ∈[a,b] |f (N +1)(ξ)|. Podsumowując, Zamknij

Z b
f (x) − W (x)dx ≤ M · K(b − a) , K = sup |(x−x0) · · · (x−xN )|
Koniec

a
(N + 1)! x∈[a,b]
Błąd kwadratury opartej na interpolacji Lagrange’a, c.d.

• Błąd kwadratury może być trudny do policzenia, jeśli ilość węzłów jest
duża - konieczne jest oszacowanie stałej M , czyli największej co do

c 2007 D.Wilczak
moduły wartości N + 1-szej pochodnej funkcji podcałkowej.
Strona tytułowa
• Jeśli K1 jest stałą dla równo odległych węzłów
Spis treści

a, a + h1, a + 2h1, . . . , a + N h1,


JJ II

natomiast K2 jest stałą dla innych równo odległych węzłów


J I

b, b + h2, b + 2h2, . . . , b + N h2, Strona 239 z 288

to zachodzi związek  N +1 Powrót

K2 h2
=
K1 h1 Pełny ekran

• Stała K występująca w formule na oszacowanie błędu kwadratury Zamknij

opartej na interpolacji Lagrange’a jest znacznie przeszacowana. Dla


Koniec

małych N można znaleźć znacznie lepsze oszacowanie błędu.


Przykład 50 Podaj wartość stałej K dla kwadratury opartej na węzłach
0, π/3, 2π/3, π.

Rozwiązanie:

c 2007 D.Wilczak
Wyznaczamy największą wartość modułu wielomianu
Strona tytułowa

W (x) = x(x − π/3)(x − 2π/3)(x − π)


Spis treści

na przedziale [0, π]. Wartości na końcach przedziału to zero. Stąd


JJ II
maksimum będzie przyjęte w punkcie ekstremalnym wielomianu. Liczymy
pochodną J I
2 3
22π x 2π
W 0(x) = 4x3 − 6πx2 + − Strona 240 z 288
9 9
π 1 √  1 √ 
Miejsca zerowe pochodnej, to 2 , 6 3π − 5π , 6 3π + 5π a Powrót

wartości wielomianu W w tych punktach, to odpowiednio


Pełny ekran
 4
π4 π4

π
,− ,−
144 81 81 Zamknij

π4 Koniec
Stąd, szukana stała, to K =
81
Przykład 51 Podaj górne oszacowanie na błąd kwadratury, dla węzłów
0, π/3, 2π/3, π i funkcji f (x) = sin(x).

Rozwiązanie:
c 2007 D.Wilczak

Maksymalny błąd kwadratury, to


Strona tytułowa
Z π
M ·K ·π
S(f ) − f (x)dx ≤

0 (N + 1)! Spis treści

π4 JJ II
Stałą K = 81 wyznaczyliśmy w Przykładzie 50.
Stała M to największa wartość 4-tej pochodnej funkcji f na przedziale J I

[0, π]. Ponieważ f (4)(x) = sin(x), to M = 1.


Strona 241 z 288

Stąd, szukane oszacowanie, to


Z π Powrót
4 5


S(f ) −
1 · π · π π
f (x)dx ≤ = ≈ 0.157418

0 81 · (3 + 1)! 1944 Pełny ekran

Zamknij

Porównaj przykład 49, gdzie policzono wartość S(f ) ≈ 2.040524284763495



oraz 0 f (x)dx = 2. Koniec
Kwadratury dla równo odległych węzłów.
Wzory (36-37) mogą zostać praktycznie wykorzystane, gdyż całki z
wielomianów są łatwe do wyznaczenia. W szczególnym przypadku, gdy

c 2007 D.Wilczak
węzły są równo odległe wzór (37) przyjmuje postać
Z b Z N
(b − a) (−1)N −k t(t − 1) · · · (t − N ) Strona tytułowa

Ak = Φk (x)dx = dt
a N k!(N − k)! 0 (t − k) Spis treści

Kwadratury takie nazywamy kwadraturami Newtona-Cotesa.


JJ II
2.5

J I
2

1.5
Strona 242 z 288

Powrót
0.5

0.5 1 1.5 2 2.5 3 Pełny ekran

1 2
Na rysunku powyżej przedstawiono wykres funkcji f (x) = sin(x)e 4 x na Zamknij

przedziale [0, π] (linia czerwona). Linia niebieska to wykres wielomianu


Koniec
interpolacyjnego Lagrange’a dla pięciu równo odległych węzłów.
12.3. Metoda trapezów.
Jednym z najprostszych sposobów całkowania jest metoda trapezów. W
metodzie tej przybliżamy funkcję podcałkową f : [a, b] → R przy pomocy
interpolacji kawałkami liniowej 10.4. Dzielimy przedział [a, b] na określoną
c 2007 D.Wilczak

liczbę podprzedziałów a = x0 < x1 < x2 < · · · < xN = b oraz


Strona tytułowa

wyznaczamy przybliżoną wartość całki jako


Spis treści
Z b N −1
1 X
f (x)dx ≈ S(f ) = (xi+1 − xi)(f (xi) + f (xi+1)) (38)
a 2 i=0
JJ II

2
J I

1.5
Strona 243 z 288

Powrót
0.5

Pełny ekran
1 2 3 4

Należy zauważyć, że wzór (38) określa poprawnie kwadraturę (Def.27). Zamknij

X N
Ćwiczenie: wyznacz współczynniki Ak we wzorze S(f ) = Ak f (xk ). Koniec

k=0
12.4. Wzór Simpsona (parabol).

Metoda trapezów 12.3 jest szczególnym przypadkiem całkowania przy



c 2007 D.Wilczak
pomocy interpolacji Lagrange’a. Na każdym z przedziałów [xi, xi+1]
przybliżamy funkcję za pomocą funkcji liniowej. Strona tytułowa

Wzór Simpsona wykorzystuje przybliżenie całkowanej funkcji wielomianem


Spis treści

stopnia drugiego na każdym z przedziałów całkowania. Załóżmy, że mamy


JJ II
określoną funkcję f : [a, b] → R oraz trzy punkty podziału x0 = a, x1 =
(a + b)/2, x2 = b. J I

Podstawiając do wzoru (36) N = 2 otrzymujemy współczynniki kwadratury Strona 244 z 288

Z 2
(b − a) (−1)N −0 (b − a) 2 (b − a)
A0 = (t − 1)(t − 2)dt = · = Powrót
2 0!(N − 0)! 0 4 3 6
2
(b − a) (−1)N −1
 
−(b − a) 2(b − a)
Z
4 Pełny ekran
A1 = t(t − 2)dt = · − =
2 1!(N − 1)! 0 2 3 3
2
(b − a) (−1)N −2
Zamknij
(b − a) 2 (b − a)
Z
A2 = t(t − 1)dt = · =
2 2!(N − 2)! 0 4 3 6 Koniec
Wzór Simpsona 12.4, c.d.
Ostatecznie wzór Simpsona (zwany również wzorem parabol) na
przedziale [a, b] to
   
c 2007 D.Wilczak
(b − a) 1
S(f ) = f (a) + 4f (a + b) + f (b)
6 2 Strona tytułowa

Spis treści
Z π/2
Przykład 52 Wyznacz przybliżoną wartość sin(x)dx stosując wzór
0 JJ II
Simpsona.
J I
Rozwiązanie: Zgodnie z podanym wzorem obliczamy
π  √
Strona 245 z 288
(π/2 − 0)  π π 
S(f ) = sin 0 + 4 sin + sin = 2 2+1
6 4 2 12 Powrót

Przybliżona wartość ostatniego wyrażenia, to


Pełny ekran

S(f ) ≈ 1.0022798774922104777 Zamknij

Z π/2
Wartość dokładna całki, to sin(x)dx = 1 Koniec

0
Interpretacja geometryczna wzoru Simpsona
2 2
c 2007 D.Wilczak

1.5 1.5
Strona tytułowa

1 1
Spis treści

0.5 0.5
JJ II

0.5 1 1.5 2 0.5 1 1.5 2


J I

Na powyższych wykresach zacieniowano obszar - różnicę pomiędzy funkcją


Strona 246 z 288
daną (niebieska) a jej interpolacją (czerwona)
• z lewej - za pomocą wielomianu kwadratowego (wzór Simpsona) Powrót

• z prawej - za pomocą funkcji liniowej (wzór trapezów) Pełny ekran

Notebook Mathematica - porównanie metod.


Zamknij

Koniec
Błąd kwadratury dla interpolacji liniowej (na podstawie [5]).

c 2007 D.Wilczak

Różnica pomiędzy wielomianem (prostą) interpolującym i funkcją jest równa


Strona tytułowa

f (x) − W (x) = (x − a)(x − b)f (2)(ξ(x)), gdzie ξ(x) ∈ [a, b]


Spis treści

Wobec tego błąd kwadratury jest równy


JJ II
Z b Z b
f (x) − W (x)dx = (x − a)(x − b)f (2)(ξ(x))dx J I
a a

Stosując uogólnione tw. o wartości średniej dla całek 26 otrzymujemy Strona 247 z 288

Z b Z b
1 Powrót

f (x) − W (x)dx = f (2)(ξ1) (x − a)(x − b)dx = (b − a)3f (2)(ξ1)


a a 12
Pełny ekran

dla pewnego ξ1 ∈ [a, b].


Zamknij

Koniec
Przykład 53 Wyznacz oszacowanie błędu metody trapezów dla funkcji
f (x) = sin(x) oraz węzłów 0, π/4, π/2

Rozwiązanie: Błąd metody trapezów to suma błędów z dwóch


c 2007 D.Wilczak

podprzedziałów, czyli jeśli przez E(f ) oznaczymy szukany błąd, to


Strona tytułowa

1 π 3
00 1  π π 3 00
E(f ) = − 0 sin (ξ1) + − sin (ξ2)
12 4 12 2 4 Spis treści

dla pewnych ξ1 ∈ [0, π/4] oraz ξ2 ∈ [π/4, π/2]. Ostatecznie JJ II

√ !
1 π
 3 2 J I
|E(f )| ≤ + 1 ≈ 0.0689206
12 4 2
Strona 248 z 288

Wartość całki policzona za pomocą metody trapezów, to


Powrót

π √  1 √ 
S(f ) = 0+ 2+1 = 1 + 2 π ≈ 0.948059
8 8 Pełny ekran

a popełniony błąd, to Zamknij

E(f ) = 1 − S(f ) ≈ 0.0519406 Koniec



c 2007 D.Wilczak

Strona tytułowa

Spis treści

Błąd wzoru Simpsona (na podstawie [5]).


JJ II

 5
1 b−a J I
E(f ) = − f (4)(ξ1)
90 2
Strona 249 z 288

Powrót

Pełny ekran

Zamknij

Koniec
Przykład 54 Wyznacz oszacowanie błędu metody Simpsona dla funkcji
f (x) = sin(x) na przedziale [0, π/2]

c 2007 D.Wilczak

Rozwiązanie: Oznaczmy przez E(f ) szukany błąd. Mamy


 5 Strona tytułowa

1 π/2 − 0
E(f ) = − sin(4)(ξ1)
90 2 Spis treści

dla pewnego ξ1 ∈ [0, π/2]. Ostatecznie, JJ II

1  π 5
|E(f )| ≤ ≈ 0.00332053 J I
90 4
Strona 250 z 288
Wartość całki policzona za pomocą metody Simpsona, to
π  √  Powrót
S(f ) = 0 + 2 2 + 1 ≈ 1.00228
12
Pełny ekran

a popełniony błąd
Zamknij

E(f ) = 1 − S(f ) ≈ −0.00227988


Koniec
Zestawienie kwadratur Newtona-Cotesa dla małej liczby węzłów
Kwadraturę Newtona-Cotesa dla węzłów a, a + h, a + 2h, . . . , a + N h = b
można zapisać w postaci
N
c 2007 D.Wilczak
(b − a) X
S(f ) = σif (a + ih)
r i=0 Strona tytułowa

Współczynniki r oraz σi dla małych wartości N są przedstawione w tabeli. Spis treści

JJ II
N σi r błąd nazwa
1
1 11 2 h3 f (2)(ξ) wzór trapezów J I
12
1
2 141 6 h5 f (4)(ξ) wzór Simpsona Strona 251 z 288

90
3
h5 f (4)(ξ) wzór “trzech ósmych”
Powrót
3 1331 8
80
8 (6)
90 h7
Pełny ekran
4 7 32 12 32 7 f (ξ) wzór Milne’a
945
275 (6) Zamknij
5 19 75 50 50 75 19 288 h7 f (ξ) brak nazwy
12096
9 (8) Koniec
6 41 216 27 272 27 216 41 840 h9 f (ξ) wzór Weddle’a
1400
12.5. Rząd kwadratury.

Definicja 28
Mówimy, że kwadratura jest rzędu r, jeżeli
c 2007 D.Wilczak

• kwadratura jest zgodna dla wszystkich wielomianów o stopniu


Strona tytułowa
mniejszym niż r, czyli wartość policzonej całki za pomocą kwadratury
zgadza się z dokładną całką takiego wielomianu Spis treści

JJ II
• istnieje wielomian stopnia dokładnie r, dla którego kwadratura nie jest
zgodna. J I

Strona 252 z 288


Uwaga:
Kwadratury Newtona-Cotesa mają rząd Powrót

• N + 1 dla N nieparzystych Pełny ekran

• N + 2 dla N parzystych Zamknij

lub ogólnie 2 bN/2c + 2, gdzie bac oznacza cechę liczby a. Koniec


Zagadnienie najwyższego rzędu.
Powstaje pytanie: czy można dobrać tak węzły, aby przy ustalonej ich liczbie
rząd kwadratury był największy?
Mamy do dyspozycji 2(N + 1) parametrów: N + 1 węzłów i N + 1
c 2007 D.Wilczak

współczynników Ak definiujących kwadraturę. Strona tytułowa

Twierdzenie 21
Spis treści
Dla N + 1 węzłów istnieje dokładnie jedna kwadratura rzędu 2(N + 1).
Nazywana jest kwadraturą Gaussa-Legendre’a. JJ II

J I
Dla przedziału [−1, 1] węzłami tej kwadratury są miejsca zerowe
ortogonalnych wielomianów Legendre’a zdefiniowanych następująco Strona 253 z 288

1  2 n (n)

Pn(x) = n (x − 1) Powrót
2 n!
Pełny ekran
Współczynniki tej kwadratury wyrażają się następująco
2 Zamknij
Ak = −
(N + 2)PN +2(xk )PN0 +1(xk )
Koniec

gdzie x0, . . . , xN są miejscami zerowymi wielomianu PN +1.


Kwadratury Gaussa-Legendre’a, c.d.
Wyznaczymy wielomiany Legendre’a i węzły dla małych wartości N . Mamy
1 2
0
P1(x) = x −1 =x
211!
c 2007 D.Wilczak

1 00 1
(x2 − 1)2 = 3x2 − 1

P2(x) =
222! 2 Strona tytułowa

1 000 1
(x2 − 1)3 = x 5x2 − 3

P3(x) =
233! 2 Spis treści

1 2 4 0000
 1 4 2

P4(x) = (x − 1) = 35x − 30x + 3 JJ II
244! 8
Zgodnie z podaną procedurą, węzły dla ustalonego N to pierwiastki J I

wielomianuq
PN +1. Stąd np. dla N = 2 węzłami będą miejsca zerowe P3, Strona 254 z 288
n o
3
czyli 0, ± 5 . Wartości współczynników, to
Powrót

2
Ak = − 0 (x ) Pełny ekran
(2 + 2)P2+2(xk )P2+1 k

czyli Zamknij

5 8 Koniec
A0 = A2 = , A1 =
9 9
Początkowe wartości węzłów i współczynników
dla kwadratur Gaussa-Legendre’a


c 2007 D.Wilczak
N węzły
n o współczynniki Ak
1
1 ± √3 {1} Strona tytułowa
n q o 8 5
2 0, ± 35 ,
 q √6 q √6  9 9  Spis treści

2 2
3 ± 37 + 7 5 , ± 37 − 7 5 49

6(18+ 30)
, 49√
108−6 30 JJ II
 r q r q  n o
4 0, ± 31 5 + 2 107 , ± 31 5 − 2 107 128
, 5103 √
, 5103 √
225 16100+650 70 16100−650 70 J I

Strona 255 z 288

N węzły współczynniki Ak Powrót

1 {±0.57735} {1}
Pełny ekran

2 {0, ±0.774596} {0.888888, 0.555555}


Zamknij
3 {±0.861136, ±0.339981} {0.347854, 0.652145}
4 {0, ±0.906179, ±0.538469} {0.568888, 0.236926, 0.478628} Koniec
Kwadratury Gaussa-Legendre’a dla dowolnego przedziału
c 2007 D.Wilczak

Podane w poprzedniej tabeli węzły i współczynniki dotyczyły całek na


Strona tytułowa

przedziale [−1, 1]. Można je wykorzystać do obliczania całek na dowolnym


Spis treści
przedziale stosując proste podstawienie liniowe
Z b
b−a 1 JJ II
Z
f (t)dt = g(x)dx
a 2 −1 J I

gdzie
Strona 256 z 288

a+b b−a
t = + x
2 2 
Powrót

a+b b−a
g(x) = f (t) = f + x Pełny ekran
2 2
Zamknij

Koniec
R π/2
Przykład 55 Wyznacz całkę 0 sin xdx stosując kwadraturę Gaussa-
Legendre’dla trzech węzłów.

Rozwiązanie:
c 2007 D.Wilczak
n q q o
Węzłami kwadratury Gaussa-Legendre’a są − 35 , 0, 35 . Po
Strona tytułowa

przeskalowaniu na przedział [−1, 1] otrzymujemy


Z π/2 Spis treści

π 1
Z
sin tdt = g(x)dx
0 4 −1 JJ II

gdzie g(x) = sin(π/4 + π/4x). Szukana kwadratura to J I

r ! r !!
π 3 3 Strona 257 z 288
S(g) = 5g − + 8g (0) + 5g
36 5 5
5   √  8 5   √  Powrót

= sin π/4 1 − 0.6 + sin(π/4) + sin π/4 1 + 0.6


9 9 9 Pełny ekran

≈ 1.0000081215554981
Zamknij

Porównaj Przykład 54 z całką wyznaczoną za pomocą metody Simpsona,


Koniec
również dla trzech węzłów.

c 2007 D.Wilczak
12.6. Metody Monte Carlo.
Strona tytułowa

Dotychczas omawiane algorytmy były ściśle zdeterminowane, czyli


każda realizacja algorytmu daje ten sam wynik, przy założeniu bezbłędnie Spis treści

wykonywanych działań. JJ II

J I
Są jednak sytuacje, gdzie

• skonstruowanie klasycznego algorytmu jest bardzo trudne Strona 258 z 288

• najlepsza znana złożoność jest bardzo zła i wykonanie algorytmu jest Powrót

bardzo czasochłonne, czasem przekraczające zasoby dostępnych maszyn Pełny ekran

Zamknij

Koniec

c 2007 D.Wilczak

Metody Monte Carlo, cd. Strona tytułowa

• metody Monte Carlo wykorzystują wielokrotne próby losowe do Spis treści

znalezienia przybliżonego rozwiązania problemu JJ II

• algorytm probabilistyczny jest niezdeterminowany, czyli każdorazowe


J I
uruchomienie algorytmu z tymi samymi danymi wejściowymi może dać
Strona 259 z 288
inny wynik
Powrót
• algorytmy probabilistyczne wykorzystują prawo wielkich liczb
Pełny ekran

Zamknij

Koniec
Prawo wielkich liczb - ilustracja.
Przykład 56 Rozważmy powtarzane zdarzenia losowe

c 2007 D.Wilczak
• zdarzenie - rzut dwoma kostkami do gry, przestrzeń probabilistyczna to
zbiór uporządkowanych par oczek, ilość możliwości to 36 Strona tytułowa

• zmienna losowa X- wartość bezwzględna z różnicy oczek, przyjmuje Spis treści

wartości z zakresu 0, 1, 2, 3, 4, 5. JJ II

• Sn suma wartości X z kolejnych n prób losowych J I

• EX wartość oczekiwana, Strona 260 z 288

5
X 6 10 8 6 4 2 35
EX = iP (X = i) = 0· +1· +2· +3· +4· +5· = Powrót

i=0
36 36 36 36 36 36 18
Pełny ekran

Prawo wielkich liczb mówi, że dla dowolnego ε > 0


  Zamknij
Sn
lim P − EX < ε = 1
n→∞ n Koniec
Zastosowanie metod typu Monte Carlo do liczenia całek.
c 2007 D.Wilczak
Rb
Wartość całki oznaczonej a f (x)dx z funkcji nieujemnej można wyznaczyć
Strona tytułowa

następująco
Spis treści

• niech M będzie dowolną liczbą ograniczającą wartości funkcji na


przedziale [a, b], czyli 0 ≤ f (x) < M dla x ∈ [a, b] JJ II

• losujemy n punktów w kwadracie [a, b] × [0, M ] J I

nw
• przybliżona wartość całki, to S(f ) = M (b − a), gdzie nw to liczba Strona 261 z 288

n
wylosowanych punktów, które znalazły się pod wykresem funkcji Powrót

Pełny ekran

Zobacz notebook Mathematica z ilustracją metody


Zamknij

Koniec
Zastosowanie metod typu Monte Carlo do liczenia całek, cd.
Przedstawiona powyżej metoda ma kilka wad

• czasem trudno jest wyznaczyć stałą M ograniczającą wartości funkcji



c 2007 D.Wilczak
• w przypadku funkcji, które przyjmują wartości dodatnie i ujemne musimy
liczyć wartości całek na podprzedziałach, w których dana funkcja ma Strona tytułowa

stały znak Spis treści

JJ II
Możemy zastosować następujące podejście
J I
• przy pomocy prób losowych ustalamy średnią wartość funkcji na
przedziale [a, b] Strona 262 z 288

• szukana wartość całki, to średnia wartość funkcji pomnożona przez Powrót

długość przedziału, czyli Pełny ekran

Z b n
b−aX
f (x)dx ≈ f (xlosowe) Zamknij

a n 1
Koniec

Zobacz notebook Mathematica z ilustracją metody


Metody Monte Carlo i całki wielokrotne
-1
-0.5
0
0.5
1

c 2007 D.Wilczak

1
Strona tytułowa

0.5 Spis treści

JJ II

0
-1 J I
0

1 Strona 263 z 288

2
Powrót

Całki wielokrotne pozwalają na wyznaczanie n+1-wymiarowej objętości pod


wykresem funkcji f : Rn → R. Dla funkcji f : R2 → R istnieją metody
Pełny ekran

zwane kubaturami (odpowiednik kwadratur dla funkcji jednej zmiennej). Zamknij

W wyższych wymiarach złożoność obliczeniowa jest bardzo duża i warto Koniec

rozważyć metody probabilistyczne.


Niech S ⊂ Rn będzie obszarem ograniczonym i domkniętym, a f : S → R
będzie funkcją ciągłą. Przez |S| oznaczymy n-wymiarową objętość S. Całka
Z
I = f (x)dx1dx2 . . . dxn
S
c 2007 D.Wilczak

określa n + 1 wymiarową objętość walcoidu, który powstaje pomiędzy


Strona tytułowa

podstawą S i płatem funkcji f nad S.


Spis treści

• niech D = [a1, b1] × · · · × [an, bn] będzie obszarem zawierającym S.


JJ II
Niech |D| = |b1 − a1| · · · |bn − an| oznacza n-wymiarową objętość D.
J I
• w zbiorze D losujemy N punktów. Niech N0 oznacza liczbę
wylosowanych punktów, które znalazły się w obszarze S - ponumerujmy Strona 264 z 288

je p1, p2, . . . , pN0 Powrót

• szukana całka, to
Pełny ekran

N 0
|S| X
Z
f (x)dx1dx2 . . . dxn ≈ f (pi) Zamknij

S N 0 i=1
Koniec

Jeśli |S| jest trudne do policzenia, to możemy przyjąć |S| ≈ |D| · N0/N .
Z
Przykład 57 Policz całkę x2 + y 2 + 1dxdy, gdzie S jest pełną elipsą
S
2 2 2
S = {x, y ∈ R : x + 4y ≤ 1}
0.5
-1
0.25 -0.5
0 0
Rozwiązanie: Obszar S jest zawarty w -0.25
-0.5
0.5
1

c 2007 D.Wilczak

2
kwadracie D = [−1, 1] × [−1, 1]. Pole elipsy i
Strona tytułowa
kwadratu to |S| = 21 π ≈ 1.5707963267948966, 1.5

|D| = 4. 1
Spis treści
0.5
W tabeli poniżej przedstawiono wyniki dla
0
różnych ilości prób losowych JJ II

0 N 0 N 0 N J I
|D|N0 1 X |D|N0 1 X π 1 X
N N0 f (pi) f (pi) f (pi)
N N0 i=1 N N0 i=1 2 N0 i=1 Strona 265 z 288

102 40 1.6 1.35546 2.16874 2.12916


Powrót
103 378 1.512 1.30486 1.97295 2.04967
104 3945 1.578 1.31253 2.07117 2.06171 Pełny ekran

105 39389 1.57556 1.31152 2.06638 2.06013


Zamknij
106 392977 1.57191 1.31282 2.06363 2.06217
Z
21π Koniec
Wartość dokładna całki, to x2 + y 2 + 1dxdy = ≈ 2.06167
S 32
13. Równania różniczkowe.

c 2007 D.Wilczak

Przykład 58 Przypuśćmy, że ciało porusza się po linii prostej ze stałym


Strona tytułowa

przyspieszeniem a (np. swobodny spadek obiektu z niewielkiej wysokości bez


Spis treści
tarcia pod wpływem grawitacji). Wówczas równanie ruchu ma postać
JJ II
00
x =a (39)
J I

W równaniu różniczkowym często zadajemy warunek początkowy,


Strona 266 z 288
czyli stan w jakim obiekt znajduje się w chwili zerowej. W
przypadku swobodnego spadku określamy: początkową wysokość oraz Powrót

początkową prędkość obiektu. Równanie różniczkowe wraz z określonymi Pełny ekran

warunkami początkowymi nazywamy zagadnieniem początkowym.


Zamknij

Koniec
Przypuśćmy, że ustaliliśmy początkową wysokość obiektu na s0, a
początkową prędkość na v0. Wówczas zagadnienie początkowe dla równania
c 2007 D.Wilczak

(39) ma postać Strona tytułowa

x00 = a


x(0) = s0 (40) Spis treści

 0
x (0) = v0
JJ II
Rozwiązaniem takiego zagadnienia początkowego jest funkcja
J I

x : I → R, gdzie I jest przedziałem otwartym zawierającym zero.


Strona 267 z 288

Interpretujemy ją następująco: w czasie t wysokość obiektu to x(t).


Powrót

Równanie (40) ma proste rozwiązanie, dane wzorem


Pełny ekran
1
x(t) = s0 + v0t + at2
2 Zamknij

Koniec
Przykład 59 Ruch ciężarka zaczepionego na sprężynie.
Zgodnie z drugą zasadą dynamiki, siła działająca na ciało to

F = ma = mx00

c 2007 D.Wilczak

Przypuśćmy, że siła nie jest stała (np. umocujemy ciężarek na końcu Strona tytułowa

sprężyny). Ruch takiego ciężarka podlega prawu Hooke’a: jeśli wychylenie


Spis treści

sprężyny nie jest duże, to siła sprężystości działająca na ciało jest równa
JJ II

P = −kx,
J I

gdzie k > 0 jest współczynnikiem sprężystości. Jeśli dodamy jeszcze siły


Strona 268 z 288
0
tarcia T = −lx , to łączna siła działąjąca na ciężarek jest równa
Powrót

F = mg − kx − lx0.
Pełny ekran

Porównując F = mx00 otrzymujemy Zamknij

mx00 + lx0 + kx = mg Koniec


Przykład 60 Rozwiąż równanie ciężarka dla m = 1, l = 12 , k = 65
16 ,
g = 10, x(0) = 0, x0(0) = 0.
Rozwiązanie: szukamy najpierw rozwiązania ogólnego dla równania

c 2007 D.Wilczak
x00(t) + 21 x0(t) + 16
65
x(t) = 10. Rozważamy pomocniczy wielomian
Strona tytułowa
λ 65
W (λ) = λ2 + +
2 16 Spis treści

Miejsca zerowe tego wielomianu, to λ1 = − 41 + 2i, λ2 = − 14 − 2i.


JJ II

Rozwiązaniami równania jednorodnego x00(t) + 21 x0(t) + 65


16 x(t) = 0 są J I

−1
x̃(t) = e 4 t (c1 cos(2t) + c2 sin(2t)) Strona 269 z 288

gdzie c1, c2 są dowolnymi stałymi rzeczywistymi. Znajdziemy teraz Powrót

rozwiązanie szczególne równania x00(t) + 12 x0(t) + 65


16 x(t) = 10. Łatwo Pełny ekran
160 32
widać, że funkcja stała x(t) = 65 = 13 spełnia powyższe równanie. Stąd
Zamknij
rozwiązanie ogólne równania, to
32 −1
x(t) = + e 4 t (c1 cos(2t) + c2 sin(2t)) (41) Koniec

13
Przykład 60, c.d.
Jeśli uwzględnimy dodatkowo warunki początkowe, czyli x(0) = 0, x0(0) =
0, to rozwiązanie (41) spełnia
32 32 −32
c 2007 D.Wilczak

0 = x(0) = + e0(c1 cos 0 + c2 sin 0), =⇒ c1 = 0 − =


13 13 13
1 1 −4 Strona tytułowa

0 = x0(0) = − c1 + 2c2, =⇒ c2 = c1 =
4 8 13 Spis treści

Ostatecznie rozwiązanie zagadnienia początkowego ma postać


JJ II
 
32 32 4
x(t) = − e−t/4 cos(2t) + sin(2t) J I
13 13 13
xHtL Strona 270 z 288

Powrót

Pełny ekran

Zamknij

Koniec
t
2 4 6 8 10 12 14
Definicja 29

Równaniem różniczkowym zwyczajnym pierwszego rzędu


nazywamy równanie postaci
d n n n

c 2007 D.Wilczak

x(t) = f (x(t)), x:R→R , f :R →R


dt Strona tytułowa

Uwagi: Spis treści

• na ogół nie da się rozwiązać analitycznie równania różniczkowego (tzn. JJ II

napisać wzoru na rozwiązanie)


J I
• rozwiązywanie równań różniczkowych to w pewnym sensie
przewidywanie przyszłości. Chcemy dowiedzieć się, w jakim stanie Strona 271 z 288

będzie po pewnym czasie obiekt, którego stan jest obecnie znany.


Powrót
Funkcja określająca równanie różniczkowe mówi, jakie prawa rządzą
zmianą stanu tego obiektu w czasie. Pełny ekran

• za pomocą metod numerycznych możemy znaleźć przybliżone


Zamknij
rozwiązania równania różniczkowego oraz czasem podać maksymalną
różnicę pomiędzy rozwiązaniem przybliżonym i prawdziwym Koniec
Przykład 61 Wahadło matematyczne bez tłumienia.
Zgodnie z II prawem Newtona

F = ma

c 2007 D.Wilczak

W tym przypadku jedyną siłą jest


grawitacja, czyli F = −mg sin θ. Strona tytułowa

Porównując otrzymujemy
Spis treści

a = −g sin θ (42)
JJ II

Długość łuku przy odchyleniu θ to


J I
s = lθ. Mamy kolejno
ds dθ Strona 272 z 288

v = =l
dt dt Powrót
2
ds d2θ
a = =l 2
dt2 dt Pełny ekran

Podstawiając do (42) otrzymujemy równanie różniczkowe


Zamknij

d2θ g
+ sin θ = 0 Koniec
dt2 l
Przykład 62
Równania Voltery-Lotki opisują idealny matematyczny model, w którym
w zamkniętym środowisku w czasie s > 0 żyje x(s) ofiar i y(s) drapieżników.
Równania opisujące liczność każdej z populacji w czasie, to
c 2007 D.Wilczak

 0
x (t) = x(s)(a − b · y(s))
(43) Strona tytułowa

y 0(t) = y(s)(c · x(s) − d)


Spis treści
dla pewnych stałych a, b, c, d.
yHtL JJ II

J I
6

5 Strona 273 z 288

4 Zobacz aplet Powrót

3
- dynamika równań Voltery-Lotki.
Pełny ekran

2
Zamknij

1
Koniec

xHtL
1 2 3 4 5 6
13.1. Metoda Eulera
Metoda Eulera, to najprostsza metoda numerycznego rozwiązywania
równań różniczkowych. Opiera się ona na rozwinięciu w szereg Taylora
rozwiązania równania różniczkowego do pierwszego rzędu.
c 2007 D.Wilczak

Skoro x0(t) = f (x(t)), to (pomijając w rozwinięciu pochodne rzędu 2 i


Strona tytułowa

wyższych) możemy napisać


Spis treści
0
x(t) ≈ x(0) + x (0)t = x(0) + f (x(0))t
JJ II

4.5 J I

4.25
Strona 274 z 288

4
Powrót
yHtL

3.75

Pełny ekran
3.5

3.25 Zamknij

3
2 2.5 3 3.5 4 Koniec
xHtL
Wejście metody Eulera:

1. ciąg odstępów czasowych



c 2007 D.Wilczak

0 = t0 < t1 < t2 < . . . < tn Strona tytułowa

2. punkt początkowy x(0). Spis treści

Wyjście: ciąg przybliżonych wartości rozwiązania JJ II

J I
x(t1), x(t2), . . . , x(tn)
Strona 275 z 288

Wyznaczanie kolejnych punktów:


Powrót

1. punkt x(t0) = x(0) jest zadany na wejściu.


Pełny ekran
2. Przy założeniu, że wyznaczony jest już punkt x(tk ) konstruujemy
Zamknij

x(tk+1) = x(tk ) + f (x(tk ))(tk+1 − tk )


Koniec
Zastosowanie metody Eulera do równań Voltery-Lotki
Rozważmy równanie (43) z parametrami a = b = c = d = 1 oraz punktem
początkowym x0 = x(0) = 1, y0 = y(0) = 2.
Załóżmy, że odstępy pomiędzy krokami czasowymi są takie same i tk+1 −
c 2007 D.Wilczak

tk = h = 0.1. Wtedy kolejne punkty przybliżające rozwiązanie, to Strona tytułowa

x1 = x(0.1) = x0 + x0(1 − y0)h = 1 + 1(1 − 2)0.1 = 0.9 Spis treści

y1 = y(0.1) = y0 + y0(x0 − 1)h = 2 + 2(1 − 1)0.1 = 2 JJ II

x2 = x(0.2) = x1 + x1(1 − y1)h = 0.9 + 0.9(1 − 2)0.1 = 0.81


J I

y2 = y(0.2) = y1 + y1(x1 − 1)h = 2 + 2(0.9 − 1)0.1 = 1.98


Strona 276 z 288
2.5

Powrót
2

1.5 Pełny ekran


yHtL

Zobacz notebook Mathematica.


1
Zamknij

0.5

Koniec
0.5 1 1.5 2
xHtL
Metoda Eulera dla różnych kroków czasowych.
W przedstawionej metodzie Eulera ustaliliśmy krok czasowy na h = 0.1.

c 2007 D.Wilczak
Przybliżone rozwiązanie istotnie zależy od tego parametru.
Strona tytułowa

2.5
2.25
Spis treści

2
2
JJ II
1.75

1.5
1.5 J I
yHtL

yHtL 1.25
Strona 277 z 288
1 1

0.75
Powrót

0.5 0.5
Pełny ekran
0.5 1 1.5 2 0.5 0.75 1 1.25 1.5 1.75 2
xHtL xHtL
Zamknij
h = 0.1 h = 0.05
Koniec
Oszacowanie błędu w metodzie Eulera.
Założenia i oznaczenia:

• pole wektorowe jest dane przez funkcję f : R → R, która ma dwie


c 2007 D.Wilczak

ciągłe pochodne Strona tytułowa

• krok czasowy jest stały i równy h = tn+1 − tn, n > 0. Spis treści

• Xn oznacza rozwiązanie dokładne, czyli Xn = x(nh)


JJ II

• xn oznacza rozwiązanie przybliżone uzyskane po n krokach metody


J I
Eulera, czyli xn = xn−1 + hf (xn−1)
Strona 278 z 288

• L - stała Lipschitza odwzorowania f , czyli taka, że


Powrót

|f (x) − f (y)| ≤ L|x − y|


Pełny ekran

• εn - błąd metody Eulera aż do n-tego kroku włącznie, czyli Zamknij

εn = Xn − xn Koniec
Oszacowanie błędu w metodzie Eulera, cd.
Z Twierdzenia Taylora 23 wnioskujemy, że

c 2007 D.Wilczak

Xn+1 = Xn + hf (Xn) + Tn (44)


Strona tytułowa

gdzie Tn = 21 h2x00(ξn), dla pewnego ξn ∈ (tn, tn+1).


Spis treści
Odejmując stronami od (44) definicję xn+1 = xn + hf (xn) otrzymujemy
JJ II
εn+1 = εn + h (f (Xn) − f (xn)) + Tn
J I

a podstawiając warunek Lipschitza |f (Xn) − f (xn)| ≤ L|Xn − xn| = Lεn


Strona 279 z 288
otrzymujemy rekurencyjne oszacowanie błędu
Powrót

|εn+1| ≤ (1 + Lh)|εn| + |Tn| ≤ (1 + Lh)|εn| + T


Pełny ekran

gdzie
1 Zamknij

T = h2 max |x00(t)|
2 t∈(tn,tn+1)
Koniec
13.2. Metoda Rungego-Kutty czwartego rzędu.

Jedną z bardziej popularnych metod znajdowania przybliżonego rozwiązania


równania różniczkowego z danym warunkiem początkowym jest metoda

c 2007 D.Wilczak
Rungego-Kutty czwartego rzędu. Metoda ma relatywnie wysoki rząd i jest
bardzo prosta w implementacji. Strona tytułowa

Opis: Jeśli mamy już skonstruowany punkt xk oraz jest ustalony krok Spis treści

czasowy h, to punkt xk+1 konstruujemy w następujący sposób. Najpierw


JJ II
definiujemy pomocnicze punkty
J I
k1 = f (xk )
Strona 280 z 288
k2 = f (xk + hk1/2)
Powrót
k3 = f (xk + hk2/2)
k4 = f (xk + hk3) Pełny ekran

Ostatecznie xk+1 wyliczamy jako Zamknij

h Koniec
xk+1 = xk + (k1 + 2k2 + 2k3 + k4)
6
Inne metody typu Rungego-Kutty
Ogólnie, metody Rungego-Kutty są określone wzorem
s
X
xn+1 = xn + w i Ki , gdzie
c 2007 D.Wilczak
i=1
K1 = hf (xn) Strona tytułowa
 
i
X
Ki = hf xn + bij Kj  , i>1 Spis treści

j=1
JJ II
oraz wi, ai, bij są pewnymi stałymi. Najczęściej stosowanymi są wzór Gilla
J I
oraz wzór Ralstona - zainteresowanych odsyłam do [5, str.311].
Inne metody: Strona 281 z 288

• metoda Taylora wykorzystująca automatyczne różniczkowanie - Powrót

trudna w implementacji, dająca dobre i łatwe w analizie oszacowania Pełny ekran

błędów, dowolnie wysoki rząd metody


Zamknij

• metody Geara dla układów typu stiff


Koniec

• metody symplektyczne dla układów Hamiltonowskich


13.3. Przykład ruchu w polu grawitacyjnym
Rozważmy problem ruchu w polu grawitacyjnym na jednej płaszczyźnie N
ciał. Dokładniej, każde z tych ciał wpływa na ruch innych ciał. Ruch takich

c 2007 D.Wilczak
cząstek opisywany przez równanie różniczkowe

00
X qj − qi Strona tytułowa

miqi (t) = mi mj 3,
j6=i
kqj − qik Spis treści

gdzie qi(t) = (qi1(t), qi2(t)) oznacza położenie i-tego ciała na płaszczyźnie JJ II

w czasie t, natomiast mi jest masą i-tej cząstki.


J I
Wiadomym jest, że dla N ≥ 3 nie da się rozwiązać tego równania. Jedyne,
co możemy zrobić, to próbować symulować na komputerze ruch takich ciał Strona 282 z 288

(planet). Powrót

Pełny ekran

zobacz program C++


zobacz aplet Zamknij

Koniec
14. Dodatki.
Twierdzenie 22 Własność Darboux [4]

Niech f : [a, b] −→ R będzie funkcją ciągłą na przedziale [a, b]. Wtedy


c 2007 D.Wilczak

funkcja przyjmuje wszystkie wartości pośrednie pomiędzy f (a) i f (b) na


przedziale [a, b]. W szczególności, jeśli f (a) · f (b) < 0 to funkcja f ma co Strona tytułowa

najmniej jedno miejsce zerowe w przedziale [a, b].


Spis treści

30

-4 -3 -2 -1 1 2 JJ II

-50
J I

-100
Strona 283 z 288

-150
-168
Powrót
-200
Pełny ekran

Funkcja przyjmuje wszystkie wartości pośrednie z przedziału [f (−4), f (2)] Zamknij

(linia czerwona), w szczególności ma miejsce zerowe w podanym przedziale.


Koniec
Funkcja może przyjmować wartości spoza przedziału [f (−4), f (2)].
Twierdzenie 23 Taylora dla funkcji jednej zmiennej [4].

Załóżmy, że funkcja f : [a, b] −→ R jest klasy C k w przedziale [a, b]. Wtedy

f 0(a) f 00(a) 2 f (k−1)(a)


c 2007 D.Wilczak

f (b) = f (a)+ (b−a)+ (b−a) +· · ·+ (b−a)k−1 +Rk ,


1! 2! (k − 1)!
Strona tytułowa

gdzie reszta Rk ma postać


Spis treści
(k)
f (c)
Rk = (b − a)k , dla pewnego c ∈ (a, b)
k! JJ II

J I

4
Strona 284 z 288

2
Kolejne przybliżenia funkcji
Powrót

x3 x5 x7
1 2 3 4 5 6 sin x = x − + − + ··· Pełny ekran
3! 5! 7!
-2 Zamknij
Zobacz notebook Mathematica
-4 Koniec
Twierdzenie 24 Lagrange’a [4].

Jeżeli funkcja f : [a, b] −→ R jest ciągła w przedziale [a, b] oraz


różniczkowalna w przedziale (a, b) to istnieje c ∈ (a, b) takie, że

c 2007 D.Wilczak
f (b) − f (a)
f 0(c) =
b−a Strona tytułowa

Spis treści

JJ II
f(a)
J I

Strona 285 z 288

f(b) Powrót

a c b
Pełny ekran

Funkcja w pewnym punkcie c przedziału ma styczną (czerwona) równoległą Zamknij

do cięciwy poprowadzonej przez punkty (a, f (a)) i (b, f (b)) (niebieska).


f (b)−f (a) Koniec
Tangens kąta nachylenia tej stycznej to f 0(c) = b−a .
Twierdzenie 25 o trzech ciągach

Jeżeli
lim an = lim cn = g ∈ R ∪ {∞, −∞}
n→∞ n→∞

c 2007 D.Wilczak
oraz istnieje N ∈ N takie, że dla n > N zachodzi
Strona tytułowa
an ≤ bn ≤ cn
Spis treści
to ciąg bn ma granicę równą g, limn→∞ bn = g.
JJ II
4

3 J I

2
Strona 286 z 288

Powrót
2 4 6 8 10 12 14 16 18 20

-1 Pełny ekran

-2
Zamknij

Wyrazy ciągu bn są pomiędzy wyrazami ciągów an i cn. Ponieważ ciągi an


Koniec
i cn mają taką samą granicę, to ciąg bn też musi mieć tą samą granicę.

c 2007 D.Wilczak

Strona tytułowa

Twierdzenie 26 uogólnione twierdzenie o wartości średniej dla całek


Spis treści

Jeżeli funkcje f, g : [a, b] → R są całkowalne w przedziale [a, b], f jest


ciągła oraz g nie zmienia znaku w przedziale [a, b] to istnieje punkt c ∈ [a, b] JJ II

taki, że Z b Z b J I

f (x)g(x)dx = f (c) g(x)dx


a a Strona 287 z 288

Powrót

Pełny ekran

Zamknij

Koniec
Literatura
[1] CAPD – Computer Assisted Proofs in Dynamics group, http://capd.wsb-nlu.edu.pl.

[2] P.D. Crout, A short method for evaluating determinants and solving systems of linear equations with real and
complex coefficients, Trans. AIEE 60, (1941), str. 1235-1240.
[3] The IEEE Standard for Binary Floating-Point Arithmetics, ANSI-IEEE Std 754, (1985).

c 2007 D.Wilczak

[4] G.M. Fichtenholz, Rachunek różniczkowy i całkowy, Warszawa, PWN 1985.

[5] Z. Fortuna, B. Macukow, J. Wąsowski, Metody numeryczne, Warszawa, WNT 1998. Strona tytułowa

[6] Janina i Michał Jankowscy, Przegląd metod i algorytmów numerycznych, Część I, Warszawa, WNT 1981.
[7] R.E. Moore, Interval analysis, Prentice-Hall Inc., Englewood Cliffs, N.J. 1966. Spis treści

[8] J. Stoer, R. Bulirsch, Wstęp do analizy numerycznej, Warszawa, PWN, 1987.

[9] K. Wanat, Algorytmy numeryczne, Gliwice, Wydawnictwo DIR 1993. JJ II

[10] J.H. Wilkinson, Błędy obliczeń w procesach algebraicznych, Warszawa, PWN 1967.
J I

Strona 288 z 288

Powrót

Pełny ekran

Zamknij

Koniec

You might also like