Autor: Bernard Baron
ISBN: 83-7197-141-9
Ilość stron: 584
Data wydania: 11/1999
W książce przedstawiono szereg najpopularniejszych algorytmów metod numerycznych oraz ich implementacje w języku Object Pascal, stanowiącym podstawę zintegrowanego środowiska programowania Delphi dla Windows95/98/NT. Każda z prezentowanych metod została dokładnie opisana i zilustrowana przykładowym programem, co umożliwia Czytelnikowi dogłębne prześledzenie zamieszczonych konstrukcji, jak również wprowadzanie własnych udoskonaleń.
Książka może być pomocna dla studentów, pracowników naukowych i programistów, którzy w codziennej praktyce stykają się z koniecznością rozwiązywania zagadnień obliczeniowych. Na dołączonej do książki dyskietce zamieszczono kody źródłowe wszystkich omawianych programów i bibliotek.
Rozdziały:
Wstęp. Definicja klas macierzowych - moduł Macierze4 (14)
Rozdział 1. Algebra macierzy i równania liniowe - moduł AlgeLin4 (19)
- 1.1. Suma macierzy - procedura ADDMAC (21)
- 1.2. Różnica macierzy - funkcja SubMac (21)
- 1.3. Mnożenie macierzy przez liczbę - funkcja MulMacR (22)
- 1.4. Iloczyn dwóch macierzy - funkcja MulMac (23)
- 1.5. Macierz jednostkowa - funkcja MacJeden (24)
- 1.6. Norma macierzy - funkcja NorMac (24)
- 1.7. Funkcja macierzowa eB - funkcja ExpMac (25)
- 1.8. Metoda bezpośredniego rozwiązywania układu równań macierzowych metodą eliminacji Gaussa -funkcja RRMAD1 (27)
- 1.9. Skalowanie układu równań liniowych - funkcja SkalRowMac (32)
- 1.10. Rozwiązywanie układu równań liniowych wg algorytmu Crouta - funkcja RRMAD2 (34)
- 1.11. Obliczanie macierzy odwrotnej metodą eliminacji Gaussa - funkcja OdwMac1 (39)
- 1.12. Obliczanie macierzy odwrotnej metodą Crouta - funkcja OdwMac2 (44)
- 1.13. Obliczanie wyznacznika macierzy kwadratowej - funkcja DET (49)
- 1.14. Wskaźnik uwarunkowania macierzy - funkcja WUMac (51)
- 1.15. Obliczanie wartości własnej macierzy kwadratowej A o największym module - funkcja MWWM (52)
- 1.16. Obliczanie wartości własnej macierzy 1-aA o największym module - funkcja MWWMA (54)
- 1.17. Rozwiązywanie układu równań liniowych metodą iteracji Jacobiego oraz Richardsona - funkcja RRMAIRich (55)
- 1.18. Rozwiązywanie układu równań metodą Gaussa-Seidela oraz metodą nadrelaksacji - funkcja RRMAIGS (58)
- 1.19. Pseudorozwiązanie układu nadokreślonego - funkcja PseRoz - funkcja OdwMac3 (61)
- 1.20. Metoda najmniejszych kwadratów - funkcja PseRozNK (67)
- 1.21. Algorytm Crouta rozwiązywania rzadkich układów równań liniowych - klasa TRozRowMacRzadkaCrout (70)
- 1.22. Algorytmy iteracyjne Richardsona oraz Gaussa-Seidela dla macierzy rzadkich - klasa TRozRowMacRzadkaIter (78)
Przykłady zastosowań procedur i funkcji z modułu AlgeLin4 (83)
- Przykład 1.1. (83)
- Przykład 1.2. (89)
- Przykład 1.3. (89)
- Przykład 1.4. (90)
- Przykład 1.5. (91)
- Przykład 1.6. (92)
- Przykład 1.7. (93)
- Przykład 1.8. (96)
Rozdział 2. Liczby zespolone i równania liniowe o współczynnikach zespolonych - moduły AlgeZes4, AlgMZes4 (97)
- 2.1. Stałe i typy zmiennych dla modułu AlgeZes4 (98)
- 2.2. Dodawanie liczb zespolonych - funkcja FAdd (99)
- 2.3. Mnożenie liczb zespolonych - funkcja FMul (99)
- 2.4. Odejmowanie liczb zespolonych - funkcja FSub (99)
- 2.5. Dzielenie liczb zespolonych - funkcja FDiw (100)
- 2.6. Iloczyn liczby zespolonej i rzeczywistej - funkcja FMulrz (101)
- 2.7. Iloraz liczby zespolonej przez rzeczywistą - funkcja FDiwzr (101)
- 2.8. Iloraz liczby rzeczywistej przez zespoloną - funkcja FDiwrz (102)
- 2.9. Odwrotność liczby zespolonej - funkcja FOdw (102)
- 2.10. Liczby sprzężone - funkcja FSprz (103)
- 2.11. Moduł liczby zespolonej - funkcja Modul (103)
- 2.12. Argument liczby zespolonej - funkcja Arg (103)
- 2.13. Kwadrat modułu liczby zespolonej - funkcja KwModul (105)
- 2.14. Macierze zespolone - klasa TMacierzZ (105)
- 2.15. Macierz zespolona transponowana - funkcja TranMacZ (106)
- 2.16. Suma macierzy zespolonych - funkcja AddMacZ (106)
- 2.17. Różnica macierzy zespolonych - funkcja SubMacZ (107)
- 2.18. Iloczyn dwóch macierzy zespolonych - funkcja MulMacZ (108)
- 2.19. Iloczyn macierzy zespolonej przez liczbę zespoloną - funkcja MulMacZz (109)
- 2.20. Macierz zespolona jednostkowa - funkcja MacJedenZ (109)
- 2.21. Rozwiązywanie równania macierzowego zespolonego metodą eliminacji Gaussa - funkcja RRMaZ1 (110)
- 2.22. Skalowanie równania macierzowego zespolonego - funkcja SkalRowMacZ (112)
- 2.23. Obliczanie macierzy odwrotnej macierzy zespolonej według algorytmu Gaussa - funkcja OdwMacZ1 (112)
- 2.24. Rozwiązanie równania macierzowego zespolonego metodą Crouta-Doolittle'a - funkcja RRMaZ2 (114)
- 2.25. Obliczanie macierzy odwrotnej macierzy zespolonej metodą Crouta - funkcja OdwMacZ2 (117)
- 2.26. Obliczanie wyznacznika macierzy zespolonej - funkcja DetZ (119)
- 2.27. Norma macierzy zespolonej - funkcja NorMacZ (121)
- 2.28. Wskaźnik uwarunkowania macierzy zespolonej - funkcja WUMacZ (122)
- 2.29. Wartość własna macierzy zespolonej o największym module - funkcja MWWMZ (122)
- 2.30. Wartość własna macierzy zespolonej 1-aA o największym module - funkcja MWWMZA (123)
- 2.31. Rozwiązywanie równania macierzowego zespolonego metodami Gaussa-Seidela oraz nadrelaksacji - funkcja RRMAZIGS (125)
- 2.32. Rozwiązywanie równania macierzowego zespolonego metodami iteracyjnymi Jacobiego oraz Richardsona - funkcja RRMAZIRich (127)
- 2.33. Algorytm Crouta rozwiązywania rzadkich układów równań liniowych zespolonych - klasa TRozRowMacRzadkaZespolCrout (129)
- 2.34. Metody iteracyjne rozwiązywania rzadkich układów równań liniowych zespolonych - klasa TRozRowMacRzadkaZespolIter (134)
Przykłady zastosowań procedur i funkcji z modułów AlgeZes4 i AlgMZes4 (140)
- Przykład 2.1. (140)
- Przykład 2.2. (144)
- Przykład 2.3. (150)
- Przykład 2.4. (150)
- Przykład 2.5. (152)
- Przykład 2.6. (158)
Rozdział 3. Wybrane metody poszukiwania minimum funkcji wielu zmiennych - moduł MinFun4 (162)
- 3.1. Wyznaczenie minimum funkcji wielu zmiennych bezgradientową metodą poszukiwań prostych Hooke'a-Jeevesa jako metoda klasy TMinFunMetBezGrad - funkcja TMinFunMetBezGrad.MinFunHJ (167)
- 3.2. Bezgradientowa metoda "złotego podziału" poszukiwania minimum w kierunku jako metoda prywatna klasy TMinFunMetBezGrad - funkcja TMinFunMetBezGrad.MinKierrzp (170)
- 3.3. Bezgradientowa metoda Powella poszukiwania minimum funkcji wielu zmiennych jako metoda publiczna klasy TMinFunMetBezGrad - funkcja TMinFunMetBezGrad .MinFunPo (178)
- 3.4. Wyznaczanie gradientu funkcji rzeczywistej wielu zmiennych jako metoda prywatna klasy TMinFunMetGradient -funkcja TMinFunMetGradient.GradF (182)
- 3.5. Metoda ekspansji i kontrakcji geometrycznej z jednym testem badania współczynnika kroku przy poszukiwaniu minimum w kierunku jako metoda prywatna klasy TMinFunMetGradient - funkcja TMinFunMetGradient.MiniKier1 (184)
- 3.6. Metoda aproksymacji parabolicznej z jednym testem badania współczynnika kroku przy poszukiwaniu minimum w kierunku jako metoda prywatna klasy TMinFunMetGradient - funkcja TMinFunMetGradient.MiniKier2 (187)
- 3.7. Algorytm największego spadku jako metody klasy TMinFunMetGradient - funkcja TMinFunMetGradient. MinFunNajSpadku1 - funkcja TMinFunMetGradient. MinFunNajSpadku2 (191)
- 3.8. Hesjan funkcji rzeczywistej wielu zmiennych jako metoda klasy TMinFunMetGradient - funkcja MinFunMetGradient.HesjanFun (195)
- 3.9. Zmodyfikowany algorytm Newtona jako metody publiczne klasy TMinFunMetGradient - funkcja TMinFunMetGradient.MiniFunZmodNewton1 - funkcja TMinFunMetGradient.MiniFunZmodNewton2 (199)
- 3.10. Metoda sympleksowa obliczania minimum liniowej funkcji wielu zmiennych z ograniczeniami liniowymi (202)
Przykłady zastosowań metod klas z modułu MinFun4 (216)
- Przykład 3.1. (216)
- Przykład 3.2. (219)
Rozdział 4. Równania nieliniowe, zera wielomianów, wartości własne macierzy - moduł RoNieLin4 (225)
- 4.1. Algorytmy rozwiązywania układów równań nieliniowych jako metody klasy TRozRowNielin (226)
- 4.1.1. Macierz Jacobiego funkcji wektorowej F(X) jako metoda prywatna klasy TRozRowNielin - funkcja TRozRowNielin.GeneracjaMacierzyJacobiego (227)
- 4.1.2. Rozwiązywanie układów równań nieliniowych metodą Newtona jako metoda publiczna klasy TRozRowNielin - funkcja TRozRowNielin.MetodaNewtona (228)
- 4.1.3. Rozwiązywanie układów równań nieliniowych metodą gradientową w ramach klasy TRozRowNielin - funkcja TRozRowNielin.MetodaGradientowa (230)
- 4.1.4. Rozwiązywanie układu równań nieliniowych zmodyfikowaną metodą Newtona (234)
- 4.1.5. Metody prywatne klasy TRozRowNielin: iloczyn skalarny funkcji wektorowych - funkcja TRozRowNielin.FU gradient funkcji skalarnej - procedura TRozRowNielin.GradFU (235)
- 4.1.6. Metoda prywatna klasy TRozRowNielin: generacja macierzy hesjanu - funkcja TRozRowNielin.HesjanFU (236)
- 4.1.7. Zmodyfikowana metoda Newtona jako metoda publiczna klasy TRozRowNielin - funkcja TRozRowNielin.ZmodyfikowanaMetodaNewtona (237)
- 4.1.8. Rozwiązywania układów nieliniowych metodą iteracyjną w ramach klasy TRozRowNielin - funkcja TRozRowNielin.MetodaIteracyjna (238)
- 4.2. Wyznaczanie zer wielomianów metodą Bairstowa i Laguerre'a w ramach klasy TZeraWielomianow (240)
- 4.2.1. Dzielenie wielomianów o współczynnikach rzeczywistych przez czynnik liniowy według algorytmu Hornera jako metoda prywatna klasy TZeraWielomianow (243)
- 4.2.2. Dzielenie wielomianu przez czynnik kwadratowy jako metoda prywatna klasy TZeraWielomianow - procedura TZeraWielomianow.Div2 (245)
- 4.2.3. Wyznaczanie dzielników wielomianu stopnia N>2 w postaci trójmianu kwadratowego metodą Bairstowa jako metoda prywatna klasy TZeraWielomianow - funkcja TZeraWielomianow.Bairstow (246)
- 4.2.4. Wyznaczanie zer wielomianów o współczynnika rzeczywistych jako metoda publiczna klasy TZeraWielomianow - funkcja TZeraWielomianow.ZeraWielBairstow (251)
- 4.2.5. Wyznaczanie zer wielomianu metodą Laguerre'a jako metoda prywatna klasy TZeraWielomianow - funkcja TZeraWielomianow.Laguerre (252)
- 4.2.6. Wyznaczanie zer wielomianu metodą Laguerre'a jako metoda publiczna klasy TZeraWielomianow - funkcja TZeraWielomianow.ZeraWielLaguerre (254)
- 4.3. Wyznaczanie wartości własnych macierzy metodami Bairstowa i Laguerre'a w ramach klasy TWartosciWlasneMac (257)
- 4.3.1. Wyznaczanie współczynników wielomianu charakterystycznego macierzy kwadratowej metodą Kryłowa jako metoda prywatna klasy TWartosciWlasneMac - funkcja TWartosciWlasneMac.WspWielChar (259)
- 4.3.2. Wyznaczanie wartości własnych macierzy metodą Bairstowa jako metoda publiczna klasy TWartosciWlasneMac - funkcja TWartosciWlasneMac.WartosciWlasneMacierzyBairstow (261)
- 4.3.3. Wyznaczanie wartości własnych macierzy metodą Laguerre'a jako metoda publiczna klasy TWartosciWlasneMac- funkcja TWartosciWlasneMac.WartosciWlasneMacierzyLaguerre (264)
- 4.4. Wyznaczanie zer funkcji jednej zmiennej metodą połowienia przedziału - funkcja ZeraFun (265)
Przykłady zastosowań metod klas z modułu RoNieLin4 (266)
- Przykład 4.1. (266)
- Przykład 4.2. (269)
- Przykład 4.3. (272)
- Przykład 4.4. (273)
- Przykład 4.5. (274)
Rozdział 5. Układy zwyczajnych równań różniczkowych nieliniowych - moduł RoRoNl4 (275)
- 5.1. Układ równań różniczkowych jako klasa programowania obiektowego (277)
- 5.1.1. Definicje typów dla modułu RoRoNl4 (277)
- 5.1.2. Definicja klasy prototypowej dla klas potomnych dotyczących metod rozwiązywania układu równań różniczkowych (278)
- 5.1.3. Procedury pomocnicze dla modułu RoRoNl4 (283)
- 5.2. Metody Rungego-Kutty - metoda TRungeKutty (284)
- 5.3. Rozwiązywanie układu równań różniczkowych zwyczajnych metodą Rungego-Kutty z automatycznym doborem kroku całkowania - metoda TRungeKutty.Obliczaj - metoda TRoRoNl.Rozwiaz (288)
- 5.4. Metody Fehlberga - metoda Fehlberg (292)
- 5.5. Rozwiązanie układu równań różniczkowych nieliniowych zwyczajnych metodą Fehlberga z automatycznym doborem kroku całkowania - metoda TFehlberg.Obliczaj - metoda TRoRoNL.Rozwiaz (297)
- 5.6. Metoda wielokrokowa rozwiązywania układu równań różniczkowych nieliniowych z członem przewidywania AdamsaBashforta oraz członem korekcyjnym Adamsa-Multona z automatycznym doborem kroku i rzędu (301)
- 5.6.1. Algorytm Adamsa - Bashfortha (302)
- 5.6.2. Algorytm Adamsa-Multona (303)
- 5.6.3. Algorytm przewidywania i korekcji wyrażone przez macierz Nordsiecka (307)
- 5.6.4. Faza wstępna obliczeń (319)
- 5.6.5. Blok główny procedury MetAdamsMul - metoda TAdamsMulton.Obliczaj - metoda TRoRoNl.Rozwiaz (324)
- 5.7. Rozwiązywanie układu równań nieliniowych metodą sztywno stabilnych algorytmów Geara - metoda TGeara.Obliczaj- metoda TRoRoNl.Rozwiaz (328)
Przykłady zastosowań metod klas z modułu RoRoNl4 (339)
- Przykład 5.1. (339)
- Przykład 5.2. (343)
- Przykład 5.3. (345)
- Przykład 5.4. (350)
- Przykład 5.5. (352)
- Przykład 5.6. (366)
- Przykład 5.7. (377)
Rozdział 6. Układy równań różniczkowych liniowych o stałych współczynnikach - moduł RoRoLin4 (381)
- 6.1. Równania różnicowe dla różnych aproksymacji funkcji wymuszających (386)
- 6.1.1. Wymuszenie aproksymowane funkcjami przedziałami stałymi (387)
- 6.1.2. Wymuszenie aproksymowane funkcjami przedziałami liniowymi (388)
- 6.1.3. Wymuszenie aproksymowane wielomianem stopnia drugiego (389)
- 6.1.4. Dobór kroku całkowania T ze względu na dobór górnej granicy błędu obliczania macierzy eAT oraz ze względu na numeryczną stabilność rozwiązania (391)
- 6.2. Definicje typów dla modułu RoRoLin4 (393)
- 6.3. Formowanie macierzy pomocniczych (398)
- 6.4. Numeryczne rozwiązywanie równań różniczkowych liniowych o stałych współczynnikach dla aproksymacji wymuszeń funkcjami przedziałami stałymi - metoda TRoRoLinAprSta.Obliczaj (401)
- 6.5. Numeryczne rozwiązywanie równań różniczkowych liniowych o stałych współczynnikach dla aproksymacji wymuszeń funkcjami przedziałami liniowymi - metoda TRoRoLinAprLin.Obliczaj (402)
- 6.6. Numeryczne rozwiązywanie równań różniczkowych liniowych o stałych współczynnikach dla aproksymacji wymuszeń funkcjami przedziałami kwadratowymi - metoda TRoRoLinAprKwa.Obliczaj (403)
Przykłady zastosowań metod klasy TRoRoLin z modułu RoRoLin4 (404)
- Przykład 6.1. (404)
- Przykład 6.2. (412)
- Przykład 6.3. (414)
Rozdział 7. Praktyka przekształceń Fouriera - moduł Fourier4 (417)
- 7.1. Dyskretna transformacja Fouriera według algorytmu Hornera (425)
- 7.2. Szybkie przekształcenie Fouriera wg algorytmu Cooleya-Tukeya (425)
- 7.3. Szybkie przekształcenie Fouriera według algorytmu Sande'a-Tukeya (435)
- 7.4. Definicja klasy do wyznaczania dyskretnej, prostej i odwrotnej transformacji Fouriera - klasa DyskretnaTransformFouriera (438)
- 7.5. Obliczanie współczynników zespolonego szeregu Fouriera dla dowolnej funkcji okresowej - klasa WspolSzereguFourieraFunOkres (443)
- 7.6. Obliczanie odwrotnej transformacji Fouriera dla dowolnej transformaty (446)
Przykłady zastosowań metod klas z modułu Fourier4 (451)
- Przykład 7.1. (451)
- Przykład 7.2. (457)
- Przykład 7.3. (468)
- Przykład 7.4. (470)
- Przykład 7.5. (473)
Rozdział 8. Praktyka przekształceń Laplace'a - moduł Laplace4 (485)
- 8.1. Numeryczne obliczanie transformacji odwrotnej Laplace'a w wybranej chwili czasu z zastosowaniem szeregów Fouriera (487)
- 8.2. Numeryczne obliczanie transformacji odwrotnej Laplace'a w wybranej chwili czasowej z zastosowaniem szeregów Laguerre'a (491)
- 8.3. Numeryczne obliczanie transformacji odwrotnej Laplace'a w wybranej chwili czasowej wg algorytmu Valsa (493)
- 8.4. Definicja klasy do obliczania odwrotnej transformacji Laplace'a (497)
- 8.5. Obliczanie transformacji odwrotnej Laplace'a funkcji wymiernej w oparciu o jej pozostałości w biegunach (508)
- 8.6. Definicja klasy do obliczania odwrotnej transformacji Laplace'a funkcji wymiernej w oparciu o jej pozostałości w biegunach (512)
Przykłady zastosowań metod klas z modułu Laplace4 (520)
- Przykład 8.1. (520)
- Przykład 8.2. (526)
- Przykład 8.3. (527)
- Przykład 8.4. (531)
- Przykład 8.5. (534)
- Przykład 8.6. (536)
Dodatek (538)
Metody numeryczne w Delphi 4 --- Pozycja niedostępna.---
|