Matematyka dla programistów Java - ebook
Matematyka dla programistów Java - ebook
Matematyka w Javie? Nic trudnego!
- Przypomnij sobie reguły i działania matematyczne
- Poznaj w praktyce funkcje matematyczne języka Java
- Zamieniaj wzory i problemy matematyczne na algorytmy
- Naucz się wizualizować wyniki swoich obliczeń
Matematyka nie jest ulubioną dziedziną wiedzy większości ludzi, a społeczność informatyczna nie stanowi tu wyjątku. Funkcje matematyczne, obliczenia statystyczne, działania na macierzach - każda z tych czynności może wywołać popłoch nawet wśród najbardziej doświadczonych programistów, z wieloletnim stażem w zawodzie. Jest tak, mimo że zarówno zasada działania komputerów, jak i języki programowania opierają się właśnie na królowej nauk.
Na szczęście na rynku jest ta książka! Szybko wprowadzi Cię ona w świat obliczeń matematycznych wykonywanych za pomocą komputera. Na praktycznych przykładach, opracowanych w popularnym języku Java, przedstawia sposoby przeprowadzania różnych działań i przekształceń, stosowania algorytmów i wizualizowania otrzymanych wyników. Przestań się więc martwić i zostań prawdziwym matematycznym ninja!
- Podstawy matematyki i teorii informacji
- Działania na liczbach binarnych i heksadecymalnych
- Kombinatoryka i prawdopodobieństwo
- Działania na wektorach i macierzach
- Przetwarzanie liczb zespolonych
- Wykresy krzywych
- Chaos, fraktale i paradoksy
Działania matematyczne? Obliczenia naukowe? Wypróbuj to w Javie!
Spis treści
Wstęp 19
Rozdział 1. Powtórka z matematyki i klasa Math 21
- Stałe matematyczne 21
- Potęgowanie i pierwiastkowanie 21
- Potęgowanie 21
- Pierwiastkowanie 22
- Rzutowanie w zakres 0 do 1 22
- Potęgowanie i pierwiastkowanie w Javie 23
- Logarytmy 23
- Logarytm o dowolnej podstawie 23
- Logarytm naturalny 24
- Logarytm dziesiętny 24
- Przeliczanie logarytmów 24
- Logarytmy w Javie 24
- Funkcje trygonometryczne 25
- Miary kąta 25
- Przeliczanie stopni na radiany i radianów na stopnie 27
- Funkcje trygonometryczne kąta pełnego 28
- Przeciwprostokątna 30
- Funkcje cyklometryczne 30
- Funkcje hiperboliczne 31
- Inne obliczenia i metody 32
- Wartości maksymalne, minimalne i absolutne 32
- Zaokrąglanie liczb 33
- Zaokrąglanie wyników dzielenia 34
- Liczby pseudolosowe 35
- Znaki liczb 35
- Bezpieczne obliczenia arytmetyczne 36
- Bezpieczne rzutowanie 36
- Reprezentacja liczb w komputerze 36
- Reszta z dzielenia 38
- Metody fma 38
- Zamiana ułamków dziesiętnych na zwykłe 39
- Ułamek nieokresowy 39
- Ułamek okresowy 39
Rozdział 2. Teoria informacji - podstawowe pojęcia 41
- Różnorodność 41
- Prawdopodobieństwo 43
- Entropia 44
- Informacja 45
Rozdział 3. Spójniki logiczne i logika zdań 47
- Wprowadzenie 47
- Spójniki jednoargumentowe 47
- verum 47
- falsum 48
- assertum 48
- not 49
- Spójniki dwuargumentowe 49
- AND 50
- OR 51
- NAND 51
- NOR 52
- XOR 53
- NXOR 53
- IMP 54
- IMPR 55
- Inne spójniki 55
- ACTIV 56
- DEACTIV 57
Rozdział 4. Logiki trójwartościowe 59
- Algorytmy dla logiki Kleene'ego 62
- Koniunkcja 62
- Alternatywa 62
Rozdział 5. Operatory i obliczenia binarne 63
- Liczby binarne 63
- Operatory binarne 65
- Operator iloczynu bitowego & 65
- Operator sumy bitowej | 66
- Operator bitowej różnicy symetrycznej ^ 66
- Operator negacji bitowej ~ 67
- Operator przesunięcia bitowego w lewo << 67
- Operator przesunięcia bitowego w prawo >> 68
- Operator przesunięcia bitowego w prawo z wypełnianiem zerami >>> 69
- Zastosowania operacji binarnych 70
- Sprawdzanie parzystości 70
- Maskowanie binarne 70
- Włączanie bitów 71
- Wyłączanie bitów 71
- Odwracanie bitów 72
- Flagi binarne 73
- Zegar binarny 75
- Kod BCD 75
- Zapis czasu 75
- Algorytm 77
- Kod Graya 77
- Tworzenie kodu 77
- Konwersja liczb dziesiętnych do kodu Graya 79
- Konwersja liczb binarnych do kodu Graya 79
- Konwersja kodu Graya na liczby dziesiętne 79
- Konwersja kodu Graya na liczby binarne 80
Rozdział 6. Liczby heksadecymalne i kolory 81
- Liczby heksadecymalne 81
- Modele kolorów 83
- Modele RGB i RGBA 83
- Przestrzeń kolorów sRGB 83
- Model HSL/HSV 84
- Przestrzeń kolorów HSV/HSB 84
- Przestrzeń kolorów HSL/HSI/HSD 84
- Przestrzeń kolorów HWB 85
- Palety kolorów 85
- Paleta 16 kolorów nazwanych 85
- Paleta Web Safe Colors 85
- Rozszerzona paleta kolorów nazwanych EN 85
- Paleta kolorów mających polskie nazwy 86
- Paleta nazwanych kolorów HSL 86
- Paleta kolorów HSL 86
- Paleta kolorów nazwanych CSS 86
- Przeliczenia kolorów 86
Rozdział 7. Rachunek zbiorów i kompozycja kolorów 89
- Zbiór 89
- Operacje na zbiorach 89
- Dopełnienie zbioru 90
- Suma zbiorów 90
- Iloczyn zbiorów 90
- Różnica zbiorów 90
- Różnica symetryczna zbiorów 91
- Zawieranie się zbiorów 91
- Obliczenia 94
- Reguły Portera-Duffa 96
- AlphaComposite.CLEAR 96
- AlphaComposite.DST 96
- AlphaComposite.DST_ATOP 97
- AlphaComposite.DST_IN 97
- AlphaComposite.DST_OUT 98
- AlphaComposite.DST_OVER 99
- AlphaComposite.SRC 99
- AlphaComposite.SRC_ATOP 99
- AlphaComposite.SRC_IN 100
- AlphaComposite.SRC_OUT 100
- AlphaComposite.SRC_OVER 101
- AlphaComposite.XOR 102
Rozdział 8. Liczby pierwsze 103
- Definicja liczby pierwszej 103
- Rozmieszczenie liczb pierwszych 103
- Spirala Ulama 104
- Spirala Archimedesa 105
- Gęstość liczb pierwszych 105
- Liczba liczb pierwszych 108
- Generowanie liczb pierwszych 108
- Liczba pierwsza większa od n 108
- Liczby pierwsze w podanym zakresie 108
- Sita liczbowe 109
- Liczba pierwsza Mersenne'a 110
- Wzór Fermata i inne wzory 111
- Specjalne liczby pierwsze 112
- Liczby bliźniacze 112
- Liczby czworacze 112
- Liczby izolowane 112
- Liczby Sophie Germain 112
- Liczby lustrzane 112
- Liczby palindromiczne 113
- Największe liczby pierwsze 113
- Ciekawe liczby pierwsze 113
- Testy pierwszości 114
- Małe liczby 114
- Duże liczby 114
- Faktoryzacja 117
- Czego nie wiadomo? 118
- Liczby pierwsze w naturze 118
Rozdział 9. Liczba φ 119
- Liczba φ w geometrii 120
- Złoty podział odcinka 120
- Złoty prostokąt 121
- Złota spirala 121
- Złoty trójkąt 121
- Pentagram 122
- Liczba φ w architekturze 123
- Liczba φ w sztuce 123
- Apollo Belwederski 123
- Liczba φ w muzyce 123
- Liczba φ w naturze 125
- Dłoń 125
- Inne 125
- Inne przykłady 126
- Wątpliwości 126
Rozdział 10. Ciąg i liczby Fibonacciego 127
- Definicja 127
- Granica 128
- Wzór Bineta 128
- Wyrazy ciągu 129
- n-ty wyraz ciągu 129
- Wyraz ciągu większy od n 129
- Wyraz ciągu mniejszy od n 129
- Wyrazy ciągu pomiędzy min i max 130
- Czy n jest wyrazem ciągu? 130
- Proporcje liczb 131
- Najważniejsze właściwości 132
- Właściwość 1. 132
- Właściwość 2. 133
- Właściwość 3. 134
- Właściwość 4. 134
- Właściwość 5. 135
- Właściwość 6. 135
- Właściwość 7. 135
- Właściwość 8. 136
- Właściwość 9. 136
- Właściwość 10. 136
- Właściwość 11. 136
- Właściwość 12. 136
- Właściwość 13. 136
- Właściwość 14. 137
- Inne właściwości 138
- Trochę zabawy 138
- Zastosowania i występowanie 138
- Kwadraty Fibonacciego 138
- Spirala Fibonacciego 138
- Ciąg Fibonacciego w systemie dwójkowym 139
- Liczby Rahaba 139
- Wśród błonkówek 142
- Rozmnażanie królików 143
- Pędy boczne na pędzie głównym 143
- Więcej biologii 144
- Muzyka 145
- Literatura 145
- Ekonomia 147
- Informatyka 147
Rozdział 11. Kombinatoryka i rachunek prawdopodobieństwa 149
- Silnia 149
- Wzór przybliżony 150
- Symbol Newtona 150
- Rozkład dwumianowy 151
- Rzut 1 monetą 151
- Rzut 2 monetami 151
- Rzut 3 monetami 152
- Rzut 4 monetami 153
- Rzut n monetami 153
- Dwumiany Newtona 153
- Dwumiany 153
- Dwumiany Newtona 154
- Szereg Newtona 155
- Inne dwumiany 155
- Przykłady 155
- Trójkąt Pascala 156
- Właściwości 156
- Współczynniki rozwinięcia 159
- Schemat Bernoulliego 160
- Wzór Bernoulliego 161
- Prawdopodobieństwo wyrzucenia 161
- Wzór Bernoulliego 163
- Przykłady 163
- Zastosowania 165
- Kombinacje, wariacje i permutacje 167
- Kombinacje 167
- Wariacje 169
- Permutacje 170
- Co wybrać? 172
- Liczby Stirlinga 173
- Liczby Stirlinga II rodzaju 173
- Liczby Stirlinga I rodzaju 175
- Liczby Eulera 177
- Liczby Eulera I rzędu 177
- Liczby Eulera II rzędu 178
- Liczby Bernoulliego 181
- Partycje 182
- n jako suma dokładnie k liczb naturalnych 182
- n jako suma co najwyżej k liczb naturalnych 183
- n jako suma liczb naturalnych 184
- Inwersje 186
- Liczby Catalana 186
- Liczba dróg 187
- Liczba rozmieszczeń nawiasów 189
- Liczba podziałów na trójkąty 190
- Liczba monotonicznych dróg 190
- Liczba drzew binarnych 191
- Liczby Bella 193
- Naszyjniki i bransoletki 194
- Liczby względnie pierwsze 194
- Funkcja ? Eulera 195
- Naszyjniki i bransoletki 197
- Kule i urny 200
- Rozmieszczenie 8. 206
- Uwagi 207
- Wybrane zagadnienia rachunku prawdopodobieństwa 208
- Uogólniony wzór Bernoulliego 208
- Wzór Pascala 208
- Wzór Poissona 209
- Losowanie bez zwracania 210
Rozdział 12. Statystyka - praca z danymi 213
- Dane 213
- Porządkowanie danych 213
- Szereg rozdzielczy jednostopniowy 213
- Szereg rozdzielczy wielostopniowy 214
- Wykresy danych 216
- Histogram 216
- Wykres kołowy 218
- Wykres liniowy 218
- Inne wykresy 220
- Porównanie danych 220
- Ocena danych 221
- Min, max, rozstęp 222
- Suma 222
- Wskaźnik struktury 222
- Wskaźnik natężenia 223
- Średnia arytmetyczna 223
- Dominanta (moda) 224
- Percentyle 225
- Wariancja 226
- Odchylenie standardowe 228
- Współczynnik zmienności 228
- Momenty średniej 229
- Inne współczynniki 231
Rozdział 13. Wskaźniki różnorodności i podobieństwa 233
- Wskaźnik Margalefa 233
- Wskaźnik Simpsona 234
- Wskaźnik Shannona-Wienera 235
- Wskaźnik Pielou 236
- Wskaźnik Jaccarda 237
- Wskaźnik Sorensona 238
- Wersja 1. 238
- Wersja 2. 239
- Wskaźnik Euklidesa 240
Rozdział 14. Równania prostej 241
- Postać ogólna 241
- Postać kierunkowa 242
- Praca z obiektem Line 243
- Równoległość prostych 245
- Odległość prostych równoległych 245
- Prostopadłość prostych 246
- Kąt między prostymi 247
- Punkt przecięcia prostych 248
- Odległość punktu od prostej 249
- Prosta równoległa do danej prostej przechodząca przez punkt 250
- Prosta prostopadła do danej prostej przechodząca przez punkt 251
- Wyznaczanie punktów na prostej 252
Rozdział 15. Wektory 253
- Skalary 253
- Wektory dwuwymiarowe 2d 253
- Wektory wierszowe i kolumnowe 253
- Transpozycja 254
- Współrzędne kartezjańskie a biegunowe 254
- Długość wektora 255
- Kąt wektora 256
- Dodawanie wektorów 256
- Odejmowanie wektorów 257
- Skalowanie wektora 257
- Normalizacja wektora 258
- Iloczyn skalarny wektorów 258
- Normalna wektora 259
- Kąt między wektorami 260
- Iloczyn wektorowy 260
- Wektory 3d 261
- Wektory n-wymiarowe 261
Rozdział 16. Macierze 263
- Klasa Matrix 263
- Użycie konstruktorów 263
- Typy macierzy 264
- Macierz zerowa 264
- Macierz jednostkowa 265
- Macierze wektorowe 265
- Macierz kwadratowa 265
- Właściwości macierzy 266
- Stopień macierzy 266
- Równość macierzy 266
- Operacje na macierzach 266
- Dodawanie macierzy 266
- Odejmowanie macierzy 267
- Mnożenie skalarne 267
- Mnożenie macierzy 267
- Obliczanie wyznacznika 270
- Transpozycja macierzy 275
- Dzielenie macierzy 275
- Macierz odwrotna 276
- Rozwiązanie prostego równania 280
Rozdział 17. Przekształcenia afiniczne 283
- Translacja 284
- Skalowanie 285
- Obrót 286
- Obrót względem punktu (0, 0) 286
- Odbicie 289
- Odbicie względem osi X 289
- Odbicie względem osi Y 290
- Odbicie względem osi X i osi Y 290
- Odbicie względem prostej przechodzącej przez P(0, 0) 290
- Przekrzywienie (pochylenie) 292
- Przekrzywienie wzdłuż osi X 292
- Przekrzywienie względem osi Y 292
- Przekształcenia złożone 293
- Obrót względem dowolnego punktu 294
- Obrót w miejscu 295
- Skalowanie w miejscu 297
- Odbicie względem dowolnej prostej 299
- Przekrzywienie względem środka ciężkości figury 301
- Składanie macierzy przekształceń 301
Rozdział 18. Funkcje 307
- Algorytmy 307
- Pojęcie funkcji 307
- Zbiory 307
- Relacje 308
- Funkcje 309
- Rodzaje funkcji 310
- Funkcje algebraiczne 310
- Funkcje przestępne 311
- Postaci funkcji 312
- Funkcja jednej zmiennej 312
- Funkcja wielu zmiennych 312
- Funkcja wyraźna 312
- Funkcja uwikłana 312
- Funkcja w postaci parametrycznej 312
- Wykresy funkcji 313
- Symetria wykresów 313
- Funkcje rosnące albo malejące 313
- Funkcje okresowe 315
- Funkcje ograniczone i nieograniczone 315
- Funkcja różnowartościowa 317
- Funkcje wzajemnie odwrotne 317
- Funkcje złożone 319
- Ciągi liczbowe 319
- Moduł liczby 320
- Granica ciągu 320
- Granica ciągu nieskończonego 320
- Ciągi zbieżne i rozbieżne 321
- Twierdzenia o granicach ciągów 323
- Działania na ciągach zbieżnych 323
- Twierdzenia o ciągach zbieżnych 323
- Liczba e 324
- Granica funkcji w punkcie 324
- Granica lewostronna i prawostronna 324
- Granice niewłaściwe 325
- Twierdzenia o granicach 326
- Granica wielomianu 327
- Granica funkcji wymiernej 327
- Ciągłość funkcji 327
- Ciągłość funkcji w punkcie i w przedziale 327
- Własności funkcji ciągłych 328
Rozdział 19. Wielomiany i równania wielomianowe 329
- Wyrażenie algebraiczne 329
- Wartość liczbowa wyrażenia 329
- Jednomian 329
- Współczynnik liczbowy wielomianu 329
- Stopień jednomianu 330
- Liczba zmiennych 330
- Jednomiany podobne 330
- Działania na jednomianach 330
- Dwumian 332
- Trójmian 332
- Wielomian 333
- Wzory skróconego mnożenia 333
- Wielomian stopnia n jednej zmiennej 333
- Redukcja jednomianów podobnych 334
- Porządkowanie wielomianu 335
- Działania na wielomianach 335
- Dodawanie wielomianów 335
- Odejmowanie wielomianów 336
- Mnożenie wielomianu przez liczbę 336
- Mnożenie wielomianu przez wielomian 336
- Dzielenie wielomianu przez wielomian 337
- Schemat Hornera 338
- Algorytm Hornera (dzielenie wielomianu przez dwumian) 338
- Reszta z dzielenia przez dwumian 340
- Schemat Hornera (obliczanie wartości wielomianu) 340
- nwd wielomianów 341
- Pochodna wielomianu 341
- Pierwiastki wielomianu 341
- Pierwiastek wielomianu 341
- Rozkładanie wielomianu na czynniki 343
- Równanie kwadratowe 343
- Postać ogólna 343
- Wyróżnik równania kwadratowego 344
- Pierwiastki równania kwadratowego 344
- Postać kanoniczna 344
- Postać iloczynowa 344
- Wzory Viete'a 344
- Przykłady 345
- Równanie sześcienne 346
- Postać ogólna 346
- Wyróżnik równania sześciennego 347
- Wzory Viete'a 349
- Równanie sześcienne 2 349
- Współczynnik h >0 349
- Współczynnik h = 0 350
- Współczynnik h < 0 350
- Równania 4. stopnia 351
- Postać ogólna 351
- Wyróżniki i pierwiastki 351
- Wzory Viete'a 353
Rozdział 20. Liczby zespolone 355
- Równość liczb zespolonych 356
- Układ współrzędnych 356
- Postać algebraiczna 356
- Dodawanie 356
- Odejmowanie 358
- Mnożenie 358
- Sprzężenie 359
- Dzielenie 359
- Moduł 360
- Argument 360
- Postać trygonometryczna 361
- Mnożenie 361
- Dzielenie 361
- Potęgowanie 363
- Pierwiastkowanie 363
- Odwrotność 1/n 364
- Reprezentacja macierzowa 365
- Dodawanie 365
- Odejmowanie 365
- Mnożenie 366
- Transpozycja, sprzężenie 366
- Wyznacznik macierzy, moduł liczby 366
- Argument 366
- Wektory własne macierzy 366
- Interpretacja transformacyjna 366
Rozdział 21. Wykresy niektórych krzywych 367
- Asteroida 367
- Rozeta czterolistna 368
- Spirala Archimedesa 369
- Kardioida 370
- Krzywa Lissajous 370
- Epicykloida 372
- Epitrochoida 372
- Hipocykloida 375
- Hipotrochoida 376
- Elipsa 378
- Inne krzywe 378
Rozdział 22. Krzywe Béziera 381
- Wielomiany Bernsteina 381
- Definicja 381
- Obliczenia 381
- Algorytm 385
- Właściwości 386
- Inne sposoby obliczania 386
- Pochodne 387
- Krzywa Béziera 1. stopnia 388
- Krzywa Béziera 2. stopnia 389
- Tworzenie krzywej 389
- Obliczenia 390
- Algorytm 390
- Postać macierzowa 391
- Inna definicja 392
- Krzywa Béziera 3. stopnia 394
- Obliczenia 394
- Algorytm 395
- Postać macierzowa 395
- Inna definicja 397
- Wykresy krzywych Béziera 2. i 3. stopnia 398
- Krzywa 2. stopnia 398
- Krzywa 3. stopnia 399
- Krzywe Béziera wyższych stopni 400
- Algorytm 401
- Wykres 401
- Podwyższanie stopnia krzywej 402
- Algorytm 402
- Wykres 402
- Właściwości krzywych Béziera 403
- Właściwość 1. 403
- Właściwość 2. 403
- Właściwość 3. 403
- Właściwość 4. 403
- Właściwość 5. 404
- Właściwość 6. 404
- Właściwość 7. 404
- Właściwość 8. 410
- Właściwość 9. 411
- Właściwość 10. 411
- Właściwość 11. 411
- Właściwość 12. 411
- Algorytm de Casteljau 411
- Obliczenie położenia punktu na krzywej dla danego t 412
- Podział krzywej na dwie krzywe 414
- Gładkie połączenie dwóch krzywych 416
- Wymierne krzywe Béziera 417
- Definicja 418
- Funkcje bazowe wymiernych krzywych Béziera 418
- Wymierne krzywe Béziera 2. stopnia 421
- Algorytm 421
- Wykresy 421
- Wymierne krzywe Béziera 3. stopnia 422
- Algorytm 423
- Wykres 423
- Wymierne krzywe Béziera n-tego stopnia 423
- Algorytm 423
- Wykres 423
- Właściwości wymiernych krzywych Béziera 424
- Właściwość 1. 424
- Właściwość 2. 424
- Właściwość 3. 424
- Właściwość 4. 424
- Właściwość 5. 425
- Właściwość 6. 425
- Właściwość 7. 425
- Właściwość 8. 425
- Właściwość 9. 425
- Właściwość 10. 425
- Właściwość 11. 425
- Właściwość 12. 425
- Właściwość 13. 425
- Właściwość 14. 425
Rozdział 23. Teoria gier 427
- Podstawowe pojęcia 427
- Teoria gier 427
- Gracz 427
- Gra 427
- Strategia 427
- Decyzja 428
- Wypłata 428
- Macierz wypłat 429
- Gra z sumą zerową 429
- Punkt siodłowy 429
- Strategia czysta 432
- Strategia mieszana 432
- Strategia dominująca 434
- Podgra 436
- Cena gry 437
- Rozwiązywanie gier 2×2 439
- Przykład 440
- Rozwiązywanie gier 2×m i n×2 441
- Przykład 1. 442
- Przykład 2. 444
- Graficzne rozwiązywanie gier 2×m i n×2 447
- Przykład 1. 447
- Przykład 2. 448
- Rozwiązywanie gier m×n 449
- Gry z naturą 449
- Sformułowanie problemu 449
- Gdy znamy prawdopodobieństwa stanów natury 450
- Gdy nie znamy prawdopodobieństw stanów natury 451
Rozdział 24. Automaty komórkowe 455
- Automaty komórkowe 1-wymiarowe 455
- Ewolucja w czasie 458
- Automaty komórkowe 2-wymiarowe 461
- Sąsiedztwo von Neumanna 461
- Sąsiedztwo Moore'a 461
- Warunki brzegowe 461
- Gra "Life" Conwaya 461
- Mrówka Langtona 465
- Cechy szczególne 465
- Inne warianty 465
- "Ruch drogowy"...
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-7040-1 |
Rozmiar pliku: | 14 MB |