Pakiety Matematyczne dla Informatyków

Slides:



Advertisements
Podobne prezentacje
OBLICZENIA NUMERYCZNE
Advertisements

Tablice 1. Deklaracja tablicy
Wykład 5: Dyskretna Transformata Fouriera, FFT i Algorytm Goertzela
Sortowanie przez scalanie
Adres: kokos.umcs.lublin.pl/s/LukaszRycabel/mathematica.zip
mgr inż. Ryszard Chybicki Zespół Szkół Ponadgimnazjalnych
Metoda elementów skończonych cd.
PROGRAMOWANIE STRUKTURALNE
Badania operacyjne. Wykład 2
Wykład no 11.
Elementarne struktury danych Piotr Prokopowicz
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu
ZŁOŻONOŚĆ OBLICZENIOWA
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Liczby zespolone Niekiedy równanie nie posiada rozwiązania w dziedzinie liczb rzeczywistych: wprowadźmy jednak pewną dziwaczną liczbę (liczbę urojoną „i”)
Metody numeryczne © Jacek Śmietański, Kraków 2005.
1.
Typy prywatne 1 Typy prywatne W Adzie typy prywatne (private types) służą do bezpiecznego udostępniania danych zdefiniowanych w pakiecie, z którego korzysta.
Wykład 2 struktura programu elementy języka typy zmienne
Historia rozwoju komputerów
Zapis informacji Dr Anna Kwiatkowska.
Metody matematyczne w Inżynierii Chemicznej
ETO w Inżynierii Chemicznej
Liczby zespolone z = a + bi.
Matematyka.
Podstawy programowania
obliczeNIA symbolicznE w MATLAB’ie
Informatyka i programowanie
Dane do obliczeń.
Podstawy programowania II
ETO w Inżynierii Chemicznej
Jednostka modułowa 311[07]O1 Jm. 4/1
Microsoft Office Excel
Programowanie obiektowe III rok EiT
Teoria sterowania Wykład 13 Modele dyskretne obiektów regulacji.
Źródła błędów w obliczeniach numerycznych
MOiPP Matlab Sortowanie Obliczenia symboliczne - Symbolic ToolBox
„Równania są dla mnie ważniejsze, gdyż polityka jest czymś istotnym tylko dzisiaj, a równania są wieczne.” Albert Einstein.
Zadania z indywidualnością
Metody numeryczne metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane tą drogą wyniki są na ogół przybliżone, jednak.
MOiPP Matlab Przykłady metod obliczeniowych Obliczenia symboliczne
Metody matematyczne w Inżynierii Chemicznej
Wstęp do metod numerycznych
Obliczenia symboliczne
Przykład 5: obiekt – silnik obcowzbudny prądu stałego
Algorytmy i struktury danych
UKŁAD RÓWNAŃ LINIOWYCH INTERPRETACJA GRAFICZNA
Pochodna funkcji jednej zmiennej. Pochodna wektora.
Materiały pochodzą z Platformy Edukacyjnej Portalu
WYKŁAD 06 Programowanie dynamiczne Grażyna Mirkowska.
SciLab.
W PYTANIACH I ODPOWIEDZIACH. CZYM JEST MATHCAD? Mathcad to komercyjny program algebry komputerowej (CAS) stworzony przez firmę Mathsoft o możliwościach.
Algorytmy. Co to jest algorytm? Przepis prowadzący do rozwiązania zadania.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH Temat – 5 Modelowanie różniczkowe.
RÓWNANIA WIELOMIANOWE. Równanie postaci W(x)=0 gdzie W(x) jest wielomianem stopnia n nazywamy równaniem wielomianowym stopnia n. Liczba, która jest rozwiązaniem.
Rozwiązywanie układów równań Radosław Hołówko Konsultant: Agnieszka Pożyczka.
Liczbami naturalnymi nazywamy liczby 0,1,2,3,..., 127,... Liczby naturalne poznaliśmy już wcześniej; służą one do liczenia przedmiotów. Zbiór liczb.
Elementy cyfrowe i układy logiczne
Podstawy automatyki I Wykład 3b /2016
Typy wyliczeniowe, kolekcje
Historia Komputera.
Metody matematyczne w Inżynierii Chemicznej
Analiza numeryczna i symulacja systemów
Podstawy automatyki I Wykład /2016
Transformacja Z -podstawy
Wstęp do Informatyki - Wykład 6
ETO w Inżynierii Chemicznej
Pakiety Matematyczne dla Informatyków
Haskell Składnia funkcji.
Zapis prezentacji:

Pakiety Matematyczne dla Informatyków Wykład 1

Obliczenia numeryczne i symboliczne Obliczenia numeryczne- prosta algebra n.p. zapasy, plany zaopatrzenia dla wojsk Ekstrapolacja- zjawiska astronomiczne, rozwiązania równań różniczkowych- Kartezjusz, Euler Dopasowyawnie modeli ogólnych do danych numerycznych (Kopernik, Kepler, Airy (1820)) Mechanizm z Antikyteny, ok. 150 r. p.n.e.

Komputery jako maszyny obliczeniowe Cyfrowe -maszyna różnicowa Babbage’a (1833) -Bomba kryptologiczna (1938 Rejewski, 1940 Turing) -Colossus 1943 (5,8MHz) -Eniac (trajektorie balistyczne 1950-prognozy pogody von Neumanna, 100kHz) -Lorenz 1963-odkrycie Chaosu -Komercjalizacja komputerów (UNIVAC I $159000 1951, Układy scalone 1958), Sinclair, Apple, Comodore, …

Komputery jako maszyny obliczeniowe Analogowe -Dumaresq (1902-komputer nawigacyjny) -AKAT-1 1959 Jacek Karpiński Zasada działania: Problem: rozwiązać równanie różniczkowe odpowiadające procesowi fizycznemu (n.p. stanowi równowagi hydrodynamicznej). Równanie jest wyrażone przez pierwiastek wielomianu funkcji i jej pochodnych. Równanie reprezentowane jest przez układ elektroniczny Przykłady elementów i operacji -cewki-różniczkowanie] -kondensatory-całkowanie -tranzystory mnożenie

Obliczenia symboliczne Żmudne, często niewykonalne (n.p. całki, równania różniczkowe) (przykłady) Oszczędzające czas-szeregi… Abstrakcyjne-bez podanych wartości początkowych Ogólne- te same zasady dla różnych obiektów matematycznych. Komputery potrafią: Liczyć Interpretować dane Przeszukiwać bazy danych Nadają się do obliczeń symbolicznych

Wczesne programy obliczeniowe Schoonschip (1963) Reduce (1968 Tony Hearn) Macsyma, Maxima (1968) FORM SMP (Wolfram 1979) Axiom Matlab (1985) Derive (1988) Mathematica (1988) R (2000) Symbol x,y; Local myexpr = (x+y)^3; Id y = x; Print; .end

Struktura Programu ~5.5 GB Jądro Interface Pakiety

Cechy programu Zalety Wady Intuicyjna obsługa Droga licencja Szeroka gama zastosowań Duża objętość Mnogość specjalistycznych pakietów i funkcji Duże pliki wyjściowe (notatniki) Bogata biblioteka wewnętrzna Duże zużycie pamięci Programowalność Język wysokiego poziomu-powolne obliczenia Wsparcie dla nowoczesnych środowisk programistycznych Możliwość licencji sieciowej

Zastosowanie Sprawdzanie obliczeń Obliczenia prototypowe Upraszczanie formuł używanych w innych programach Opracowywanie procedur dla innych programów Analiza danych specjalistycznych Wizualizacja danych Przygotowywanie prezentacji Grafika i Animacje (również 3D)

Mathematica 10-interfejs

Format danych w Mathematice Typy danych: -Komórki wejściowe i wyjściowe -string -wyrażenie -liczba całkowita -stałe niewymierne -ułamki -liczby rzeczywiste -liczby zespolone -grafika -grafika 3D -obiekty dynamiczne (dźwięk, animacja} -tablice … Cała komunikacja Mathematici z użytkownikiem jest oparta na wyrażeniach. Wyrażeniem są nawet notatniki. Pozwala to na edycję notatników nawet bez dostępu do programu. Gwarantuje to łatwą i jednoznaczną komunikację z programem

Prosta algebra Nagłówki Przywołanie funkcji: Wprost:f[x] Przed wyrażeniem f[#]&@ Po wyrażeniu //f[#]& Przełączanie katalogów Import i eksport danych

Podstawienie wartości Set[#1,#2],#1=#2-podstawienie natychmiastowe SetDelayed[#1,#2],#1:=#2 podstawienie przy każdorazowym wywołaniu (dla Funkcji) Clear[#] usuwa wartość z pamięci ClearAttributes[#1,#2] ClearAll[#] With[{#1},#2] –podstawia tymczasowo definicje z listy #1 do wyrażenia #2 #1/.#2, ReplaceAll[#1,#2]-podobnie jak with, ale używamy Rule[#] #1//.#2 ReplaceRepeated[#1,#2]-podstawienia dokonywane w kolejności Assuming[#1,#2]-traktowanie wyrażenia #2 przy założeniach #1 (potrzebna jest dodatkowa komenda)

Otrzymywanie wyników Wyświetla się: Nie wyświetla się Proste wyrażenie bez podstawień Set With Replace, With, Block W pętlach po komendzie Print,… Wyrażenia zakończone średnikiem SetDelayed W pętlach

Liczby zespolone Im r q Re Re[#]-część rzeczywista Im[#]-część urojona Conjugate[#]-sprzężenie. Abs[#]-moduł Arg[#]-faza ReIm[#]-zamiana liczby na dwuelementową listę AbsArg[#]- ---//--- FromPolarCoordinates[#] ToPolarCoordinates[#]

Równania kwadratowe W ciele liczb zespolonych liczba pierwiastków wielomianu odpowiada jego stopniowi Wilelomiany o współczynnikach zespolonych mają pierwiastki parami sprzężone

Tablice Uporząkowane ciągi dowolnych obiektów Długość listy może być dowolnie zmieniana Elementy list mogą być bezpośrednio zmieniane Listy mogą być dodawane Listy list o różnych rozmiarach i o różnych głębokościach Możliwe puste listy Jednoelementowa lista nie jest równoważna swojemu elementowi Role: listy, ciągi danych, wektory, tensory, zbiory

Podstawowe komendy Table[…,{i,imin,imax}] Range[i] Sort[#] NestList Map[f,#] KroneckerProduct-iloczyn zewnętrzny dwóch tablic Outer[#1,…]-podobnie, ale #1 może być dowolną funkcją

Jako listy Part[#,m],#[[m]]-pobierz m-ty element listy # Part[#,-m] #[[-m]]-licz od końca #[[m,n]]-dla tablic wielowymiarowych #[[m;n;l]]-elementy od m-tego do n-tego Take[#,m]-pobierz m pierwszych elementów Take[#,-m]-pobierz m pierwszych od końca elementów Take[#,{m,n}]-pobierz elementy od m-tego do n-tego First, Rest, Most, Last

Drop[#,m]-odrzuca pierwsze m elementów Drop[#,-m]- ---//--- ostatnie m elementów Drop[#,{m}] ---//--- m-ty element Append[#,x]-zwraca listę z dodanym elementem na końcu AppendTo[#,x]-dodaje x do listy # (nie zwraca jej) Prepend PrependTo Select[#,m]-Wybiera z listy elementy, które speniają warunek m Length[#]-podaje długość listy Dimensions[#]-wymiary listy wielowymiarowej (foremnej) Sort-porządkuje listę-liczby, ciągi znaków, zmienne, listy Join łączy listy

Listy jako listy-uzupełnienie Reverse[#]-odwrócenie kolejności RotateLeft[#,m]-przesunięcie wyrazów w lewo o m pozycji, pozostałe są dodawane na początku listy. Permutations[#]-daje listę wszystkich Permutacji danej listy (używać ostrożnie!)