metody_numeryczne_w_c_builder_metcbu.pdf

(1802 KB) Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Metody numeryczne
SPIS TRECI
w C++Builder
KATALOG KSI¥¯EK
KATALOG ONLINE
Autorzy: Bernard Baron, £ukasz Pi¹tek
ISBN: 83-7361-544-X
Format: B5, stron: 552
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Metody numeryczne s¹ to sposoby rozwi¹zywania z³o¿onych problemów
matematycznych za pomoc¹ narzêdzi obliczeniowych udostêpnianych przez
popularne jêzyki programowania. Jeden z najpopularniejszych jêzyków — C++,
chocia¿ nie by³ projektowany z myl¹ o zastosowaniu go w obliczeniach numerycznych,
posiada mechanizmy, które umo¿liwiaj¹ stosunkowo ³atw¹ implementacjê algorytmów
obliczeniowych. Dziêki uniwersalnoci mechanizmu szablonów programista mo¿e
tworzyæ procedury numeryczne, w których da siê okreliæ precyzjê obliczeñ
zmiennoprzecinkowych. Procedury stworzone w C++ nadaj¹ siê do przeprowadzania
obliczeñ zarówno w dziedzinie liczb rzeczywistych, jak i zespolonych.
Ksi¹¿ka „Metody numeryczne w C++Builder” przedstawia najczêciej wykorzystywane
algorytmy numeryczne wraz z przyk³adami ich implementacji w jêzyku C++.
Ka¿de zagadnienie jest omówione zarówno od strony teoretycznej, jak i praktycznej,
co u³atwia jego zrozumienie i pozwala na modyfikacje zamieszczonych w ksi¹¿ce
kodów ród³owych. Ksi¹¿ka zawiera równie¿ opis zagadnieñ zwi¹zanych z jêzykiem
C++, niezbêdnych do poznania i prawid³owego wykorzystywania biblioteki obliczeñ
numerycznych.
• Algebra macierzy i równania liniowe
• Ca³kowanie i ró¿niczkowanie numeryczne
• Wybrane algorytmy interpolacji i aproksymacji
• Wyznaczanie minimów funkcji
• Rozwi¹zywanie równañ nieliniowych i wyznaczanie wartoci w³asnych macierzy
• Uk³ady równañ ró¿niczkowych liniowych i nieliniowych
• Przekszta³cenia Fouriera i Laplace’a
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
504316966.001.png 504316966.002.png 504316966.003.png
Spis treci
Przedmowa........................................................................................7
Rozdział 1. Definicje typów, funkcji, klas i wzorców dla zagadnie numerycznych..9
1.1. Zastosowanie wzorców C++ w bibliotece oblicze numerycznych........................10
1.2. Definicja wzorca klasy liczb zespolonych...............................................................13
1.3. Organizacja biblioteki oblicze numerycznych.......................................................15
1.4. Funkcje konwersji liczb rzeczywistych zespolonych na łacuch i odwrotnie ........16
1.5. U+ycie wzorca klasy vector do implementacji wektorów w j-zyku C++ ............18
1.5.1. Operacje na wektorach zdefiniowanych na bazie konteneru vector.............20
1.6. Macierz jako wektor wektorów ...............................................................................21
1.7. Zapis i odczyt wektorów oraz macierzy na komponencie TStringGrid ...............24
1.8. Funkcje wzorcowe do zapisu i odczytu plików macierzy .......................................24
1.9. Wykorzystanie funkcji matematycznych zawartych w bibliotece math.h...............25
1.10. Przekazywanie wska7ników funkcji do procedur implementuj8cych
algorytmy oblicze numerycznych.......................................................................27
1.11. DynamicArray i wzorzec valarray jako alternatywa dla wzorca klasy vector........29
1.12. Wy:wietlanie komunikatów o bł-dach i implementacja wska7ników post-pu ......29
Rozdział 2. Algebra macierzy i równania liniowe .................................................33
2.1. Metoda bezpo:redniego rozwi8zywania układu równa macierzowych
metod8 eliminacji Gaussa.....................................................................................34
2.1.1. Skalowanie układu równa liniowych ..........................................................38
2.2. Rozwi8zywanie układu równa liniowych według algorytmu Crouta....................40
2.3. Obliczanie macierzy odwrotnej metod8 eliminacji Gaussa.....................................44
2.4. Obliczanie macierzy odwrotnej metod8 Crouta ......................................................48
2.5. Obliczanie wyznacznika macierzy kwadratowej.....................................................53
2.6. Wska7nik uwarunkowania macierzy.......................................................................54
2.7. Obliczanie warto:ci własnej macierzy kwadratowej A o najwi-kszym module.....56
2.8. Obliczanie warto:ci własnej macierzy 1 –
A o najwi-kszym module .....................57
2.9. Rozwi8zywanie układu równa liniowych
metod8 iteracji Jacobiego oraz Richardsona.........................................................59
2.10. Rozwi8zywanie układu równa metod8 Gaussa-Seidela oraz metod8 nadrelaksacji.....62
2.11. Pseudorozwi8zanie układu nadokre:lonego............................................................65
2.12. Metoda najmniejszych kwadratów..........................................................................71
2.13. Algorytm Crouta rozwi8zywania rzadkich układów równa liniowych.................73
2.14. Algorytmy iteracyjne Richardsona oraz Gaussa-Seidela dla macierzy rzadkich.......82
Przykłady ................................................................................................................88
4
Metody numeryczne w C++Builder
Rozdział 3. Praktyka badania funkcji................................................................111
3.1. Całkowanie i ró+niczkowanie numeryczne ...........................................................111
3.1.1. Ekstrapolacja iterowana Richardsona i Aitkena .........................................111
3.1.2. Całkowanie numeryczne.............................................................................119
3.1.3. Ró+niczkowanie numeryczne......................................................................131
3.1.4. Gradient funkcji wielu zmiennych..............................................................142
3.1.5. Jacobian funkcji wektorowej wielu zmiennych..........................................145
3.1.6. Hesjan funkcji wielu zmiennych.................................................................147
3.2. Wybrane metody aproksymacji i interpolacji liniowej funkcji jednej zmiennej .....149
3.2.1. Aproksymacja metod8 najmniejszych kwadratów......................................150
3.2.2. Aproksymacja funkcji dyskretnej wielomianem...........................................152
3.2.3. Aproksymacja układami funkcji ortogonalnych.........................................153
3.2.4. Aproksymacja wielomianami ortogonalnymi.............................................154
3.2.5. Implementacja metod aproksymacji ...........................................................156
3.2.6. Interpolacja funkcji dyskretnej krzyw8 łaman8 ..........................................169
3.2.7. Interpolacja wielomianem pot-gowym Lagrange’a....................................170
3.2.8. Interpolacja funkcjami sklejanymi..............................................................170
3.2.9. Interpolacja funkcjami i wielomianami ortogonalnymi..............................172
3.2.10. Metody interpolacji w ramach klasy TInterpolacja ....................................175
3.3. Wybrane metody poszukiwania minimum funkcji wielu zmiennych
metodami bezgradientowymi .............................................................................189
3.3.1. Wyznaczenie minimum funkcji wielu zmiennych
bezgradientow8 metod8 poszukiwa prostych Hooke’a-Jeevesa............191
3.3.2. Bezgradientowa metoda „złotego podziału” poszukiwania minimum .......193
3.3.3. Bezgradientowa metoda Powella poszukiwania minimum funkcji
wielu zmiennych .....................................................................................201
3.4. Wybrane metody poszukiwania minimum funkcji wielu zmiennych
metodami gradientowymi...................................................................................205
3.4.1. Metoda ekspansji i kontrakcji geometrycznej z jednym testem
badania współczynnika kroku przy poszukiwaniu minimum w kierunku ....206
3.4.2. Metoda aproksymacji parabolicznej z jednym testem
badania współczynnika kroku przy poszukiwaniu minimum w kierunku ....210
3.4.3. Algorytm najwi-kszego spadku..................................................................214
3.4.4. Zmodyfikowany algorytm Newtona ...........................................................217
Przykłady...............................................................................................................222
Rozdział 4. Równania nieliniowe, zera wielomianów, warto(ci własne macierzy .263
4.1. Algorytmy rozwi8zywania układów równa nieliniowych...................................264
4.1.1. Rozwi8zywanie układów równa nieliniowych metod8 Newtona .............265
4.1.2. Rozwi8zywanie układów równa nieliniowych metod8 gradientow8........268
4.1.3. Rozwi8zywanie układu równa nieliniowych
zmodyfikowan8 metod8 Newtona...........................................................271
4.1.4. Rozwi8zywanie układów nieliniowych metod8 iteracyjn8.........................275
4.1.5. Pseudorozwi8zania nieliniowego układu nadokre:lonego
metod8 Hooke’a-Jeevsa...........................................................................278
4.2. Wyznaczanie zer wielomianów metodami Bairstowa i Laguerre’a ......................280
4.2.1. Dzielenie wielomianów o współczynnikach rzeczywistych
przez czynnik liniowy według algorytmu Hornera.................................280
4.2.2. Dzielenie wielomianu przez czynnik kwadratowy .....................................282
4.2.3. Wyznaczanie dzielników wielomianu stopnia N>2
w postaci trójmianu kwadratowego metod8 Bairstowa...........................282
4.2.4. Wyznaczanie zer wielomianów o współczynnikach rzeczywistych...........287
4.2.5. Wyznaczanie zera wielomianu metod8 Laguerre’a ....................................288
4.2.6. Wyznaczanie wszystkich zer wielomianu metod8 Laguerre’a ...................290
Spis treci
5
4.3. Wyznaczanie warto:ci własnych macierzy metodami Bairstowa i Laguerre’a.....293
4.3.1. Wyznaczanie współczynników wielomianu
charakterystycznego macierzy kwadratowej metod8 Kryłowa...............293
4.3.2. Wyznaczanie warto:ci własnych macierzy metod8 Bairstowa...................295
4.3.3. Wyznaczanie warto:ci własnych macierzy metod8 Laguerre’a..................297
4.4. Wyznaczanie zer funkcji jednej zmiennej metod8 połowienia przedziału.........298
Przykłady...............................................................................................................299
Rozdział 5. Układy zwyczajnych równa ró,niczkowych nieliniowych .................315
5.1. Układ równa ró+niczkowych jako klasa programowania obiektowego ..............317
5.1.1. Definicje typów do zadawania
układu równa ró+niczkowych nieliniowych..........................................317
5.1.2. Definicja klasy prototypowej dla klas implementuj8cych
rozwi8zywanie układu równa ró+niczkowych ......................................318
5.1.3. Definicja klasy prototypowej dla klas potomnych dotycz8cych
rozwi8zywania układu równa ró+niczkowych nieliniowych ................324
5.1.4. Aproksymacja dyskretnych warto:ci wektorów stanu................................327
5.1.5. Funkcje pomocnicze do działania na wektorach stanu ...............................330
5.2. Metody Rungego-Kutty.........................................................................................331
5.3. Rozwi8zywanie układu równa ró+niczkowych zwyczajnych
metod8 Rungego-Kutty z automatycznym doborem kroku całkowania.............337
5.4. Metody Fehlberga..................................................................................................341
5.5. Rozwi8zanie układu równa ró+niczkowych nieliniowych zwyczajnych
metod8 Fehlberga z automatycznym doborem kroku całkowania .....................349
5.6. Rozwi8zanie układu równa ró+niczkowych nieliniowych zwyczajnych
metod8 Dormanda-Prince’a z automatycznym doborem kroku całkowania........352
5.7. Metoda wielokrokowa rozwi8zywania układu równa ró+niczkowych nieliniowych
z członem przewidywania Adamsa-Bashfortha oraz członem korekcyjnym Adamsa-
Multona z automatycznym doborem kroku i rz-du..............................................358
5.7.1. Algorytm Adamsa-Bashfortha ....................................................................358
5.7.2. Algorytm Adamsa-Multona ........................................................................360
5.7.3. Algorytmy przewidywania i korekcji wyra+one
przez macierz Nordsiecka .......................................................................363
5.7.4. Faza wst-pna oblicze.................................................................................373
5.7.5. Metody klasy TAdamsMultonAbstract i TAdamsMulton
realizuj8ce algorytm Adamsa-Multona...................................................377
5.8. Rozwi8zywanie układu równa nieliniowych metod8
sztywno stabilnych algorytmów Geara...............................................................383
5.9. Metoda Gragga z ekstrapolacj8 Bulirscha-Stoera..................................................395
Przykłady...............................................................................................................403
Rozdział 6. Układy równa ró,niczkowych liniowych o stałych współczynnikach.. 425
6.1. Równania ró+nicowe dla ró+nych aproksymacji funkcji wymuszaj8cych...................429
6.1.1. Wymuszenie aproksymowane funkcjami przedziałami stałymi.................430
6.1.2. Wymuszenie aproksymowane funkcjami przedziałami liniowymi ............432
6.1.3. Wymuszenie aproksymowane wielomianem stopnia drugiego..................434
6.1.4. Dobór kroku całkowania T ze wzgl-du na dobór górnej granicy bł-du
obliczania macierzy e AT oraz ze wzgl-du
na numeryczn8 stabilno:J rozwi8zania ...................................................436
6.2. Definicja typów dla liniowych równa ró+niczkowych........................................438
6.3. Numeryczne rozwi8zywanie równa ró+niczkowych liniowych o stałych
współczynnikach dla aproksymacji wymusze funkcjami przedziałami stałymi......441
6
Metody numeryczne w C++Builder
6.4. Numeryczne rozwi8zywanie równa ró+niczkowych liniowych
o stałych współczynnikach dla aproksymacji wymusze
funkcjami przedziałami liniowymi.....................................................................444
6.5. Numeryczne rozwi8zywanie równa ró+niczkowych liniowych
o stałych współczynnikach dla aproksymacji wymusze funkcjami
przedziałami kwadratowymi...............................................................................447
Przykłady...............................................................................................................450
Rozdział 7. Praktyka przekształce Fouriera.....................................................457
7.1. Dyskretna transformacja Fouriera według algorytmu Hornera.............................463
7.2. Szybkie przekształcenie Fouriera według algorytmu Cooleya-Tukeya ................465
7.3. Szybkie przekształcenie Fouriera według algorytmu Sandego-Tukeya................473
7.4. Wyznaczanie współczynników zespolonego szeregu Fouriera
dla dowolnej funkcji okresowej..........................................................................477
7.5. Obliczanie odwrotnej transformacji Fouriera dla dowolnej transformaty.............478
Przykłady...............................................................................................................480
Rozdział 8. Praktyka przekształce Laplace’a...................................................495
8.1. Numeryczne obliczanie transformacji odwrotnej Laplace’a
w wybranej chwili czasu z zastosowaniem szeregów Fouriera ............................496
8.2. Numeryczne obliczanie transformacji odwrotnej Laplace’a
w wybranej chwili czasowej z zastosowaniem szeregów Laguerre’a................502
8.3. Numeryczne obliczanie transformacji odwrotnej Laplace’a
w wybranej chwili czasowej według algorytmu Valsa ......................................506
8.4. Obliczanie transformacji odwrotnej Laplace’a funkcji
wymiernej na podstawie jej pozostało:ci w biegunach......................................510
8.4.1. Definiowanie klasy do obliczania odwrotnej transformacji Laplace’a
funkcji wymiernej na podstawie jej pozostało:ci w biegunach ..............513
Przykłady...............................................................................................................518
Bibliografia....................................................................................531
Skorowidz......................................................................................535
Zgłoś jeśli naruszono regulamin