GNU Octave

Screenshot Software:
GNU Octave
Szczegóły programowe:
Wersja: 4.4.0 Aktualizowane
Filmu: 22 Jun 18
Wywoływacz: John W. Eaton
Licencja: Wolny
Popularność: 262

Rating: 2.7/5 (Total Votes: 3)

GNU Octave to open source i swobodnie rozproszony projekt oprogramowania dla wiersza poleceń, który ma zapewniać potężny, łatwy w użyciu i rozszerzalny język wysokiego poziomu, który może być używany do obsługi obliczeń numerycznych .


Może być używany do numerycznego rozwiązywania problemów liniowych i nieliniowych

Oprogramowanie może być używane do numerycznego rozwiązywania problemów zarówno liniowych, jak i nieliniowych, a także do wykonywania różnych eksperymentów numerycznych. Jest kompatybilny z Matlab, wielowymiarowym środowiskiem obliczeniowym i może być używany jako język wsadowy.

Ponadto, GNU Octave oferuje różne narzędzia, które pozwalają rozwiązywać typowe problemy algebry linera numerycznego, manipulować wielomianami, integrować zwykłe funkcje, odkrywać korzenie nieliniowych równań, a także integrować zwykłe równania różniczkowo-algebraiczne i różniczkowe. / p>

Możesz użyć dynamicznie ładowanych modułów lub funkcji zdefiniowanych przez użytkownika, aby rozszerzyć GNU Octave. Mogą one być napisane w języku programowania Octave & rsquo lub w C, C ++, Fortran, itp.

Pierwsze kroki z GNU Octave

Dostępne są dwie metody instalacji GNU Octave na systemie operacyjnym GNU / Linux. Pierwsza z nich jest najłatwiejsza i polega na przeszukiwaniu & bdquo; oktawy & rdquo; pakiet w aplikacji Centrum oprogramowania (np. Synaptic Package Manager) twojej dystrybucji.

Druga metoda pomoże ci zainstalować najnowszą wersję produktu, ale wymaga wykonywania poleceń w emulatorze terminala. Jeśli nie masz na to ochoty, pobierz najnowszy pakiet źródłowy z Softoware lub z oficjalnej strony głównej projektu (zobacz link na końcu artykułu), zapisz go na swoim komputerze i rozpakuj.

Otwórz aplikację emulatora terminala, uruchom plik & cd & rsquo; komenda, a następnie ścieżka do lokalizacji wyodrębnionych plików archiwum (na przykład cd /home/softoware/octave-3.8.2), uruchom plik & lsquo; ./ configure & amp; make & rsquo; polecenie, aby skonfigurować i skompilować program, a następnie uruchomić polecenie & lsquo; sudo make install & rsquo; polecenie, aby go zainstalować. Użyj go z poziomu wiersza poleceń, uruchamiając & bsquo; oktawę & rsquo; polecenie.

Pod maską

Patrząc pod maską programu GNU Octave, możemy zauważyć, że jest napisany całkowicie w języku programowania C ++. Zainstalowaliśmy go w kilku dystrybucjach GNU / Linux, w tym Arch Linux i Ubuntu, korzystając z instrukcji podanych w powyższej sekcji. Oprogramowanie jest kompatybilne z 32-bitowymi i 64-bitowymi platformami komputerowymi.

Co nowego w tej wersji:

  • One z największych nowych funkcji serii wydawniczej Octave 3.8.x to graficzny interfejs użytkownika. Jest to jedna rzecz, o którą użytkownicy najczęściej prosili w ciągu ostatnich kilku lat, a teraz jest już prawie gotowa. Ale ponieważ nie jest tak dopracowany, jak byśmy chcieli, zdecydowaliśmy się poczekać do wydania serii 4.0.x zanim zrobimy GUI jako domyślny interfejs (do tego momentu można użyć opcji --force-gui, aby uruchomić GUI ).

Co nowego w wersji:

  • Jedną z największych nowych funkcji serii wydawniczej Octave 3.8.x jest graficzny interfejs użytkownika. Jest to jedna rzecz, o którą użytkownicy najczęściej prosili w ciągu ostatnich kilku lat, a teraz jest już prawie gotowa. Ale ponieważ nie jest tak dopracowany, jak byśmy chcieli, zdecydowaliśmy się poczekać do wydania serii 4.0.x zanim zrobimy GUI jako domyślny interfejs (do tego momentu można użyć opcji --force-gui, aby uruchomić GUI ).

Co nowego w wersji 4.2.0:

  • Jedną z największych nowych funkcji serii wydawniczej Octave 3.8.x jest graficzny interfejs użytkownika. Jest to jedna rzecz, o którą użytkownicy najczęściej prosili w ciągu ostatnich kilku lat, a teraz jest już prawie gotowa. Ale ponieważ nie jest tak dopracowany, jak byśmy chcieli, zdecydowaliśmy się poczekać do wydania serii 4.0.x zanim zrobimy GUI jako domyślny interfejs (do tego momentu można użyć opcji --force-gui, aby uruchomić GUI ).

Co nowego w wersji 4.0.3:

  • Jedną z największych nowych funkcji serii wydawniczej Octave 3.8.x jest graficzny interfejs użytkownika. Jest to jedna rzecz, o którą użytkownicy najczęściej prosili w ciągu ostatnich kilku lat, a teraz jest już prawie gotowa. Ale ponieważ nie jest tak dopracowany, jak byśmy chcieli, zdecydowaliśmy się poczekać do wydania serii 4.0.x zanim zrobimy GUI jako domyślny interfejs (do tego momentu można użyć opcji --force-gui, aby uruchomić GUI ).

Co nowego w wersji 4.0.1:

  • Jedną z największych nowych funkcji serii wydawniczej Octave 3.8.x jest graficzny interfejs użytkownika. Jest to jedna rzecz, o którą użytkownicy najczęściej prosili w ciągu ostatnich kilku lat, a teraz jest już prawie gotowa. Ale ponieważ nie jest tak dopracowany, jak byśmy chcieli, zdecydowaliśmy się poczekać do wydania serii 4.0.x zanim zrobimy GUI jako domyślny interfejs (do tego momentu można użyć opcji --force-gui, aby uruchomić GUI ).

Co nowego w wersji 4.0.0:

  • Jedną z największych nowych funkcji serii wydawniczej Octave 3.8.x jest graficzny interfejs użytkownika. Jest to jedna rzecz, o którą użytkownicy najczęściej prosili w ciągu ostatnich kilku lat, a teraz jest już prawie gotowa. Ale ponieważ nie jest tak dopracowany, jak byśmy chcieli, zdecydowaliśmy się poczekać do wydania serii 4.0.x zanim zrobimy GUI jako domyślny interfejs (do tego momentu można użyć opcji --force-gui, aby uruchomić GUI ).

Co nowego w wersji 3.8.2:

  • Jedną z największych nowych funkcji serii wydawniczej Octave 3.8.x jest graficzny interfejs użytkownika. Jest to jedna rzecz, o którą użytkownicy najczęściej prosili w ciągu ostatnich kilku lat, a teraz jest już prawie gotowa. Ale ponieważ nie jest tak dopracowany, jak byśmy chcieli, zdecydowaliśmy się poczekać do wydania serii 4.0.x zanim zrobimy GUI jako domyślny interfejs (do tego momentu można użyć opcji --force-gui, aby uruchomić GUI ).

Co nowego w wersji 3.8.0:

  • Jedną z największych nowych funkcji Octave 3.8 jest graficzny interfejs użytkownika. Jest to jedna rzecz, o którą użytkownicy najczęściej prosili w ciągu ostatnich kilku lat, a teraz jest już prawie gotowa. Ale ponieważ nie jest tak dopracowany, jak byśmy chcieli, zdecydowaliśmy się poczekać do wydania serii 4.0.x zanim zrobimy GUI jako domyślny interfejs (do tego momentu można użyć opcji --force-gui, aby uruchomić GUI ).
  • Biorąc pod uwagę długość czasu i liczbę poprawek i ulepszeń od ostatniej edycji głównej Octave, zdecydowaliśmy się nie opóźniać wprowadzania wszystkich nowych ulepszeń, tylko po to, aby udoskonalić GUI. Więc ciesz się wersją 3.8 Octave i podglądem nowego GUI. Uważamy, że działa on całkiem dobrze, ale wiemy też, że istnieją pewne oczywiste miejsca i wiele rzeczy, które można poprawić.

Co nowego w wersji 3.4.0:

  • Biblioteki BLAS i LAPACK są teraz wymagane do zbudowania oktawy. Podzbiór referencyjnych bibliotek BLAS i LAPACK został usunięty ze źródeł Octave.
  • Funkcja `lookup 'została rozszerzona, aby była bardziej przydatna do przeszukiwania binarnego ogólnego przeznaczenia. Korzystając z tej poprawy, funkcja ismember została przepisana pod kątem znacznie lepszej wydajności.
  • Macierze rzeczywiste, całkowite i logiczne, używane w indeksowaniu, będą teraz buforować wewnętrzną wartość indeksu_indeksu (indeksy oparte na zera), gdy zostaną z powodzeniem użyte jako wskaźniki, eliminując karę konwersji za późniejsze indeksowanie przez tę samą macierz. W szczególności oznacza to, że nie jest już konieczne unikanie powtarzania indeksowania za pomocą tablic logicznych z wykorzystaniem funkcji find w celu zapewnienia wydajności.
  • Macierze logiczne są teraz traktowane bardziej efektywnie, gdy są używane jako indeksy. Octave zachowa indeks jako logiczną maskę, chyba że stosunek rzeczywistych elementów jest wystarczająco mały, używając specjalnego kodu. Poprzednio wszystkie macierze logiczne były zawsze najpierw konwertowane na wektory indeksu. Pozwala to zaoszczędzić zarówno pamięć, jak i czas obliczeń.
  • Funkcje `sub2ind 'i` ind2sub' zostały ponownie zaimplementowane jako skompilowane funkcje dla lepszej wydajności. Funkcje te są teraz szybsze, mogą zapewnić bardziej oszczędne wyniki dla zakresów i mogą ponownie wykorzystywać mechanizm pamięci podręcznej indeksów opisany w poprzednim akapicie.
  • Wbudowana funkcja równoważna operatorom asocjacyjnym (`plus ',` times', `mtimes ',` and' oraz `lub ') została rozszerzona, aby przyjąć wiele argumentów. Jest to szczególnie przydatne w przypadku sumowania (mnożenia itp.) List obiektów (prawdopodobnie różnych typów):
  • matrix_sum = plus (matrix_list {:});
  • Zaimplementowano typ obiektu FTP oparty na libcurl. Obiekty te umożliwiają zarządzanie połączeniami FTP, pobieraniem i przesyłaniem. Na przykład
  • fp = ftp ("ftp.octave.org); cd (fp," gnu / oktawa "); mget (fp," oktawa-3.2.3.tar.bz2 "); zamknij (fp);
  • Domyślne zachowanie "assert (obserwowane, oczekiwane)" zostało złagodzone, aby zastosować mniej ścisłe sprawdzanie, które nie wymaga dopasowania elementów wewnętrznych. Pozwala to uniknąć wcześniejszych testów z powodu przerwania z powodu nowych klas wewnętrznych wprowadzonych w przyszłych wersjach Octave.
  • Na przykład wszystkie te twierdzenia były prawdziwe w Octave 3.0.x, ale fałszywe w wersji 3.2.x ze względu na nowe optymalizacje i ulepszenia:
  • assert (2 * spacja (1, 5, 5), 2 * (1: 5)) assert (zera (0, 0), []) assert (2 * ones (1, 5), (2) (ones (1,5)))
  • Zachowanie funkcji bibliotecznych "ismatrix", "issquare" i "issymmetric" zostało zmienione dla lepszej spójności. Funkcja `ismatrix 'zwraca teraz wartość true dla wszystkich macierzy numerycznych, logicznych i znakowych 2-D lub N-D. Poprzednio `ismatrix 'zwracało fałsz, jeśli pierwszy lub drugi wymiar wynosił zero. W związku z tym "ismatrix ([])" było fałszywe, natomiast "ismatrix (zera (1,2,0))" było prawdziwe.
  • Funkcja `issquare 'teraz zwraca logiczny skalar i jest odpowiednikiem wyrażenia
  • ismatrix (x) & amp; ndims (x) == 2 & amp; wiersze (x) == kolumny (x)
  • Wymiar nie jest już zwracany. W rezultacie, `issquare ([]) 'teraz daje true. Funkcja "issymmetric" sprawdza teraz symetrię zamiast pustki. Dla tego ostatniego stworzono ishermitian. Zwracany jest również logiczny skalar, a nie wymiar, więc "issymmetric ([])" jest teraz prawdziwe. Uchwyty funkcji są teraz świadome przeciążonych funkcji. Jeśli funkcja jest przeciążona, uchwyt określa w momencie jej wywoływania funkcję, która ma zostać wywołana. Wersja nieprzeciążona nie musi istnieć.
  • Przeciążanie funkcji wbudowanych klas (podwójne, int8, komórkowe itd.) jest teraz kompatybilne z Matlab.
  • Uchwyty funkcji można teraz porównywać z operatorami == i! =, a także z funkcją `isequal '.
  • Poprawiono wydajność konkatenacji (przy użyciu []) oraz funkcji `cat ',` horzcat' i `vertcat 'w tablicach wielowymiarowych.
  • Operatory przypisania operacji + =, - =, * = i / = działają teraz wydajniej w niektórych przypadkach. Na przykład, jeśli M jest macierzą, a S skalarem, to instrukcja
  • M + = S;
  • będzie działał na danych M w miejscu, jeśli nie jest współdzielony przez inną zmienną, zwykle zwiększając zarówno czas, jak i wydajność pamięci. Zmieniają się tylko wybrane wspólne kombinacje, a mianowicie: matrix + = matrix matrix - = matrix matrix. * = Matrix matrix ./= matrix
  • matrix + = macierz skalarna - = macierz skalarna * = macierz skalarna / = skalarna
  • macierz logiczna | = macierz logiczna macierzy i macierz logiczna
  • gdzie macierz i skalar należą do tej samej klasy. Lewa strona musi być prostą referencją zmiennej.
  • Co więcej, gdy w wyrażeniach pojawią się operatory jednoargumentowe, Octave spróbuje również wykonać operację lokalną, jeśli argument jest tymczasowym wyrażeniem.
  • Zmieniono wpływ operatorów porównania (, =) na liczby zespolone, aby zachować spójność ze ścisłymi porządkami określonymi przez funkcje "max", "min" i "sort". Dokładniej, liczby zespolone są porównywane przez leksykograficzne porównanie par "[abs (z), arg (z)]". Wcześniej porównywano tylko rzeczywiste części; można to osiągnąć trywialnie poprzez zawijanie operandów w rzeczywistości ().
  • Zmieniono automatyczne upraszczanie złożonych wyników obliczeń. Octave będzie teraz upraszczać dowolną liczbę zespoloną z zerową częścią urojoną lub dowolną złożoną matrycą ze wszystkimi elementami mającymi zero części urojonych do rzeczywistej wartości. Poprzednio robiono to tylko dla zer dodatnich. Zauważ, że zachowanie złożonej funkcji pozostaje niezmienione i nadal generuje złożoną wartość, nawet jeśli część urojona wynosi zero.
  • Jako efekt uboczny refaktoryzacji kodu w liboctave, binarne operacje logiczne są teraz łatwiejsze do optymalizacji kompilatora, a zatem są znacznie szybsze.
  • Octave umożliwia teraz zdefiniowane przez użytkownika "subsasgn" metody optymalizacji zbędnych kopii. Więcej informacji znajduje się w instrukcji.
  • Lepsza obsługa podziału macierzy. Octave jest teraz w stanie obsłużyć wyrażenia M 'V M.' V V / M
  • (M jest macierzą, a V jest wektorem) bardziej efektywnie w niektórych przypadkach. W szczególności, jeśli M jest trójkątne, wszystkie trzy wyrażenia będą obsługiwane przez pojedyncze wywołanie xTRTRS (z LAPACK), z odpowiednimi flagami. Poprzednio wszystkie trzy wyrażenia wymagały fizycznej transpozycji M.
  • Skuteczniejsza obsługa niektórych operacji macierzy złożonych z rzeczywistym złożem. Na przykład, jeśli RM jest rzeczywistą macierzą, a CM złożoną macierzą, RM CM
  • można teraz ocenić jako
  • complex (RM real (CM), RM imag (CM))
  • lub jako
  • complex (RM) CM,
  • w zależności od wymiarów. Pierwsza forma wymaga więcej tymczasowych i kopiowania, ale połowę liczby FLOP, która zwykle zapewnia lepszą wydajność, jeśli RM ma wystarczającą liczbę wierszy. Wcześniej zawsze był używany drugi formularz.
  • Podobnie wpływa na podział macierzy.
  • Skuteczniejsza obsługa trójkątnych współczynników macierzy zwróconych z faktoryzacji. Funkcje obliczania współczynników QR, LU i Cholesky automatycznie zwrócą trójkątne współczynniki macierzy z odpowiednim wewnętrznym zestawem matrix_type, tak że nie będzie trzeba obliczać, kiedy macierz jest używana do podziału.
  • Wbudowana funkcja "sum" teraz wydajniej obsługuje sumowanie niepochodzące z natywnych (tj. sumę podwójnej precyzji pojedynczych lub całkowitych danych wejściowych), unikając tymczasowej konwersji całej tablicy wejściowej do podwójnej. Ponadto `suma 'może teraz zaakceptować dodatkowy argument opcji, używając skompensowanego algorytmu sumowania zamiast prostej sumy, co znacznie poprawia precyzję, jeśli w podsumowaniu wystąpi dużo anulowania.
  • Wbudowana funkcja "bsxfun" używa teraz zoptymalizowanego kodu dla niektórych przypadków, w których przekazywane są wbudowane uchwyty operatora. Mianowicie, optymalizacje dotyczą operatorów `plus ',` minus', `czasy ',` ldivide' , `rdivide ',` power', `i ',` lub' (dla tablic logicznych), operatory relacyjne `eq ',` ne', `lt ',` le', `gt ',` ge' oraz funkcje `min 'i` max'. Optymalizacje mają zastosowanie tylko wtedy, gdy oba operandy są tej samej wbudowanej klasy. Mieszane operacje rzeczywiste / złożone i pojedyncze / podwójne najpierw konwertują oba operandy do wspólnego typu.
  • Funkcje `strfind 'i` strrep' mają teraz skompilowane implementacje, ułatwiając znacznie wydajniejsze wyszukiwanie i zastępowanie w łańcuchach, zwłaszcza przy dłuższych wzorach. Kod `strcat 'został wektoryzowany i jest teraz znacznie bardziej wydajny, gdy wiele łańcuchów jest połączonych. Funkcje "strcmpi" i "strncmpi" są teraz wbudowanymi funkcjami zapewniającymi lepszą wydajność.
  • Teraz obsługiwane są argumenty funkcji wejścia i wyjścia w stylu Matlab używające tyldy (~). Zignorowane argumenty wyjściowe mogą być wykrywane z funkcji za pomocą wbudowanej funkcji `isargout '. Aby uzyskać więcej informacji, zapoznaj się z instrukcją.
  • Typ danych listy, wycofany od czasu wprowadzenia komórek, został usunięty.
  • Funkcja akumarray została zoptymalizowana i obecnie jest znacznie szybsza w niektórych ważnych przypadkach.
  • Zachowanie funkcji isreal i isnumeric zostało zmienione tak, aby były bardziej zgodne z Matlab.
  • Ogólna liczba matematyczna i liczba mnoga; Ostrzeżenia dotyczące konwersji (Octave: int-convert-nan, Octave: int-convert-non-int-val, Octave: int-convert-overflow, Octave: int-mat-overflow) zostały usunięte.
  • rem i mod są teraz wbudowanymi funkcjami. Obsługują również typy liczb całkowitych efektywnie z wykorzystaniem arytmetycznych liczb całkowitych.
  • Rzadkie indeksowanie i indeksowane przypisanie zostały przeważnie przepisane. Ponieważ Octave wykorzystuje skompresowane przechowywanie kolumn w rzadkich macierzach, główna uwaga poświęcana jest operacjom manipulującym całymi kolumnami. Takie operacje są teraz znacznie szybsze, a także kilka innych ważnych przypadków.
  • Co więcej, istnieje teraz możliwość wstępnej alokacji rzadkiej macierzy, a następnie wypełnienia jej przydziałami, o ile spełniają określone warunki. Aby uzyskać więcej informacji, zapoznaj się z funkcją `spalloc ', która nie jest już zwykłym manekinem. W konsekwencji nzmax i nnz nie są już zawsze równe w Oktawie. Oktawa może również wytwarzać matrycę z nnz <3. nzmax w wyniku innych operacji, więc powinieneś konsekwentnie używać nnz, chyba że naprawdę chcesz użyć nzmax (tj. miejsca przydzielonego dla elementów niezerowych).
  • Ma to również wpływ na rzadkie konkatenacje, a łączenie rzadkich macierzy, szczególnie większych kolekcji, jest teraz znacznie bardziej wydajne. Dotyczy to zarówno operatora [], jak i cat / vertcat / horzcat.
  • Możliwe jest obecnie opcjonalne użycie sterowników xGESDD LAPACK do obliczania dekompozycji liczby pojedynczej za pomocą svd (), zamiast domyślnego xGESVD, przy użyciu pseudo-zmiennej svd_driver konfiguracji. Sterownik xGESDD może być do 6x razy szybszy, gdy żąda się pojedynczych wektorów, ale jest informowany, że jest nieco mniej odporny na wysoce źle kondycjonowane macierze.
  • Pseudo-zmienne konfiguracyjne, takie jak page_screen_output lub confirm_recursive_rmdir (lub wyżej wspomniany svd_driver), teraz akceptują opcję "local" jako drugi argument, żądając cofnięcia zmiany, gdy aktualna funkcja zwraca: function [status, msg] = rm_rf (dir) confirm_recursive_rmdir (false, "local"); [status, msg] = rmdir (dir, "s"); ... endfunction Po powrocie, confirm_recursive_rmdir zostanie przywrócone do wartości, jaką miał przy wejściu do funkcji, nawet jeśli nastąpiły kolejne zmiany zmiennej w funkcji rm_rf lub którejkolwiek z funkcji, którą wywołuje.
  • pkg akceptuje teraz opcję -forge do pobierania i instalowania pakietów z Octave Forge automatycznie. Na przykład pkg install -forge general automatycznie pobierze najnowszą wersję ogólnego pakietu i spróbuje go zainstalować. Nie zapewniono automatycznego rozwiązywania zależności. Ponadto
  • pkg list -forge może służyć do wyświetlania wszystkich dostępnych pakietów.
  • ** Wewnętrzna reprezentacja danych dla struktur została całkowicie przepisana w celu umożliwienia pewnych optymalizacji. Dane pola mogą teraz być współdzielone między strukturami z jednakowymi kluczami, ale o innych wymiarach lub wartościach, co powoduje, że operacje zachowują pola szybciej. Zoptymalizowana pamięć masowa jest teraz używana dla skalarnych struktur (podobnie jak większość innych skalarów), dzięki czemu ich wykorzystanie jest bardziej wydajne pod względem pamięci. Niektóre operacje tablicowe na strukturach (konkatenacja, jednolita komórka, num2 komórka) zyskały znaczne przyspieszenie. Dodatkowo klasa octave_scalar_map zapewnia teraz prostszy interfejs do pracy ze skalarnymi strukturami w ramach funkcji DLD C ++.
  • ** Dostępne są dwa nowe formaty wyświetlania liczb:
  • format short eng format long eng
  • Obie liczby wyświetlane w notacji inżynierskiej, tj. mantysa + wykładnik, gdzie wykładnik jest wielokrotnością liczby 3.
  • ** Następujące funkcje są nowe w Octave 3.4:
  • accumdim erfcx nfields pqpnonneg uigetdir bitpack fileread nth_element quadcc uigetfile bitunpack fminbnd onCleanup randi uiputfile blkmm fskipl pbaspect repelems uimenu cbrt ifelse pie3 reset whitebg curl ishermitian powerset rsf2csf chop isindex ppder saveas daspect luupdate ppint strread dywergencja merge ppjumps textread
  • ** Używanie funkcji obrazu do wyświetlania obrazów za pomocą programów zewnętrznych, takich jak display, xv i xloadimage, nie jest już obsługiwane. Funkcja image_viewer została również usunięta.
  • ** Zachowanie przypisań struct do wartości innych niż struct zostało zmienione. Wcześniej możliwe było nadpisanie dowolnej wartości: a = 1; a.x = 2;
  • Nie jest to już możliwe, chyba że a jest pustą macierzą lub macierzą komórek.
  • ** Funkcja dlmread została rozszerzona, aby umożliwić określenie niestandardowej wartości pustych pól.
  • ** Funkcje dlmread i dlmwrite zostały zmodyfikowane w celu akceptowania nazw plików (zwracanych przez fopen) oprócz nazw plików.
  • ** Oktawa może teraz zoptymalizować narzut związany z anonimowym uchwytem funkcji, jeśli funkcja po prostu wywołuje inną funkcję lub obsługuje niektóre parametry powiązane z pewnymi wartościami. Przykład: f = @ (x) sum (x, 1);
  • Po wywołaniu f, połączenie jest przekazywane do @sum ze stałą 1, a anonimowe wywołanie funkcji nie występuje na stosie wywołań.
  • Przestarzałe funkcje.
  • Następujące funkcje zostały wycofane w Octave 3.2 i zostaną usunięte z Octave 3.6 (lub jakiejkolwiek innej wersji po wydaniu 3.2):
  • create_set spcholinv splu dmult spcumprod spmax iscommand spcumsum spmin israwcommand spdet spprod lchol spdiag spqr loadimage spfind spsum mark_as_command sphcat spsumsq mark_as_rawcommand spinv spvcat spatan2 spkron str2mat spchol splchol unmark_command spchol2inv split unmark_rawcommand
  • Następujące funkcje zostały wycofane w Octave 3.4 i zostaną usunięte z Octave 3.8 (lub jakakolwiek inna wersja jest drugą główną wersją po 3.4):
  • autocor cellidx gammai krylovb wartości autocov wysyłka glpkmex replot betai fstat is_global saveimage
  • Dla kompatybilności z Matlabem, mu2lin (x) jest teraz równoważny mu2lin (x, 0).
  • Biblioteka ARPACK jest teraz rozprowadzana z Octave, więc nie musi już być dostępna jako zewnętrzna zależność podczas budowania Octave.

Co nowego w wersji 3.2.3:

  • Octave 3.2.3 to wydanie naprawiające błędy

Co nowego w wersji 3.0.4:

  • Octave 3.0.4 jest wydaniem naprawiającym błędy. Większość błędów zgłoszonych od wydania wersji 3.0.3 zostało naprawionych. Zwróć uwagę, że Octave 3.0 znacząco różni się od Octave 2.1.x, szczególnie w odniesieniu do grafiki, obsługi ścieżek i wbudowanych zmiennych.

Podobne oprogramowanie

IsForth
IsForth

20 Feb 15

JRuby
JRuby

17 Feb 15

GCC ARM Embedded
GCC ARM Embedded

17 Aug 18

Inne programy z deweloperem John W. Eaton

Octave
Octave

2 Jun 15

Komentarze do GNU Octave

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!