Algorytmy numeryczne w Delphi. Księga eksperta - Helion
ISBN: 83-7361-951-8
stron: 544, Format: B5, okładka: twarda
Data wydania: 2005-12-08
Księgarnia: Helion
Cena książki: 69,00 zł
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 -- Pascal, będący podstawą języka ObjectPascal wykorzystywanego w Delphi, pozwala na bardzo łatwą implementację mechanizmów obliczeń numerycznych. Specyfika projektowania aplikacji w środowisku Delphi pozwala na utworzenie komponentów realizujących algorytmy numeryczne i stosowanie ich w wielu aplikacjach.
Książka "Algorytmy numeryczne w Delphi. Księga eksperta" przedstawia najczęściej wykorzystywane metody numeryczne wraz z przykładami ich implementacji w języku ObjectPascal. 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.
- Typy, funkcje, klasy i procedury wykorzystywane w algorytmach numerycznych
- Algebra macierzy i równania liniowe
- Badanie funkcji
- Rozwiązywanie równań nieliniowych i wyznaczanie wartości własnych macierzy
- Układy równań różniczkowych liniowych i nieliniowych
- Przekształcenia Fouriera i Laplace'a
Niemal każdy problem obliczeniowy można rozwiązać za pomocą metod numerycznych. Nie musisz więc wymyślać ponownie koła -- wystarczy, że poznasz opisane w tej książce algorytmy.
Osoby które kupowały "Algorytmy numeryczne w Delphi. Księga eksperta", wybierały także:
- Python na maturze. Kurs video. Algorytmy i podstawy j 135,14 zł, (48,65 zł -64%)
- Algorytmy kryptograficzne. Przewodnik po algorytmach w blockchain, kryptografii kwantowej, protoko 79,00 zł, (39,50 zł -50%)
- Informatyk samouk. Przewodnik po strukturach danych i algorytmach dla pocz 58,98 zł, (29,49 zł -50%)
- My 89,00 zł, (44,50 zł -50%)
- Nauka algorytm 58,98 zł, (29,49 zł -50%)
Spis treści
Algorytmy numeryczne w Delphi. Księga eksperta -- spis treści
Zmiany w stosunku do poprzedniego wydania (9)
Przedmowa (11)
Rozdział 1. Definicje typów, procedur, funkcji i klas dla zagadnień numerycznych (13)
- 1.1. Organizacja biblioteki obliczeń numerycznych (14)
- 1.2. Typ wariantowy (14)
- 1.3. Predefiniowany typ liczb zespolonych (16)
- 1.4. Definicja typu liczb zespolonych (17)
- 1.5. Funkcje konwersji liczb rzeczywistych zespolonych na łańcuch i odwrotnie (18)
- 1.6. Wektor (20)
- 1.7. Macierz (21)
- 1.8. Reprezentacja wektorów i macierzy za pomocą tablic (21)
- 1.8.1. Przydzielanie i zwalnianie pamięci dla tablic jednowymiarowych (23)
- 1.8.2. Przydzielanie i zwalnianie pamięci dla tablic dwuwymiarowych (24)
- 1.9. Zapis i odczyt wektorów oraz macierzy w komponencie TStringGrid (25)
- 1.10. Wzorcowe funkcje zapisu i odczytu plików macierzy (26)
Rozdział 2. Algebra macierzy i równania liniowe (27)
- 2.1. Metoda bezpośredniego rozwiązywania układu równań macierzowych metodą eliminacji Gaussa (28)
- 2.1.1. Skalowanie układu równań liniowych (32)
- 2.2. Rozwiązywanie układu równań liniowych według algorytmu Crouta (34)
- 2.3. Obliczanie macierzy odwrotnej metodÄ… eliminacji Gaussa (39)
- 2.4. Obliczanie macierzy odwrotnej metodÄ… Crouta (43)
- 2.5. Obliczanie wyznacznika macierzy kwadratowej (48)
- 2.6. Wskaźnik uwarunkowania macierzy (50)
- 2.7. Obliczanie wartości własnej macierzy kwadratowej A o największym module (52)
- 2.8. Obliczanie wartości własnej macierzy 1-(A o największym module (53)
- 2.9. Rozwiązywanie układu równań liniowych metodą iteracji Jacobiego oraz Richardsona (55)
- 2.10. Rozwiązywanie układu równań metodą Gaussa-Seidela oraz metodą nadrelaksacji (58)
- 2.11. Pseudorozwiązanie układu nadokreślonego (60)
- 2.12. Metoda najmniejszych kwadratów (66)
- 2.13. Algorytm Crouta rozwiązywania rzadkich układów równań liniowych (68)
- 2.14. Algorytmy iteracyjne Richardsona oraz Gaussa-Seidela dla macierzy rzadkich (78)
- Przykłady (85)
- Komponenty (85)
- Właściwości (85)
- Zdarzenia (86)
- Przykład 2.1. Obliczanie macierzy odwrotnej (88)
- Przykład 2.2. Rozwiązywanie układów równań algebraicznych (95)
- Przykład 2.3. Rozwiązywanie układów równań algebraicznych rzadkich (102)
Rozdział 3. Praktyka badania funkcji (109)
- 3.1. Całkowanie i różniczkowanie numeryczne (109)
- 3.1.1. Ekstrapolacja iterowana Richardsona i Aitkena (109)
- 3.1.2. Całkowanie numeryczne (116)
- 3.1.3. Różniczkowanie numeryczne (125)
- 3.1.4. Gradient funkcji wielu zmiennych (135)
- 3.1.5. Jakobian funkcji wektorowej wielu zmiennych (136)
- 3.1.6. Hesjan funkcji wielu zmiennych (137)
- 3.2. Wybrane metody aproksymacji i interpolacji liniowej funkcji jednej zmiennej (138)
- 3.2.1. Aproksymacja metodą najmniejszych kwadratów (139)
- 3.2.2. Aproksymacja funkcji dyskretnej wielomianem (141)
- 3.2.3. Aproksymacja układami funkcji ortogonalnych (141)
- 3.2.4. Aproksymacja wielomianami ortogonalnymi (142)
- 3.2.5. Implementacja metod aproksymacji (144)
- 3.2.6. Interpolacja funkcji dyskretnej krzywÄ… Å‚amanÄ… (159)
- 3.2.7. Interpolacja wielomianem potęgowym Lagrange'a (160)
- 3.2.8. Interpolacja funkcjami sklejanymi (160)
- 3.2.9. Interpolacja funkcjami i wielomianami ortogonalnymi (162)
- 3.2.10. Metody interpolacji w ramach klasy TInterpolation (165)
- 3.3. Wybrane metody poszukiwania minimum funkcji wielu zmiennych metodami bezgradientowymi (180)
- 3.3.1. Wyznaczenie minimum funkcji wielu zmiennych bezgradientową metodą poszukiwań prostych Hooke'a-Jeevesa (181)
- 3.3.2. Bezgradientowa metoda "złotego podziału" poszukiwania minimum (184)
- 3.3.3. Bezgradientowa metoda Powella poszukiwania minimum funkcji wielu zmiennych (192)
- 3.4. Wybrane metody poszukiwania minimum funkcji wielu zmiennych metodami gradientowymi (196)
- 3.4.1. Metoda ekspansji i kontrakcji geometrycznej z jednym testem badania współczynnika kroku przy poszukiwaniu minimum w kierunku (197)
- 3.4.2. Metoda aproksymacji parabolicznej z jednym testem badania współczynnika kroku przy poszukiwaniu minimum w kierunku (201)
- 3.4.3. Algorytm największego spadku (206)
- 3.4.4. Zmodyfikowany algorytm Newtona (210)
- Przykłady (215)
- Komponenty (215)
- Przykład 3.1. Testowanie metod całkowania (216)
- Przykład 3.2. Testowanie procedur różniczkowania numerycznego (221)
- Przykład 3.3. Testowanie funkcji do wyznaczania macierzy Jacobiego funkcji wektorowej (225)
- Przykład 3.4. Testowanie funkcji do wyznaczania macierzy Hessego funkcji wielu zmiennych (229)
- Przykład 3.5. Testowanie metod klasy TApproximation (231)
- Przykład 3.6. Testowanie metod klasy TInterpolation (239)
- Przykład 3.7. Testowanie metod wyznaczania minimum funkcji (244)
Rozdział 4. Równania nieliniowe, zera wielomianów, wartości własne macierzy (251)
- 4.1. Algorytmy rozwiązywania układów równań nieliniowych (252)
- 4.1.1. Rozwiązywanie układów równań nieliniowych metodą Newtona (253)
- 4.1.2. Rozwiązywanie układów równań nieliniowych metodą gradientową (256)
- 4.1.3. Rozwiązywanie układu równań nieliniowych zmodyfikowaną metodą Newtona (260)
- 4.1.4. Rozwiązywanie układów nieliniowych metodą iteracyjną (264)
- 4.1.5. Pseudorozwiązania nieliniowego układu nadokreślonego metodą Hooke'a-Jeevesa (267)
- 4.2. Wyznaczanie zer wielomianów metodami Bairstowa i Laguerre'a (270)
- 4.2.1. Dzielenie wielomianów o współczynnikach rzeczywistych przez czynnik liniowy według algorytmu Hornera (270)
- 4.2.2. Dzielenie wielomianu przez czynnik kwadratowy (272)
- 4.2.3. Wyznaczanie dzielników wielomianu stopnia N > 2 w postaci trójmianu kwadratowego metodą Bairstowa (273)
- 4.2.4. Wyznaczanie zer wielomianów o współczynnikach rzeczywistych (277)
- 4.2.5. Wyznaczanie zer wielomianu metodÄ… Laguerre'a (280)
- 4.2.6. Wyznaczanie zer wielomianu metodÄ… Laguerre'a (282)
- 4.3. Wyznaczanie wartości własnych macierzy metodami Bairstowa i Laguerre'a (284)
- 4.3.1. Wyznaczanie współczynników wielomianu charakterystycznego macierzy kwadratowej metodą Kryłowa (285)
- 4.3.2. Wyznaczanie wartości własnych macierzy metodą Bairstowa (287)
- 4.3.3. Wyznaczanie wartości własnych macierzy metodą Laguerre'a (290)
- 4.4. Wyznaczanie zer funkcji jednej zmiennej metodą połowienia przedziału (291)
- Przykłady (293)
- Komponenty (293)
- Przykład 4.1. Testowanie metod rozwiązywania układu równań nieliniowych (294)
- Przykład 4.2. Testowanie metod rozwiązywania układu równań nieliniowych - cd. (295)
- Przykład 4.3. Wyznaczanie zer wielomianów o współczynnikach rzeczywistych zadanych z klawiatury za pomocą metod Laguerre'a oraz Bairstowa (300)
- Przykład 4.4. Wyznaczanie wartości własnej macierzy zadanej z klawiatury lub pliku (302)
- Przykład 4.5. Wyznaczanie zer i ekstremum funkcji Bessela rzędu N (305)
Rozdział 5. Układy zwyczajnych równań różniczkowych nieliniowych (309)
- 5.1. Układ równań różniczkowych jako klasa programowania obiektowego (310)
- 5.1.1. Definicje typów do zadawania układu równań różniczkowych nieliniowych (311)
- 5.1.2. Definicja klasy prototypowej dla klas implementujących rozwiązywanie układu równań różniczkowych (312)
- 5.1.3. Definicja klasy prototypowej dla klas potomnych dotyczących rozwiązywania układu równań różniczkowych nieliniowych (318)
- 5.1.4. Aproksymacja dyskretnych wartości wektorów stanu (319)
- 5.1.5. Funkcje pomocnicze do działania na wektorach stanu (322)
- 5.2. Metody Rungego-Kutty (323)
- 5.3. Rozwiązywanie układu równań różniczkowych zwyczajnych metodą Rungego-Kutty z automatycznym doborem kroku całkowania (327)
- 5.4. Metody Fehlberga (332)
- 5.5. Rozwiązanie układu równań różniczkowych nieliniowych zwyczajnych metodą Fehlberga z automatycznym doborem kroku całkowania (340)
- 5.6. Rozwiązanie układu równań różniczkowych nieliniowych zwyczajnych metodą Dormanda-Prince'a z automatycznym doborem kroku całkowania (344)
- 5.7. Wielokrokowa metoda rozwiązywania 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 (349)
- 5.7.1. Algorytm Adamsa-Bashfortha (349)
- 5.7.2. Algorytm Adamsa-Multona (351)
- 5.7.3. Algorytmy przewidywania i korekcji wyrażone przez macierz Nordsiecka (354)
- 5.7.4. Faza wstępna obliczeń (363)
- 5.7.5. Metody klasy TAdamsMultonAbstract i TAdamsMulton, realizujÄ…ce algorytm Adamsa-Multona (368)
- 5.8. Rozwiązywanie układu równań nieliniowych metodą sztywno stabilnych algorytmów Geara (374)
- 5.9. Metoda Gragga z ekstrapolacjÄ… Bulirscha-Stoera (386)
- Przykłady (394)
- Komponenty (394)
- Przykład 5.1. Rozwiązywanie układów równań różniczkowych drugiego rzędu (395)
- Przykład 5.2. Zastosowanie klasy TRoRoNl do rozwiązywania układów równań różniczkowych nieliniowych w ramach pewnej klasy (402)
- Przykład 5.3. Wahadło matematyczne (408)
Rozdział 6. Układy równań różniczkowych liniowych o stałych współczynnikach (413)
- 6.1. Równania różnicowe dla różnych aproksymacji funkcji wymuszających (418)
- 6.1.1. Wymuszenie aproksymowane funkcjami przedziałami stałymi (418)
- 6.1.2. Wymuszenie aproksymowane funkcjami przedziałami liniowymi (420)
- 6.1.3. Wymuszenie aproksymowane wielomianem stopnia drugiego (422)
- 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 (425)
- 6.2. Definicja typów dla liniowych równań różniczkowych (427)
- 6.3. Numeryczne rozwiązywanie równań różniczkowych liniowych o stałych współczynnikach dla aproksymacji wymuszeń funkcjami przedziałami stałymi (429)
- 6.4. Numeryczne rozwiązywanie równań różniczkowych liniowych o stałych współczynnikach dla aproksymacji wymuszeń funkcjami przedziałami liniowymi (431)
- 6.5. Numeryczne rozwiązywanie równań różniczkowych liniowych o stałych współczynnikach dla aproksymacji wymuszeń funkcjami przedziałami kwadratowymi (433)
- Przykłady (435)
- Komponenty (435)
- Przykład 6.1. Testowanie metod rozwiązywania układu równań różniczkowych liniowych (435)
- Przykład 6.2. Testowanie metod rozwiązywania układu równań różniczkowych liniowych zdefiniowanych wewnątrz pewnej klasy (440)
Rozdział 7. Praktyka przekształceń Fouriera (449)
- 7.1. Dyskretna transformacja Fouriera według algorytmu Hornera (455)
- 7.2. Szybkie przekształcenie Fouriera według algorytmu Cooleya-Tukeya (457)
- 7.3. Szybkie przekształcenie Fouriera według algorytmu Sande'a-Tukeya (466)
- 7.4. Wyznaczanie współczynników zespolonego szeregu Fouriera dla dowolnej funkcji okresowej (470)
- 7.5. Obliczanie odwrotnej transformacji Fouriera dla dowolnej transformaty (471)
- Przykłady (474)
- Komponenty (474)
- Przykład 7.1. Obliczanie zespolonych współczynników szeregu Fouriera (475)
- Przykład 7.2. Obliczanie odwrotnej transformacji Fouriera (479)
- Przykład 7.3. Obliczanie zespolonych współczynników szeregu Fouriera w ramach pewnej klasy (483)
Rozdział 8. Praktyka przekształceń Laplace'a (487)
- 8.1. Numeryczne obliczanie transformacji odwrotnej Laplace'a w wybranej chwili czasowej z zastosowaniem szeregów Fouriera (488)
- 8.2. Numeryczne obliczanie transformacji odwrotnej Laplace'a w wybranej chwili czasowej z zastosowaniem szeregów Laguerre'a (494)
- 8.3. Numeryczne obliczanie transformacji odwrotnej Laplace'a w wybranej chwili czasowej według algorytmu Valsa (498)
- 8.4. Obliczanie transformacji odwrotnej Laplace'a funkcji wymiernej na podstawie jej pozostałości w biegunach (502)
- 8.4.1. Definicja klasy do obliczania odwrotnej transformacji Laplace'a funkcji wymiernej na podstawie jej pozostałości w biegunach (505)
- Przykłady (510)
- Komponenty (510)
- Przykład 8.1. Wyznaczanie odwrotnej transformacji Laplace'a funkcji operatorowych zgodnie ze wzorcami funkcji (511)
- Przykład 8.2. Zastosowanie transformacji odwrotnej Laplace'a dla funkcji wymiernych (516)
Bibliografia (523)
Skorowidz (525)