Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII



Podobne dokumenty
PWSZ w Tarnowie Instytut Politechniczny Elektrotechnika

Tworzenie macierzy pełnych Generowanie macierzy pełnych Funkcje przekształcające macierze pełne

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

Programowanie współbieżne... (10) Andrzej Baran 2010/11

Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

KARTA KURSU (realizowanego w module specjalności) Metody numeryczne

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Inżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, Spis treści

Wspomaganie obliczeń matematycznych. dr inż. Michał Michna

Spis treści. Przedmowa. Podstawy R

Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Mathematica III Równania różniczkowe, układy równań różniczkowych, wykresy, badanie funkcji, importowanie danych, instrukcje warunkowe, pętle

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Obliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.

dr inż. Michał Michna WSPOMAGANIE OBLICZEŃ MATEMATYCZNYCH

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Programowanie w języku R : analiza danych, obliczenia, symulacje / Marek Gągolewski. Wyd. 2 poszerz. Warszawa, Spis treści

Rok akademicki: 2016/2017 Kod: JIS s Punkty ECTS: 6. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Z. Rudnicki: WPROWADZENIE DO INFORMATYKI I PROGRAMOWANIA

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Technologie informacyjne lab. 3

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

Numeryczna algebra liniowa

Zad. 3: Układ równań liniowych

Programowanie w języku R : analiza danych, obliczenia, symulacje / Marek Gągolewski. Warszawa, Spis treści

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Wprowadzenie do pakietów MATLAB/GNU Octave

Matlab Składnia + podstawy programowania

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Wydajne programowanie w R : praktyczny przewodnik po lepszym programowaniu / Colin Gillespie, Robin Lovelace. Warszawa, Spis treści.

Pakiet matlab odpowiednie narzędzie w nowoczesnym laboratorium. Karol Józefowicz. Państwowa Wyższa Szkoła Zawodowa w Lesznie, Instytut Politechniczny

Spis treści. Księgarnia PWN: Roland Zimek - Swish Max3

Wprowadzenie do środowiska

Programowanie w języku C++ Grażyna Koba

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

Zwięzły kurs analizy numerycznej

Matlab MATrix LABoratory Mathworks Inc.

Zanim zaczniemy GNU Octave

Algorytmy numeryczne 1

PRZETWARZANIE I ORGANIZOWANIE DANYCH: ARKUSZ KALKULACYJNY

Matlab - zastosowania Matlab - applications. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Wprowadzenie do Mathcada 1

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Metody numeryczne Laboratorium 2

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017

Egzamin / zaliczenie na ocenę* 1,6 1,6

Excel w obliczeniach naukowych i inżynierskich. Wydanie II.

Spis treści. Księgarnia PWN: Roland Zimek - SWiSH Max2 i SWiSH Max3. Wprowadzenie... 9

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie

Matlab Składnia + podstawy programowania

Część I Rozpoczęcie pracy z usługami Reporting Services

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Język R : kompletny zestaw narzędzi dla analityków danych / Hadley Wickham, Garrett Grolemund. Gliwice, cop Spis treści

Metody Obliczeniowe w Nauce i Technice

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Podstawy Programowania

Wspomaganie obliczeń matematycznych. dr inż. Michał Michna

Podstawy Informatyki Computer basics

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

Grupy pytań na egzamin inżynierski na kierunku Informatyka

Zastosowanie GeoGebry w realizacji zagadnień związanych z trygonometrią 13. Wykresy funkcji sin x i cos x Paweł Perekietka 13

Obliczenia inżynierskie. oprogramowanie matematyczne

AUTOMATYZACJA OBLICZEŃ INŻYNIERSKICH. Dr hab. inż. Jacek Kucharski, prof. PŁ Dr inż. Piotr Urbanek

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Programowanie w języku R

Dostawa oprogramowania. Nr sprawy: ZP /15

Rozdział 4. Algorytmy sortowania 73 Rozdział 5. Typy i struktury danych 89 Rozdział 6. Derekursywacja i optymalizacja algorytmów 147

WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI 1. Zalecana znajomość matematyki odpowiadająca maturze na poziomie podstawowym

1 Zrozumieć Flasha... 1 Co można zrobić za pomocą Flasha?... 2 Tworzenie obrazków do strony 3 Animowanie witryny 4 Tworzenie filmów

Symulacja obliczeń kwantowych

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

2.1. Postać algebraiczna liczb zespolonych Postać trygonometryczna liczb zespolonych... 26

Język programowania C C Programming Language. ogólnoakademicki

PRZEWODNIK PO PRZEDMIOCIE

PLAN WYNIKOWY Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY 6

Komputerowe Wspomaganie Obliczeń. dr Robert Kowalczyk

WYKŁADY Z MATEMATYKI DLA STUDENTÓW UCZELNI EKONOMICZNYCH

Transkrypt:

Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII I. Skuteczne 1. MATLAB i Octave........................................... 3 1.1. MATLAB i Octave......................................... 4 1.1.1. MATLAB.......................................... 4 1.1.2. Octave: darmowy klon MATLAB-a......................... 5 1.1.3. Porównanie......................................... 6 1.2. Zaczynamy!.............................................. 8 1.3. Dokumentacja............................................ 10 2. Podstawowy obiekt: macierz.................................... 15 2.1. Tworzenie macierzy......................................... 15 2.2. Macierze specjalne......................................... 17 2.3. Praca z blokami macierzy..................................... 18 2.3.1. Odwoływanie się do elementów macierzy..................... 19 2.4. Format wyświetlania wyników.................................. 22 2.5. Podstawowe operacje matematyczne na macierzach.................... 23 2.6. Parametry macierzy........................................ 26 2.7. Macierze rozrzedzone........................................ 26 2.8. MacierzeN-wymiarowe...................................... 29 2.9. Napisy................................................. 30 2.10. Zarządzanie utworzonymi obiektami.............................. 31 2.11. Zapis macierzy i innych danych do pliku........................... 32

VI 2.11.1. Formaty zapisu danych................................. 32 2.11.2. Format binarny czy tekstowy?............................ 33 3. Proste konstrukcje programistyczne.............................. 35 3.1. Instrukcje warunkowe....................................... 35 3.2. Pętle................................................... 38 3.3. Wektoryzacja kontra pętle.................................... 40 4. Inne sposoby organizacji danych................................. 45 4.1. Struktury............................................... 45 4.2. Zmienne tablicowe.......................................... 46 4.3. Inne typy numeryczne....................................... 47 5. Rozszerzanie możliwości środowiska.............................. 49 5.1. Skrypty................................................. 49 5.2. Funkcje................................................. 54 5.3. Zmienne globalne i statyczne.................................. 58 5.4. Funkcje jako parametry innych funkcji............................ 61 5.5. Instrukcje ostrzegawcze...................................... 62 5.6. Funkcje anonimowe......................................... 64 5.7. Organizacja zbioru własnych funkcji i skryptów...................... 65 6. Wizualizacja................................................ 67 6.1. Wykresy funkcji jednej zmiennej................................ 67 6.1.1. Wykresy w skali liniowej................................ 67 6.1.2. Wykres w skali logarytmicznej............................ 70 6.2. Łączenie wykresów kilku funkcji na jednym obrazku................... 73 6.3. Wykresy funkcji dwóch zmiennych............................... 78 6.3.1. Pole skalarne........................................ 78 6.3.2. Pole wektorowe...................................... 86 6.4. Animacja: dodawanie trzeciego wymiaru........................... 87 6.5. Zapis wykresu do pliku...................................... 92 6.6. Elementy uzupełniające wykres................................. 93 6.6.1. Elementy podstawowe.................................. 93 6.6.2. Modyfikacja parametrów linii wykresu....................... 94 6.7. Wizualizacja macierzy....................................... 95 6.7.1. Podstawy.......................................... 95 6.7.2. Polecenie imagesc jako odmienny sposób wizualizacji funkcji dwóch zmiennych.......................................... 97 7. Typowe zadania numeryczne.................................... 99 7.1. Arytmetyka zmiennopozycyjna................................. 101 7.2. Rozwiązywanie układów równań liniowych i liniowego zadania najmniejszych kwadratów............................................... 103 7.2.1. Układ równań liniowych................................ 103 7.2.2. Liniowe zadanie najmniejszych kwadratów.................... 107 7.2.3. Istotne szczegóły działania operatora \..................... 109 7.2.4. Układy z wieloma prawymi stronami........................ 111 7.2.5. Wykorzystanie rozkładów macierzy......................... 112

VII 7.2.6. Macierze rozrzedzone.................................. 114 7.3. Inne standardowe zadania algebry liniowej......................... 118 7.4. Interpolacja i dyskretna aproksymacja średniokwadratowa............... 126 7.4.1. Aproksymacja ciągła................................... 126 7.4.2. Interpolacja dyskretna................................. 129 7.5. Dyskretna transformacja Fouriera............................... 130 7.6. Równania nieliniowe........................................ 133 7.6.1. Nieliniowe równania skalarne. Równania wielomianowe............ 145 7.7. Optymalizacja............................................ 149 7.7.1. Programowanie liniowe w Octave.......................... 150 7.7.2. Programowanie nieliniowe w Octave........................ 152 7.8. Całkowanie.............................................. 155 7.9. Równania różniczkowe zwyczajne................................ 158 7.9.1. Rodzina funkcji ode.................................. 160 7.9.2. Uniwersalna funkcja lsode z Octave......................... 161 7.9.3. Opcje pracy solverów.................................. 167 7.10. Równania różniczkowe cząstkowe................................ 177 7.10.1. Równanie reakcji dyfuzji................................ 178 8. Przyspieszanie własnych funkcji i skryptów........................ 188 8.1. Pomiar czasu............................................. 188 8.2. Prealokacja i wektoryzacja.................................... 189 8.3. Wykorzystanie zoptymalizowanych bibliotek w Octave................. 190 8.4. Skompilowane moduły....................................... 190 8.4.1. Moduły w Octave..................................... 191 8.4.2. Moduły MEX w MATLAB-ie............................. 192 II. Szybkie 9. Programy numeryczne w języku C............................... 199 9.1. Podstawy............................................... 199 9.2. Typy numeryczne w C....................................... 202 9.3. Stałe matematyczne i podstawowa biblioteka matematyczna............. 206 9.4. Zapis danych do pliku....................................... 210 9.5. Przekazywanie do programu argumentów z wiersza poleceń.............. 216 9.6. Wczytywanie danych z pliku w formacie tekstowym................... 218 9.7. Macierze w pamięci komputera................................. 221 9.8. Wykorzystanie bibliotek fortranowskich........................... 223 9.9. Projekty złożone........................................... 226 9.9.1. Tworzenie własnych bibliotek............................. 231 9.9.2. Polecenie make. Jak tworzyć plik Makefile?................... 234 9.10. Dodatkowe ułatwienia dla programisty............................ 244 10. Wybrane biblioteki numeryczne................................. 248 10.1. Biblioteki wielozadaniowe..................................... 249 10.1.1. GNU Scientific Library (GSL)............................ 249 10.1.2. Intel Math Kernel Library (MKL).......................... 254 10.1.3. AMD Core Math Library (ACML)......................... 255

VIII 10.2. Algebra liniowa macierze gęste............................... 258 10.2.1. BLAS, LAPACK i ich zoptymalizowane wersje................. 258 10.3. Algebra liniowa macierze rozrzedzone........................... 270 10.3.1. Reprezentacja macierzy rozrzedzonych....................... 270 10.3.2. UMFPACK......................................... 273 10.4. Równania różniczkowe zwyczajne................................ 280 10.5. Przegląd innych bibliotek numerycznych........................... 290 11. Optymalizacja szybkości programów.............................. 293 11.1. Prawo Amdahla........................................... 295 11.2. Architektura procesora....................................... 298 11.2.1. Możliwości obliczeń zmiennopozycyjnych..................... 299 11.2.2. Teoretyczne wydajności wybranych procesorów................. 305 11.3. Hierarchia pamięci......................................... 307 11.3.1. Pamięć podręczna detale techniczne...................... 308 11.4. Praktyczna optymalizacja implementacji programów numerycznych......... 311 11.4.1. Dobór opcji kompilacji................................. 314 11.4.2. Optymalizowanie programów............................. 317 11.4.3. Wykorzystanie zoptymalizowanych bibliotek................... 326 11.4.4. Skuteczne wykorzystanie pamięci podręcznej.................. 326 11.4.5. Likwidacja i rozwijanie pętli.............................. 329 11.4.6. Wklejanie funkcji..................................... 331 11.4.7. Unikanie dzielenia.................................... 332 11.4.8. Wynoszenie niezmienników na zewnątrz pętli.................. 332 11.4.9. Wektoryzacja........................................ 333 11.4.10. Wielowątkowość...................................... 337 11.4.11. Zmienne pojedynczej precyzji............................. 349 III. Efektowne 12. Wizualizacja danych naukowych................................. 353 12.1. Kilka podstawowych grzechów wizualizacji......................... 353 13. OpenDX................................................... 358 13.1. Opis danych w formacie General Array............................ 359 13.1.1. Pole dyskretyzowane na siatce regularnej..................... 360 13.1.2. Pole dyskretyzowane na siatce nieregularnej................... 364 13.2. Przykłady wizualizacji w OpenDX............................... 365 13.2.1. Wizualizacja dwuwymiarowego pola skalarnego na siatce regularnej... 366 13.2.2. Wizualizacja trójwymiarowego pola skalarnego na siatce nieregularnej. 370 13.2.3. Wizualizacja ewolucji dwuwymiarowego pola skalarnego........... 378 13.3. Wybrane moduły OpenDX.................................... 382 14. ParaView.................................................. 389 14.1. Opis danych w formacie VTK.................................. 390 14.1.1. Pole dyskretyzowane na siatce regularnej..................... 391 14.1.2. Pole dyskretyzowane na siatce nieregularnej................... 393 14.2. Przykłady wizualizacji w ParaView.............................. 394

IX 14.2.1. Wizualizacja dwuwymiarowego pola skalarnego na siatce regularnej... 394 14.2.2. Wizualizacja trójwymiarowego pola skalarnego na siatce nieregularnej. 396 14.2.3. Wizualizacja ewolucji dwuwymiarowego pola skalarnego........... 398 14.3. Wybrane filtry ParaView..................................... 400 Bibliografia.................................................... 403 Indeks....................................................... 409