PRZEGLĄD DARMOWYCH NARZĘDZI DO KOMPUTEROWEGO WSPOMAGANIA OBLICZEŃ
Nowoczesna matematyka komputerowa stała się realną koniecznością. Osoba z nowoczesnym wykształceniem matematycznym powinna umieć korzystać z pakietów komputerowych wspomagających obliczenia.
Oprogramowanie matematyczne dzieli się na dwie grupy: 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. Pakiety wielozadaniowe nazywane są pakietami obliczeń symbolicznych, bądź systemami algebry komputerowej (CAS), czy też wręcz po prostu pakietami matematyki komputerowej.
Wszystkie popularne pakiety matematyczne są konstruowane w sposób niezależny od platformy sprzętowej i dlatego dostępne są dla wszystkich popularnych systemów operacyjnych komputerów osobistych, takich jak: Windows, Linux, czy MacOS, a także dla superkomputerów.
PAKIETY NUMERYCZNE
MATLAB
Jest to program komputerowy będący interaktywnym środowiskiem do wykonywania obliczeń naukowych i inżynierskich, oraz do tworzenia symulacji komputerowych.
MATLAB to środowisko programistyczne przeznaczone do rozwijania algorytmów, wizualizacji i analizy danych oraz prowadzenia obliczeń numerycznych. Dzięki programowi MATLAB problemy można rozwiązywać szybciej, niż przy wykorzystaniu tradycyjnych języków programowania takich jak C, C++ czy Fortran. MATLAB może mieć wiele zastosowań. Przykładowe obszary, w których program jest często podstawowym narzędziem pracy to: * przetwarzanie sygnałów, * przetwarzanie obrazów, * telekomunikacja, * projektowanie układów sterowania, * matematyka finansowa.
Główne cechy programu MATLAB - zintegrowany język programowania wysokiego poziomu, - narzędzia do importu danych, - możliwość integracji własnego kodu C, Java, - interaktywne narzędzia do eksploracji i wizualizacji danych (2D i 3D), - wbudowane funkcje obliczeniowe (algebra liniowa, statystyka, analiza częstotliwościowa, optymalizacja), - narzędzia do tworzenia GUI.
Język programowania MATLAB umożliwia pracę na macierzach, wektorach i strukturach, z którymi w swoich obliczeniach styka się każdy inżynier i naukowiec. Uczynienie z macierzy podstawowego typu danych dostępnych w środowisku MATLAB sprawia, że projektowanie obliczeń, jak i same obliczenia są mniej czasochłonne. Ponadto, korzystając z języka MATLAB można tworzyć algorytmy szybciej, ponieważ od użytkownika nie wymaga się wykonywania niskopoziomowych operacji, takich jak deklaracja zmiennych czy określanie typu danych. Możliwość operacji na macierzach sprawia, że w wielu przypadkach można zrezygnować z tworzenia zagnieżdżonych pętli typu ‘for’, dzięki czemu często jedna linijka kodu MATLAB zastępuje kilka linii pisanych w C czy C++.
OCTAVE
Drugim darmowym narzędziem jest program Octave, czyli środowisko obliczeń oraz język programowania przeznaczony dla prowadzenia obliczeń numerycznych. Prace nad Octave rozpoczęły się w 1988 roku. Pełną parą ruszyły one wiosną 1992 za sprawą Johna W. Eatona.
System operacyjny: Linux/Unix, Windows Pierwsze wydanie wersji 1.0.0: r. Aktualna wersja: 4.0 Licencja: GNU (General Public License)
Program pozwala m.in. na wykonywanie działań na liczbach rzeczywistych, zespolonych, wektorach, macierzach, obsługuje także zakresy, tablice, pętle, funkcje i równania.
Główne cechy pakietu Octave: możliwość tworzenia wykresów dwuwymiarowych i trójwymiarowych, obsługa najpopularniejszych algorytmów numerycznych (rozwiązywanie układów równań, szukanie minimów/maksimów, obliczanie całek i pochodnych, operacje na macierzach, interpolacja, wyszukiwanie miejsc zerowych i wiele innych), obsługa liczb zespolonych, rozbudowana pomoc kontekstowa, funkcje statystyczne i ekonomiczne, generator liczb losowych, współpraca z językami programowania (C++, C, Fortran i inne), interfejs działający online, możliwość integracji z edytorami tekstowymi (na przykład Notepad++).
Przykłady funkcji w Octavie: Funkcja obliczająca sumę dwóch liczb: Utwórz plik o nazwie suma_liczb.m w którym wpisz kod źródłowy: % Funkcja suma_liczb wyznacza sumę dwóch liczb a+b function wynik = suma_liczb(a,b) wynik = a + b ; endfunction Następnie w środowisku Octave zdefiniuj zmienne a, b i wywołaj funkcję suma_liczb: octave:1> a=1 a = 1 octave:2> b=2 b = 2 octave:3> suma_liczb(a,b) ans = 3
W linii nr 3 następuje wywołanie funkcji suma_liczb, jako parametry przekazujemy dwie zmienne, których suma ma zostać policzona, jako parametry można podać również konkretne liczby np. suma_liczb(3, 4). Funkcja obliczająca sumę dwóch wektorów: Powyższa funkcja może być łatwo rozszerzona, tak aby obliczała sumę dwóch wektorów, dodatkowo został dodany warunek, który sprawdza czy dwa wektory można dodać do siebie. Utwórz plik o nazwie suma_wek.oct, w którym wpisz poniższy kod źródłowy funkcji wraz z danymi do testowania funkcji:
% Funkcja suma_wek wyznacza sume dwóch wektorow ’a + b’ function [ Z ] = suma_wek(A,B) if length(A)==length(B) Z = A + B; elseif printf(’Wymiary wektorów nie zgadzają się\n’); Z=0; end Endfunction A = [1 2 3]; B = [3 4 5]; C = suma_wek(A,B) w wierszu poleceń wpisz polecenie octave − q suma_wek.oct. Następnie zmień dane testujące tak aby wymiary wektorów były różne i ponownie uruchom obliczenia.
DERIVE
Następnym darmowym narzędziem jest program Derive - program z rodziny CAS (Computer Algebra System), który pozwala na wykonywanie obliczeń symbolicznych i numerycznych z wielu działów matematyki. System operacyjny: Windows 98 / Me / 2000 / XP Pierwsze wydanie wersji 1.0: 1988 r. Aktualna wersja: 6.1 Licencja: Texas Instruments.
Dzięki niemu możemy wykonywać szereg obliczeń symbolicznych i numerycznych ze wszystkich działów matematyki na szczeblu szkoły ponadgimnazjalnej, jak również na studiach wyższych. Zaletą tego programu jest możliwość drukowania wszystkich wykonywanych obliczeń i wykresów oraz pracy w trybie ekranowym algebraicznym i graficznym, a także szeroka gama dostępnych ilustracji graficznych wykresów płaskich i przestrzennych.
Główne możliwości programu Derive: o dokładne obliczenia na ułamkach i liczbach niewymiernych, o przybliżone obliczanie wartości wyrażeń liczbowych z określoną przez użytkownika dokładnością, o obliczenia symboliczne na wyrażeniach algebraicznych (wykonywanie działań i redukcja wyrazów podobnych, rozkład na czynniki wielomianów, obliczanie pochodnych, granic funkcji, itp), o dokładne rozwiązywanie równań i nierówności, o dokładne rozwiązywanie układów równań i nierówności wielomianowych, o rozwiązywanie równań i nierówności metodą "krok po kroku", o łatwe i szybkie wykonywanie wykresów funkcji, o obserwowanie współrzędnych punktów umieszczonych na wykresie. o przygotowywanie, edycję, wydruk oraz zachowywanie tekstów matematycznych.
Przykłady funkcji w Derive: Najprostsze wyrażenia jak dodawanie, odejmowanie, mnożenie, dzielenie, potęgowanie wpisujemy używając znaków z klawiatury i następnie klikamy przycisk OK lub SIMPLIFY. Czy liczba jest pierwsza ? W oknie Author expression wpisz liczbę Z menu Simplify wybierz polecenie Factor, a następnie kliknij przycisk FACTOR. Otrzymamy rozkład na czynniki liczby
Rozwiń wyrażenie (a+b)^12. W oknie Author expression wpisz wyrażenie (a+b)^12. Z menu Simplify wybierz polecenie Expand. Naszkicuj wykres funkcji h(x)=2sin(x)+cos(3x)+0.5x Z menu Declare wybierz polecenie Function Definition. Do otwartego okienka w pierwsze pole wpisz nazwę funkcji : f(x), a w drugie pole wzór funkcji: 2sin(x)+cos(3x)+0.5x. Naciśnij przycisk OK., a następnie na pasku narzędzi kliknij przycisk 2D plot window. Otwarte zostanie okno graficzne z układem współrzędnych. Ponownie naciśnij przycisk 2D plot window w efekcie czego otrzymasz wykres funkcji. Korzystając z menu Options, a następnie z polecenia Display możesz zmienić kolor wykresu, tła, układu współrzędnych. Przy pomocy przycisków Zoom możesz dobrać optymalne wymiary rysunku.
PAKIETY WIELOZADANIOWE
MAXIMA
Maxima to jeden z najlepszych programów typu CAS (Computer Algebra System) tj. systemów algebry komputerowej, które wspomagają wykonywanie obliczeń symbolicznych. Maxima powstała w wyniku ewolucji systemu Macsyma, opracowanego na początku lat siedemdziesiątych ubiegłego stulecia w Massachussets Institute of Technology (MIT) w USA. System zaprogramowano w języku Lisp i implementowano na kilku dostępnych w tamtym czasie komputerach typu mainframe. Był to pierwszy poważny system obliczeń symbolicznych i jego koncepcja wpłynęła w wielkim stopniu na późniejsze systemy, takie jak Mathematica, czy Maple.
Programy tego typu nie podają np. liczby jako wyniku przy obliczaniu całki (jak to ma miejsce w przypadku systemów numerycznych), ale funkcję. Możliwości programu obejmują m.in. różniczkowanie i całkowanie symboliczne, symboliczne rozwiązywanie równań (w tym różniczkowych), upraszczanie wyrażeń algebraicznych, operacje na macierzach, możliwość rysowania wykresów 2D/3D i inne.
MATHEMATICA
Przez ponad 25 lat program Mathematica dostarczał najnowocześniejsze rozwiązania w zakresie obliczeń technicznych i stanowił główne środowisko obliczeń dla milionów inżynierów, naukowców, nauczycieli, studentów i innych osób na całym świecie. Program ten jest powszechnie podziwiany zarówno za sprawność techniczną, jak i łatwość użycia. Mathematica zapewnia jeden zintegrowany, ciągle rozbudowywany system obejmujący pełen zakres technicznych obliczeń. Teraz także dzięki Mathematica Online możliwe są obliczenia w chmurze, za pośrednictwem dowolnej przeglądarki internetowej jak również lokalnie na komputerach z nowymi systemami operacyjnymi.
Podstawowe cechy programu Oszczędność czasu. Użytkownik tylko odpowiednio definiuje problem a program realizuje obliczenia, dobierając najodpowiedniejszą metodę do rozwiązania postawionego zagadnienia. Automatyzacja obliczeń to podstawowa cecha programu, który w zakresie rozwiązywania problemów wybiera optymalny algorytm, a obliczenia numeryczne realizuje śledząc dokładność obliczeń. Automatyzacja w środowisku programu Mathematica to także dobór stylu i układu prezentacji graficznych, połączone z inteligentnym tworzeniem wykresów. Narzędzia interaktywnej ingerencji w treść grafiki pozwalają tworzyć prezentacje wizualne nieosiągalne w innych środowiskach analizy danych.
Różnorodność procedur obliczeniowych. Mathematica stanowi środowisko obliczeniowe najbardziej rozbudowane w procedury obliczeniowe tak w zakresie rachunku symbolicznego jak i procedur numerycznych. Środowiska obliczeniowe bazujące na module głównym i zestawie dodatkowych modułów ograniczają twórczą innowacyjność użytkownika, gdy w trakcie pracy okazuje się, że dany problem nie może być rozwiązany, gdyż wymaga to zakupu i instalacji dodatkowego modułu. Mathematica do realizacji nawet najbardziej zaawansowanych obliczeń nie wymaga żadnych dodatkowych modułów obliczeniowych. Cały aparat matematyczny niezbędny bez względu na charakter analizowanego problemu zawarty jest w środowisku programu.
Prezentacje graficzne. Do dyspozycji użytkownika oddane zostały procedury wizualizacji 2D i 3D z możliwością programowej ingerencji w każdy szczegół rysunku. Elementy interaktywnej ingerencji w treść grafiki pozwalają dodatkowo wzbogacić przekaz informacji. Symboliczne rozwiązywanie problemów. Ten charakter obliczeń doceni każdy, traktowane są jako obliczenia z nieskończoną precyzją. Każdy wynik obliczeń symbolicznych może z łatwością być zamieniony na wartość numeryczną z dowolną liczbą cyfr znaczących.
Dokładność obliczeń numerycznych Liczbę cyfr znaczących wyniku obliczeń numerycznych wybiera użytkownik, ograniczeniem jest tylko dokładność danych wejściowych, gdyż program w trakcie realizacji algorytmów obliczeń numerycznych śledzi dokładność wyników na każdym ich etapie. Obliczenia hybrydowe symboliczno-numeryczne Tradycyjnie obliczenia symboliczne i numeryczne uważane są jak procedury obliczeniowe realizowane niezależnie. Myślenie takie nie przynosi korzyści osobom realizującym obliczenia. W środowisku programu Mathematica obliczenia symboliczne i numeryczne są ściśle zintegrowane, co pozwala wykorzystywać hybrydowe metody obliczeniowe do rozwiązywania wielu problemów, w których wartości składników wyników różnią się znacznie od siebie. Pozwala to realizować obliczenia symboliczne z jednoczesną redukcją mało znaczących składników.
Wszechstronność środowiska. Jedno środowisko obliczeniowe zapewnia wszelkie narzędzia na etapie wstępnego stawiania hipotezy, poprzez analizę i rozwiązanie problemu, aż do raportu i publikacji wyników prac. Druk publikacji. Mathematica tworzy dokumenty o strukturze gotowej do druku, wydawnictwa światowe przyjmują prace składane w środowisku programu. Elektroniczna wymiana dokumentacji. Struktura dokumentu tworzonego przez program Mathematica pozwala bezproblemowo wymieniać dokumenty w ramach sieci Internet i uruchamiać je na dowolnej platformie sprzętowej. Dodatkowo aplikacja stworzone w środowisku programu Mathematica mogą być uruchamiane poza środowiskiem ich tworzenia po zastosowaniu pakietu Mathematica Player PRO lub zapisane w formacje CDF (Computeble Document Format) mogą być udostępnione poprzez przeglądarki internetowe z zachowaniem interaktywności zawartych w nich obliczeń i wizualizacji.
MICROSOFT EXCEL
Arkusz kalkulacyjny produkowany przez firmę Microsoft dla systemów Windows i MacOS. Pierwsza wersja programu przeznaczona dla Windows trafiła na rynek w roku W roku 1993 programy pakietu Microsoft Office zostały przeprojektowane tak, by przypominać wyglądem arkusz Excel. Od wersji 5 wydanej w 1993 program zawiera wbudowany język Visual Basic. Od wersji 4.0 dostępny w wersji polskiej.
Stanowi on najbardziej popularną aplikację biurową służącą do przetwarzania danych liczbowych. Excel dokonuje na ekranie symulacji arkusza obliczeniowego (tabelę obliczeniową), czyli zestawień liczbowych, utworzonych przez kolumny oraz wiersze, gdzie wpisuje się etykiety (nazwy), liczby i wzory, za pomocą których dokonują się obliczenia. Arkusz kalkulacyjny typu Excel umożliwia prowadzenie zarówno rachunków domowych jak i tych bardziej skomplikowanych; zawiera on od jednego do kilku arkuszy, gdzie nanoszone są odpowiednie dane, na których dokonuje się obliczeń. Program ten pozwala na dokonywanie analiz oraz prezentacji danych w różnej postaci: * w postaci liczbowej, * w postaci wykresów (kołowych, liniowych czy słupkowych).
Excel umożliwia między innymi: * sporządzenie bilansu miesięcznego, * przygotowanie do wydruku różnego typu rachunków, * sporządzanie zestawień wybranych kwot, * tworzenie tabel na przykład służących do opracowywania budżetu firmy, * w biurze (dzięki odpowiednim arkuszom) pozwala on na realizację następujących funkcji: + programu księgowego, + bazy klientów oraz kontrahentów, + karty płac i innych.
Program Excel firmy Microsoft oferuje swoim użytkownikom ponad 200 różnych funkcji, obejmujących podstawy matematyki, logiki oraz statystyki jak również operacje dokonywane na tekstach czy bazach danych, przy czym poznawanie owych funkcji nie polega na ich pamięciowym opanowywaniu, gdyż zazwyczaj potrzebujemy ich określonej grupy. Zatem poznawanie ich powinno być poprzedzone uściśleniem, które z funkcji mogą mieć swoje zastosowanie w aplikacjach tworzonych przez danego użytkownika w najbliższym czasie.
Dziękujemy za uwagę. Wykonały: Sandra Gutkowska, Justyna Nowakowska.