Opis produktu: Matematyka w Pythonie. Algebra, statystyka, analiza matematyczna i inne dziedziny - Amit Saha
Książka przedstawia jak używać Pythona do rozwiązywania problemów matematycznych z takich dziedzin jak statystyka, geometria, rachunek prawdopodobieństwa czy analiza matematyczna. Pierwsze rozdziały rozpoczynają się od prostych zadań, jak wyznaczanie dzielników liczb całkowitych i rozwiązywanie równań kwadratowych, aby stopniowo przejść do złożonych zagadnień. Książka porusza zagadnienia takie jak:
- Opis i wizualizacja danych z wykorzystaniem statystyki oraz różnych wykresów
- Teoria zbiorów i rachunku prawdopodobieństwa
- Problemy algebraiczne i obliczenia symboliczne
- Rysowanie kształtów geometrycznych i badanie fraktali
- Pisanie programów do rachunku różniczkowego i całkowego
Książka do nauki programowania Matematyka w Pythonie. Algebra, statystyka, analiza matematyczna i inne dziedziny - Amit Saha.
Informacje o autorze
Amit Saha jest inżynierem oprogramowania, pracował dla Red Hat i Sun Microsystems. Brał udział w różnych projektach open source, w tym SymPy i CPython. Jest twórcą Fedory Scientific - dystrybucji Linuksa przeznaczonej dla naukowców i nauczycieli. Napisał kilka książek technicznych.
Informacje o książce
- Tytuł oryginalny: Doing Math with Python: Use Programming to Explore Algebra, Statistics, Calculus, and More! 1st Edition
- Autor: Amit Saha
- Tłumaczenie: Piotr Rajca
- ISBN: 978-83-283-7493-5
- Rok wydania: 2021
- Format: 170 x 230 mm
- Oprawa: miękka
- Ilość stron: 320
- Wydawnictwo: Helion S.A.
Spis treści
Podziękowania 11
Wprowadzenie 13
1. Operacje na liczbach 17
- Podstawowe operacje matematyczne 17
- Etykiety: przypisywanie nazw liczbom 20
- Różne rodzaje liczb 20
- Operacje na ułamkach 22
- Liczby zespolone 23
- Pobieranie danych wejściowych od użytkownika 25
- Obsługa wyjątków i nieprawidłowych danych wejściowych 26
- Wpisywanie ułamków i liczb zespolonych 28
- Pisanie programów wykonujących obliczenia matematyczne 30
- Obliczanie dzielników liczb całkowitych 30
- Generowanie tabliczki mnożenia 33
- Konwersja jednostek miar 36
- Obliczanie pierwiastków równań kwadratowych 38
- Czego nauczyłeś się w tym rozdziale 41
- Wyzwania programistyczne 41
- Nr 1. Automat parzysty - nieparzysty 41
- Nr 2. Ulepszony generator tabliczki mnożenia 42
- Nr 3. Ulepszony konwerter jednostek 42
- Nr 4. Kalkulator ułamków 42
- Nr 5. Zapewnij użytkownikowi możliwość wyjścia 43
2. Wizualizacja danych przy użyciu wykresów 47
- Wyjaśnienie układu współrzędnych kartezjańskich 47
- Operowanie na listach i krotkach 49
- Przeglądanie zawartości list i krotek 51
- Tworzenie wykresów przy użyciu pakietu Matplotlib 52
- Zaznaczanie punktów na wykresie 54
- Wykres średnich rocznych temperatur w Nowym Jorku 55
- Porównywanie trendów rocznych temperatur w Nowym Jorku 57
- Dostosowywanie wyglądu wykresów 61
- Zapisywanie wykresów 66
- Rysowanie wykresów na podstawie wzorów 67
- Prawo powszechnego ciążenia Newtona 67
- Trajektoria lotu rzuconego obiektu 69
- Czego nauczyłeś się w tym rozdziale 75
- Wyzwania programistyczne 76
- Nr 1. Jak zmienia się temperatura w ciągu dnia? 76
- Nr 2. Wizualizacja przebiegu funkcji kwadratowej 76
- Nr 3. Rozbudowany program porównywania trajektorii 77
- Nr 4. Wizualizacja wydatków 78
- Nr 5. Badanie zależności pomiędzy ciągiem Fibonacciego i złotym podziałem 80
3. Opisywanie danych przy użyciu statystyki 83
- Obliczanie średniej 84
- Obliczanie mediany 85
- Znajdowanie rozstępu i tworzenie tabeli częstotliwości 88
- Znajdowanie najczęściej występującego elementu 88
- Wyznaczanie rozstępu 90
- Tworzenie tabeli częstości 91
- Pomiary zmienności 94
- Określanie rozstępu zbioru liczb 94
- Obliczanie wariancji i odchylenia standardowego 95
- Obliczanie korelacji pomiędzy dwoma zbiorami danych 98
- Obliczanie współczynnika korelacji 99
- Oceny ze szkoły średniej a wyniki egzaminu wstępnego na studia 101
- Wykresy punktowe 104
- Odczyt danych z plików 106
- Wczytywanie danych z pliku tekstowego 107
- Wczytywanie danych z pliku CSV 109
- Czego nauczyłeś się w tym rozdziale 111
- Wyzwania programistyczne 111
- Nr 1. Ulepszony program do wyliczania współczynnika korelacji 111
- Nr 2. Kalkulator statystyczny 111
- Nr 3. Eksperymenty z innymi danymi w formacie CSV 111
- Nr 4. Znajdowanie percentyli 111
- Nr 5. Tworzenie grupowanej tabeli częstości 112
4. Algebra i obliczenia symboliczne z użyciem SymPy 115
- Definiowanie symboli i operacji symbolicznych 115
- Operacje na wyrażeniach 118
- Rozkład na czynniki i rozwijanie wyrażeń 118
- Wyświetlanie wyrażeń w atrakcyjnej postaci 120
- Podstawianie wartości 123
- Konwersja łańcuchów na wyrażenia matematyczne 126
- Rozwiązywanie równań 128
- Rozwiązywanie równań kwadratowych 129
- Wyznaczanie jednej zmiennej względem innych 130
- Rozwiązywanie układów równań liniowych 131
- Rysowanie wykresów z użyciem SymPy 132
- Rysowanie wyrażeń wpisanych przez użytkownika 135
- Rysowanie wielu funkcji na jednym wykresie 136
- Czego nauczyłeś się w tym rozdziale 138
- Wyzwania programistyczne 139
- Nr 1. Wyznaczanie czynników 139
- Nr 2. Program do graficznego rozwiązywania równań 139
- Nr 3. Obliczanie sumy szeregu 140
- Nr 4. Rozwiązywanie nierówności z jedną niewiadomą 141
5. Zabawy ze zbiorami i prawdopodobieństwem 145
- Czym są zbiory? 145
- Tworzenie zbiorów 146
- Podzbiory, nadzbiory i zbiory potęgowe 148
- Operacje na zbiorach 151
- Prawdopodobieństwo 156
- Prawdopodobieństwo zdarzeń A lub B 158
- Prawdopodobieństwo zdarzeń A i B 159
- Generowanie liczb losowych 160
- Liczby losowe o rozkładzie niejednostajnym 163
- Czego nauczyłeś się w tym rozdziale 166
- Wyzwania programistyczne 166
- Nr 1. Użycie diagramów Venna do wizualizacji zależności pomiędzy zbiorami 166
- Nr 2. Prawo wielkich liczb 169
- Nr 3. Ile rzutów wykonasz, zanim skończą Ci się pieniądze? 170
- Nr 4. Tasowanie talii kart 170
- Nr 5. Szacowanie pola koła 171
6. Rysowanie kształtów geometrycznych i fraktali 175
- Rysowanie kształtów geometrycznych przy użyciu obiektów Patch biblioteki Matplotlib 175
- Rysowanie koła 177
- Tworzenie animowanych kształtów 179
- Animowanie obiektu po trajektorii rzutu 181
- Rysowanie fraktali 184
- Przekształcenia punktów na płaszczyźnie 184
- Rysowanie liścia Barnsleya 188
- Czego nauczyłeś się w tym rozdziale 192
- Wyzwania programistyczne 194
- Nr 1. Wpisywanie kół w kwadrat 194
- Nr 2. Rysowanie trójkąta Sierpińskiego 195
- Nr 3. Badanie funkcji Hénona 196
- Nr 4. Rysowanie zbioru Mandelbrota 198
7. Rozwiązywanie problemów analizy matematycznej 203
- Czym są funkcje? 203
- Dziedzina i zakres funkcji 204
- Przegląd najczęściej używanych funkcji matematycznych 204
- Założenia w bibliotece SymPy 206
- Znajdowanie granicy funkcji 207
- Ciągły procent składany 209
- Chwilowa szybkość zmian 210
- Wyznaczanie pochodnych funkcji 211
- Kalkulator pochodnych 212
- Obliczanie pochodnych cząstkowych 214
- Pochodne wyższych rzędów i znajdowanie maksimów i minimów funkcji 214
- Znajdowanie maksimum globalnego przy użyciu metody gradientu prostego 218
- Ogólny program korzystający z metody gradientu prostego 222
- Słowo ostrzeżenia odnośnie do wartości początkowej 223
- Rola wielkości kroku oraz wartości epsilon 225
- Wyznaczanie całek funkcji 227
- Funkcje gęstości prawdopodobieństwa 229
- Czego nauczyłeś się w tym rozdziale 232
- Wyzwania programistyczne 233
- Nr 1. Sprawdzanie ciągłości funkcji w punkcie 233
- Nr 2. Znajdowanie minimum metodą gradientu prostego 233
- Nr 3. Obszar pomiędzy dwiema krzywymi 234
- Nr 4. Znajdowanie długości krzywej 234
Podsumowanie 237
- Rzeczy do zbadania 237
- Projekt Euler 237
- Dokumentacja Pythona 238
- Książki 238
- Szukanie pomocy 239
- Zakończenie 239
A. Instalacja oprogramowania 241
- Microsoft Windows 242
- Aktualizacja pakietu SymPy 244
- Aktualizacja pakietu matplotlib-venn 244
- Uruchamianie programu Python Shell 244
- Linux 244
- Aktualizacja pakietu SymPy 246
- Instalacja pakietu matplotlib-venn 246
- Uruchamianie powłoki Pythona 246
- Mac OS X 246
- Aktualizacja pakietu SymPy 249
- Instalacja pakietu matplotlib-venn 249
- Uruchamianie powłoki Pythona 249
B. Przegląd zagadnień związanych z programowaniem w Pythonie 251
- if __name__ == '__main__' 251
- Wyrażenia listowe 253
- Słowniki 254
- Zwracanie wielu wartości 257
- Obsługa wyjątków 259
- Stosowanie więcej niż jednego typu błędów 259
- Klauzula else 261
- Odczyt plików w Pythonie 261
- Odczyt wszystkich wierszy za jednym razem 263
- Pobieranie nazwy pliku jako danych wejściowych 263
- Obsługa błędów podczas odczytywania zawartości plików 264
- Wielokrotne stosowanie kodu 267
C. Rozwiązania wyzwań programistycznych 269
- Rozwiązania wyzwań z rozdziału 1. 269
- Nr 1. Automat parzysty - nieparzysty 269
- Nr 2. Ulepszony generator tabliczki mnożenia 271
- Nr 3. Ulepszony konwerter jednostek 271
- Nr 4. Kalkulator ułamków 273
- Nr 5. Zapewnienie możliwości wyjścia z programu 274
- Rozwiązania wyzwań z rozdziału 2. 276
- Nr 1. Jak zmienia się temperatura w ciągu dnia? 276
- Nr 2. Wizualizacja przebiegu funkcji kwadratowej 277
- Nr 3. Rozbudowany program do porównywania trajektorii 279
- Nr 4. Wizualizacja wydatków 281
- Nr 5. Badanie zależności pomiędzy ciągiem Fibonacciego i złotym podziałem 283
- Rozwiązania wyzwań z rozdziału 3. 284
- Nr 1. Ulepszony program do wyliczania współczynnika korelacji 284
- Nr 2. Kalkulator statystyczny 286
- Nr 3. Eksperymenty z innymi danymi w formacie CSV 287
- Nr 4. Znajdowanie percentyli 290
- Nr 5. Tworzenie grupowanej tablicy częstotliwości 293
- Rozwiązania wyzwań z rozdziału 4. 294
- Nr 1. Wyznaczanie czynników 294
- Nr 2. Program do graficznego rozwiązywania równań 295
- Nr 3. Obliczanie sumy szeregu 296
- Nr 4. Rozwiązywanie nierówności 297
- Rozwiązania wyzwań z rozdziału 5. 299
- Nr 1. Użycie diagramów Venna do wizualizacji zależności pomiędzy zbiorami 299
- Nr 2. Prawo wielkich liczb 300
- Nr 3. Ile rzutów wykonasz, zanim skończą Ci się pieniądze? 301
- Nr 4. Tasowanie talii kart 302
- Nr 5. Szacowanie pola koła 303
- Rozwiązania wyzwań z rozdziału 6. 305
- Nr 1. Wpisywanie kół w kwadrat 305
- Nr 2. Rysowanie trójkąta Sierpińskiego 305
- Nr 3. Badanie funkcji Hénona 307
- Nr 4. Rysowanie zbioru Mandelbrota 309
- Rozwiązania wyzwań z rozdziału 7. 311
- Nr 1. Sprawdzanie ciągłości funkcji w punkcie 311
- Nr 2. Znajdowanie minimum metodą gradientu prostego 312
- Nr 3. Obszar między dwiema krzywymi 314
- Nr 4. Znajdowanie długości krzywej 316
Przydatne linki |