Octave 4.2.1

Strona główna Windows Edukacja i nauka Matematyka i statystyka
Pobierz program
zabezpiecz pobieranie Asystent może proponować instalację ofert reklamowych, na które nie musisz wyrażać zgody w celu pobrania programu. Możesz też użyć linków bezpośrednich bez asystenta (przycisk obok). W przypadku omyłkowej instalacji niechcianego oprogramowania polecamy skorzystanie z naszego poradnika.

Octave to darmowe, otwarte środowisko do przeprowadzania zaawansowanych obliczeń numerycznych. 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.

Aplikacja jest używana w kręgach akademickich i przemyśle a swoją popularność zawdzięcza wysokiej zgodności z komercyjnym oprogramowaniem MATLAB firmy The MathWorks. Octave działa w trybie konsoli i nie posiada graficznego interfejsu użytkownika, potrafi jednak tworzyć graficzne reprezentacje dla wykonywanych obliczeń w postaci wykresów 2D i 3D.

Program posiada bogatą bibliotekę dodatków tworzonych przez aktywną społeczność skupioną wokół programu.

© dobreprogramy

Recenzje użytkowników

Wieloplatformowość, przydatne funkcje nieobecne w Matlabie, otwartość, ciągły rozwój
Obliczenia symboliczne, grafika, wydajność?
ocena użytkownika

Na wstępie muszę zaznaczyć, że sposobów użytkowania pakietu numerycznego jest tyle, co jego użytkowników, co powoduje, że każda recenzja jest jeszcze bardziej subiektywna.

Programów, które mają robić to samo, co Octave, jest kilka. Octave wyróżnia się tym, że z jednej strony jest darmowy i otwarty, a z drugiej strony używa tego samego prostego języka programowania i tych samych komend, co Matlab (płatny, zamknięty). Z założenia, kod działający w Matlabie ma działać w Octave'ie. Założenie to jest pierwszą rzeczą, z której (według mnie), Octave'a należy rozliczać. I jak w praktyce to wygląda? Nieźle, ale do ideału daleko. Daleko, bo jest wiele obszarów funkcjonalności Matlaba, o których w Octave'ie możemy na razie pomarzyć (tj. np. grafika 3D, animacje), albo które w wolnym odpowiedniku nie działają tak samo (wygodnie) - mam tu na myśli np. grafikę 2D czy obliczenia symboliczne. Nie znaczy to jednak, że w Octave'ie nie da się sporządzić wykresu - da się, spokojnie, różnice są w szczegółach i to nie koniecznie dotyczących możliwości, a sposobu zrobienia danej rzeczy. Okno wykresu w Matlabie daje możliwość obracania, powiększania, pomniejszania itp., oraz zapisu obrazka. W Octave'ie obracać się nie da, a zapis jest tylko z linii poleceń (co znów ma oczywiście niebagatelne znaczenie przy pisaniu programów, które mają automagicznie wypluwać obrazki na dysk). Octave nie ma po prostu swojego GUI, działa w konsoli (wierszu poleceń w Windowsach), a grafikę wysyła do Gnuplota. Brak GUI jest dla niektórych wielką wadą, czego pojąć nie mogę. Dla mnie to akurat zaleta, ale jak ktoś bardzo potrzebuje, to i tak są nakładki graficzne (XOctave, QtOctave, Koctave).

Pomijając jednak bardziej zaawansowane funkcje graficzne, obliczenia symboliczne i GUI (czyli tak naprawdę sprawy z pogranicza celu istnienia takiego oprogramowania) mogę śmiało powiedzieć, że (jak dla mnie) jest dobrze.

Octave i Matlab korzystają w bardzo wielu przypadkach z dokładnie tych samych standardowych algorytmów numerycznych. Różnice mogą się pojawić jedynie na poziomie implementacji czy kompilacji, co w efekcie może np. prowadzić do różnych, ale równie poprawnych wyników numerycznych (błąd obliczeń jest takiego samego rzędu, ale np. Octave przeszacuje, a Matlab nie doszacuje).

Życiowy przykład. Student w ramach projektu testuje algorytm na swoim komputerze, w Octave'ie. W konkretnym przykładzie wychodzi mu błąd obliczeń 4,4409e-16, czyli 2*eps, gdzie eps to najmniejsza wartość, o którą dwie liczby mogą się różnić w Matlabie/Octave'ie w systemie 32-bitowym. Następnie student przynosi projekt do oceny i sprawdzający uruchamia ten sam przykład w Matlabie w pracowni i dostaje błąd -6,6613e-16, czyli -3*eps. Taka różnica, to żadna różnica.
Są ludzie, którzy narzekają na pewne konkretne braki w Octave'ie (np. w kwestii wydajności). Oczywiście, może są algorytmy, które w Octave'ie są ewidentnie gorsze (mniej wydajne, mniej dokładne, wolniej zbieżne itp), niż w Matlabie, ale ja takich sytuacji nie doświadczyłem. Nie miałem też dotąd okazji porównania Octave'a i Matlaba na tej samej maszynie i tym samym systemie. Inna sprawa, że Matlab też bezbłędny nie jest i potrafi się wywalić na prostym poleceniu.

Nie zakłada się, aby każdy kod działający w Octave'ie działał w Matlabie. Z punktu widzenia użytkownika Matlaba to źle, a z punktu widzenia użytkownika Octave'a to bardzo dobrze. Octave posiada masę drobiazgów ułatwiających życie, a nieobecnych u konkurenta. W efekcie operacja, która w Octave'ie jest realizowana jednym prostym poleceniem, w Matlabie jest czasem realizowana w trzech-pięciu liniach kodu, a nawet wymaga użycia jakiejś dodatkowej zmiennej i warunku logicznego.
Poza obliczeniami numerycznymi, Octave'a można używać jako prostego języka skryptowego wysokiego poziomu do pisania podręcznych programów. Ale o tym to już napiszę na blogu.

Ja osobiście, nawet gdybym miał na swoim komputerze zainstalowanego Matlaba, na co dzień i tak używałbym Octave'a.

15.11.2011 15:20 | Recenzja do wersji 3.2.4