Autor: Andrzej Brozi
ISBN: 978-83-89529-26-8
Ilość stron: 260
Data wydania: 02/2007
Scilab jest bardzo rozbudowanym programem przeznaczonym do obliczeń numerycznych. Jego popularność szybko wzrasta z powodu ogromnych możliwości obliczeniowych, niewiele ustępujących Matlabowi.
Niebagatelne znaczenie ma również fakt, że jest to program darmowy – zatem całkowicie legalnie możemy nie tylko wykorzystywać go w domu, szkole czy w pracy, ale również nie ponosząc kosztów zakupu licencji rozbudować pracownię szkolną/studencką o kolejnych kilka komputerów, zadać uczniom/studentom pracę domową czy wreszcie "zabrać pracę do domu".
Scilab działa w sposób analogiczny jak Matlab (i tak samo jak on operuje głównie na wektorach i macierzach). Jego efektywne wykorzystanie (tak jak i innych tego typu programów) wymaga opanowania zasad macierzowego zapisu wyrażeń. Wysiłek w to włożony będzie szybko procentować - przede wszystkim ze względu na możliwość bardzo łatwego wykorzystywania wbudowanych w program profesjonalnie opracowanych procedur numerycznych.
Wprawdzie "filozofia" wykorzystywania Scilaba i Matlaba jest praktycznie identyczna, to jednak istniejące różnice w składni poleceń obu programów mogą powodować wystąpienie trudnych do znalezienia błędów (szczególnie dla użytkownika początkującego) - stąd potrzeba napisania podręcznika opisującego konkretnie ten program.
Książka Scilab w przykładach powstała z myślą przede wszystkim o studentach kierunków technicznych, którzy na zajęciach z metod numerycznych po raz pierwszy stykają się z tym programem.
Ze względu na swoją konstrukcję może być także przydatna dla wszystkich osób, które chcą przeprowadzać obliczenia numeryczne, bez konieczności samodzielnego programowania algorytmów. Przedstawione w książce przykłady nie wymagają zaawansowanej wiedzy matematycznej – już uczeń liceum ogólnokształcącego powinien je bez problemu zrozumieć.
Początkujący użytkownik Scilaba znajdzie tu szczegółowe informacje na temat instalacji i uruchamiania programu, podstawowych zasad działania i tworzenia modelu numerycznego oraz prezentacji jego wyników.
Zaawansowany użytkownik pogłębi wiedzę na temat np. modyfikowania obiektów graficznych nowego typu, zasad deklarowania funkcji, wykorzystywania procedury „ode”, które w plikach pomocy wyjaśniane są często zbyt lakonicznie. Książka zawiera również spis najważniejszych poleceń Scilaba wraz z opisem ich działania i przykładowymi wynikami.
Rozdział 1. zawiera podstawowe informacje o programie Scilab, opis jego instalacji, sposobów wydawania poleceń i uruchamiania programów. W dalszych podrozdziałach zawiera spis najważniejszych poleceń Scilaba wraz z opisem ich działania i przykładami zastosowań.
Kolejne rozdziały zawierają opisy rozwiązań przykładowych problemów, przy czym każdy z przykładów traktowany jest jako swego rodzaju pretekst do przedstawienia i wyjaśnienia nowych konstrukcji i poleceń Scilaba:
Rozdział 2. – obliczanie wartości liczby pi metodą Monte Carlo.
Rozdział 3. – rozwiązanie układu równań nieliniowych metodą Newtona-Raphsona.
Rozdział 4. - obliczenie pola elektrycznego wytwarzanego przez dipol elektryczny.
Rozdział 5. - model rzutu ukośnego. W rozdziale tym przedstawiono proces tworzenia modelu rozpoczynając od rozwiązania przypadku najprostszego - rzutu "szkolnego", a następnie udokładniamy go uwzględniając kolejno opór powietrza, wiatr, zależność gęstości powietrza od wysokości, ruch wirowy pocisku, a wreszcie siłę Coriolisa.
Rozdziały:
Rozdział 1. Podstawy posługiwania się programem Scilab 8 1. Instalacja, uruchomienie i wyjście z programu 8 2. Pomoc 11 3. Pliki, programy i polecenia 16 3.1. "Pamiętnik" 16 3.2. Wprowadzanie poleceń w linii komend 16 3.3. Scipad 17 3.4. Uruchamianie programów 18 3.5. Zmiana aktualnej ścieżki 18 3.6. Zapisywanie zmiennych 19 3.7. Sprawdzanie zmiennych znajdujących się w pamięci 19 3.7.1. Polecenie who 20 3.7.2. Polecenie whos() 20 4. Operatory specyficzne dla Scilaba 22 4.1. Operator przypisania 23 4.2. Wprowadzenie macierzy z linii poleceń 23 4.3. Operator zakresu indeksów 23 4.4. Odwołania do elementów macierzy 24 4.5. Równomierne zapełnienie zakresu 25 4.6. Funkcje tworzące macierze o szczególnej postaci 26 4.6.1. Macierz jednostkowa 26 4.6.2. Macierz zerowa 27 4.6.3. Macierz zapełniona jedynkami 27 4.6.4. Macierz zapełniona liczbami losowymi 27 4.6.5. Macierz zawierająca przekątną 27 4.6.5.1. "Wydobycie" przekątnej z istniejącej macierzy 27 4.6.5.2. Utworzenie macierzy zawierajacej na przekątnej podany wektor wartości 28 4.6.6. Macierze trójkątne 29 4.6.7. Złożenie macierzy z istniejących elementów 30 4.6.8. Zmiana orientacji macierzy 31 4.6.9. Utworzenie macierzy o identycznym rozmiarze 32 4.6.10. Zmiany rozmiaru macierzy 33 4.6.10.1. Polecenie matrix 34 4.6.10.2. Tworzenie macierzy specjalnych 36 4.7. Operatory relacji 37 4.8. Operatory arytmetyczne 37 4.8.1. Dodawanie i odejmowanie 37 4.8.2. Mnożenie 38 4.8.3. Dzielenie 39 4.8.4. Dzielenie modulo 44 4.8.5. Potęgowanie 46 4.8.6. Pierwiastkowanie 47 4.8.7. Inne operacje na macierzach 48 4.8.7.1. Sprawdzenie rozmiaru macierzy 48 4.8.7.2. Wyszukiwanie najmniejszego lub największego elementu 48 4.8.7.3. Sumowanie elementów macierzy 49 4.8.7.4. Mnożenie elementów macierzy 50 4.9. Macierze pełne i rzadkie 51 4.9.1. Polecenie sparse 51 4.9.2. Polecenie full 53 4.10. Operatory logiczne 54 4.10.1. Zaprzeczenie 54 4.10.2. Koniunkcja 54 4.10.3. Alternatywa 54 5. Stałe matematyczne 54 6. Typowe konstrukcje programistyczne 55 6.1. Pętla for 55 6.2. Pętla while 56 6.3. Przerywanie wykonywania pętli 57 6.4. Instrukcja if 57 6.5. Instrukcja select 58 7. "Konwencja" macierzowa 58
Rozdział 2. Przykład pierwszy - obliczenie wartości metodą Monte Carlo 62 1. Metoda 62 2. Realizacja 63 2.1. Komentarze 65 2.2. Usuwanie zmiennych z pamięci 65 2.3. Zamykanie okien graficznych 66 2.4. Inicjalizacja generatora liczb losowych 66 3. Modyfikacje programu 67 4. Wykresy 67 5. Uwagi praktyczne 68 5.1. Czas wykonywania operacji 68 5.2. Formatowanie wykresów 71 5.3. Polecenia plot2dn 75 5.4. Tworzenie nowego okna graficznego 76
Rozdział 3. Przykład drugi rozwiązanie układu równań nieliniowych metodą Newtona-Raphsona 77 1. Metoda Newtona-Raphsona dla funkcji jednej zmiennej 77 1.1. Zasada działania 77 1.2. Realizacja w Scilabie 78 1.3. Czy coś może pójść źle? 81 2. Metoda Newtona-Raphsona dla funkcji dwóch zmiennych 85 2.1. Realizacja w Scilabie 87 2.1.1. Definicje funkcji 87 2.1.2. Program i wykresy 88 2.1.2.1. Położenie legendy 92 2.1.3. Ocena jakości rozwiązania 93 2.1.3.1. Prędkość liczenia norm 94 2.1.4. Wykres konturowy 95 3. Układ trzech równań 100
Rozdział 4. Przykład trzeci - obliczenie pola elektrycznego wytwarzanego przez dipol 103 1. Trochę teorii 103 . 2. Realizacja w Scilabie 104 2.1. Przygotowanie danych 104 2.2. Funkcja licząca potencjał 105 2.2.1. Definiowanie funkcji 107 2.2.2. Problem z dzieleniem przez zero 111 2.3. Druga funkcja licząca potencjał 113 2.3.1. Polecenie msprintf 115 2.3.1.1. Symbole formatujące 116 2.4. Wykres potencjału 117 2.4.1. Eksport grafiki 121 2.5. Obliczenie momentu dipolowego 131 2.6. Obliczenie potencjału pochodzącego od momentu dipolowego 132 2.7. Obliczenie natężenia pola elektrycznego 135 2.7.1. Wzory różnicowe 135 2.7.2. Test dokładności wzoru numerycznego 137 2.7.3. Program w Scilabie 141
Rozdział 5. Przykład budowy modelu 145 1. Rzut ukośny „szkolny” 145 2. Równania ruchu 146 3. Rozwiązywanie równań różniczkowych zwyczajnych w programie Scilab 146 3.1. Pierwsze równanie pierwszego rzędu 146 3.2. Wywołanie procedury ode 147 3.3. Pierwsze równanie drugiego rzędu 149 3.4. Układ dwóch równań drugiego rzędu 150 4. Uwzględnienie siły oporu powietrza 153 4.1. Siła oporu według prawa Stokesa 153 4.2. Opór proporcjonalny do v2 156 4.3. Poszukiwanie maksimum zasięgu 159 4.3.1. Obliczenie zasięgu dla danego kąta rzutu 161 4.4. Metoda bisekcji 163 5. Rzut w trzech wymiarach 168 5.1. Zmodyfikowany program 168 6. Uwzględnienie wpływu wiatru na trajektorię 171 7. Uwzględnienie efektu Magnusa 176 7.1. Wyjaśnienie efektu Magnusa 176 7.2. Modyfikacja programu 177 7.3. Wcześniejsze zatrzymanie obliczeń 181 7.4. Wpływ ruchu obrotowego na zasięg 183 7.5. Wpływ gęstości powietrza na zasięg 185 8. Lot piłki golfowej 188 8.1. Wpływ charakteru powierzchni piłki na współczynnik oporu 189 9. Opóźnienie ruchu obrotowego 195 10. „Strzelanie artylerii naziemnej 198 10.1. Trajektoria pocisku artyleryjskiego 199 10.1.1. Wykorzystanie typu „lista” 202 10.1.2. Modyfikacja funkcji poszukującej kąta dającego maksymalny zasięg 204 11. Uwzględnienie ruchu obrotowego Ziemi 206
Scilab w przykładach --- Pozycja niedostępna.---
|