Komputerowe Wspomaganie Obliczeń dr Robert Kowalczyk
Komputerowe Wspomaganie Obliczeń Programy Komputerowego Wspomagania Obliczeń to programy komputerowe wspomagające obliczenia numeryczne lub symboliczne w matematyce, statystyce, fizyce, chemii i innych dyscyplinach technicznych i inżynieryjnych. 2
Obliczenia numeryczne i symboliczne Pakiety numeryczne - są wyspecjalizowane w prowadzeniu szybkich obliczeń numerycznych w dużej skali i mają także bogate możliwości graficznej wizualizacji wyników. Pakiety wielozadaniowe - przede wszystkim koncentrują się na obliczeniach symbolicznych, ale również udostępniają funkcje numeryczne i wizualizacyjne, a nawet dają możliwości składu tekstów matematycznych (technicznych). Pakiety wielozadaniowe nazywane są pakietami obliczeń symbolicznych, bądź systemami algebry komputerowej (Computer Algebra System), czy też wręcz po prostu pakietami matematyki komputerowej. 3
Przegląd najpopularniejszych narzędzi Pakiety numeryczne: Matlab SciLab Octave Pakiety wielozadaniowe (obliczeń symbolicznych): Maxima Mathematica Maple Derive 4
MATLAB (komercyjny) MATLAB program komputerowy będący interaktywnym środowiskiem do wykonywania obliczeń naukowych i inżynierskich, oraz do tworzenia symulacji komputerowych. Nazwa programu pochodzi od angielskich słów MATrix LABoratory, gdyż początkowo program ten był przeznaczony do numerycznych obliczeń macierzowych. Prapoczątki programu MATLAB sięgają lat siedemdziesiątych, gdy w USA na zlecenie National Science Foundation powstały biblioteki języka Fortran do obliczeń macierzowych: Linpack i Eispack. 5
MATLAB przykład kodu x=-10:0.1:10; k1=3; k2=2; y1=k1*x; y2=x.^k2; plot(x,y1,x,y2); grid; title('dwa wykresy funkcji'); xlabel('x'); ylabel('y'); legend('y1','y2') 6
MATLAB Pakiety w Matlab: Financial Toolbox pakiet do obliczeń finansowych Fuzzy Logic Toolbox pakiet do projektowania i diagnostyki inteligentnych układów sterowania Image Processing Toolbox pakiet do przetwarzania obrazów Mapping Toolbox pakiet przeznaczony do analizy informacji geograficznych i wyświetlania map Neural Network Toolbox pakiet do projektowania i symulacji sieci neuronowych Symbolic Math Toolbox pakiet do obliczeń symbolicznych Partial Differential Equation Toolbox pakiet do numerycznego rozwiązywania równań różniczkowych cząstkowych Simulink pakiet do modelowania, symulacji i analizy układów dynamicznych Spline Toolbox pakiet do aproksymacji i interpolacji funkcjami sklejanymi Wavelet Toolbox pakiet do analizy falowej sygnałów 7
SCILAB (darmowy) Scilab darmowy pakiet naukowy stworzony w 1990 przez francuskie INRIA (francuski narodowy instytut badań w dziedzinie komputerów) oraz ENPC (najstarszą szkołę inżynierską na świecie). Od roku 1994 rozprowadzany na licencji open source. Scilab został stworzony do badań matematycznych i posiada w sobie setki funkcji matematycznych, którymi możemy operować zarówno na liczbach, jak i na bardziej zaawansowanych strukturach jak wektory czy macierze. Scilab jest w stanie pomóc w wielu dziedzinach od prostych obliczeń, przez macierze, algebrę liniową, przetwarzanie sygnałów, statystykę przez wiele innych dziedzin. 8
SCILAB przykład kodu x=linspace (0, %pi, 50); y=sin(x); plot (x,y); y1=cos(2*x); plot(x,y1); xgrid(); 9
OCTAVE (darmowy) GNU Octave środowisko obliczeń oraz język programowania przeznaczony dla prowadzania obliczeń numerycznych. Octave dostępny jest na większości systemów uniksowych. Rozprowadzany jest na zasadach licencji GNU GPL. Prace nad Octave rozpoczęły się w 1988 roku. Pełną parą ruszyły one wiosną 1992 za sprawą Johna W. Eatona. Pierwsza wersja alpha ukazała się 4 stycznia 1993. 10
Octave przykład kodu x=[-1:0.1:1]; y=[-1:0.1:1]; [X,Y]=meshgrid(x,y); Z=sin(X.*X.+2.*Y.*Y) mesh(x,y,z) 11
MAXIMA (darmowy) Maxima program komputerowy typu CAS (systemów algebry komputerowej), które mają wspomagać wykonywanie obliczeń symbolicznych. Maxima posiada własny, prosty interfejs graficzny - XMaxima. Niezależnie rozwijany jest wieloplatformowy interfejs wxmaxima. Maxima wywodzi się z opracowanego w Massachusetts Institute of Technology pod koniec lat 60. na zlecenie Departamentu Energii USA programu Macsyma. 12
MAXIMA - możliwości Różniczkowanie i całkowanie symboliczne Symboliczne rozwiązywanie równań, w tym różniczkowych Upraszczanie wyrażeń algebraicznych Operacje na macierzach Wykresy 2D i 3D (wykorzystuje Gnuplot) Definiowanie własnych funkcji przez użytkownika Możliwość programowania w Lispie Eksport wyników w formacie TeX 13
MAXIMA - przykład x(t):=cos(t)^3; y(t):=sin(t)^3; load(draw); wxdraw2d(parametric(x(t),y(t),t,0,2*%pi)); 14
MATHEMATICA (komercyjny) Mathematica komercyjny system obliczeń symbolicznych i numerycznych opracowany w 1988 przez Stephena Wolframa. W ciągu swojego istnienia stał się popularny w środowisku naukowców i inżynierów. Mathematicę charakteryzuje wysoka wydajność, szerokie możliwości wizualizacji i prezentacji danych oraz przenośność. Obecnie jest dostępna na większość platform 32- i 64-bitowych Spośród wolnego oprogramowania podobne funkcje oferują programy Maxima oraz Sage. 15
MATHEMATICA - przykład ParametricPlot3D[{Sin[t],Cos[t],t/3},{t,0,15}] 16
MAPLE (komercyjny) Maple program komputerowy typu CAS służący do wykonywania obliczeń symbolicznych, stworzony w 1981 roku przez Symbolic Computation Group na Uniwersytecie Waterloo w Kanadzie. Od 1988 rozwijany i sprzedawany komercyjnie przez Waterloo Maple Inc. (znane również jako Maplesoft). Program często wykorzystywany przez naukowców i inżynierów. Język programowania Maple jest językiem interpretowanym o dynamicznych typach danych. Wyrażenia symboliczne przechowywane są w pamięci jako skierowane grafy acykliczne. 17
MAPLE - przykład implicitplot(x^2+y^2=1,x=-1..1,y=-1..1,scaling=constrained); 18
DERIVE Derive program z rodziny CAS (Computer Algebra System), który pozwala na wykonywanie obliczeń symbolicznych i numerycznych z wielu działów matematyki. Derive powstał jako rozwinięcie programu mumath napisanego na początku lat 80. i rozprowadzanego przez Microsoft. 1988 r. Derive 1.0 dla DOS 1990 r. Derive 2.0 dla DOS 1994 r. Derive 3.0 dla DOS 1996 r. Derive 4.0 dla DOS i Windows Marzec 2000 r. wersja Derive 5.0 Grudzień 2001 r. Derive 5.05 Listopad 2003 r. Derive 6.0, wersja działająca tylko w Windows 2000/XP. Październik 2004 r. Derive 6.10, wersja działająca w Windows 98/Me/2000/XP. Czerwiec 2007 r. - zakończenie sprzedaży programu. 19
DERIVE x SIN(x) 20
Informacje ogólne Wykład 30 h Zaliczenie zajęć (referat+kolokwium) e-mail: kowalcr@math.uni.lodz.pl strona www: math.uni.lodz.pl/~kowalcr 21
Referaty 1. 14.10.2016 Mathematica (Robert Kowalczyk) 2. 21.10.2016 Octave () 3. 28.10.2016 Octave () 4. 04.11.2016 Octave () 5. 11.11.2016 Octave () 6. 18.11.2016 Octave () 7. 25.11.2016 Octave () 8. 02.12.2016 Maxima () 9. 09.12.2016 Maxima () 10. 16.12.2016 Maxima () 11. 13.01.2016 Maxima () 12. 20.02.2016 Maxima () 13. 27.01.2016 Kolokwium 14. 03.02.2016 Poprawa i oceny 22
Dziękuję za uwagę 23