GNU Octave/Wprowadzenie
Rozpoczęcie pracy
edytujW terminalu wpisz :
octave
W zależności od wersji otrzymasz :
GNU Octave, version 3.2.4 Copyright (C) 2009 John W. Eaton and others. This is free software; see the source code for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, type `warranty'. Octave was configured for "x86_64-pc-linux-gnu". Additional information about Octave is available at http://www.octave.org. Please contribute if you find this software useful. For more information, visit http://www.octave.org/help-wanted.html Report bugs to <bug@octave.org> (but first, please read http://www.octave.org/bugs.html to learn how to write a helpful report). For information about changes from previous versions, type `news'. octave:1>
Możesz zakończyć pracę
quit
Dane
edytujWprowadzanie danych
edytujZakończenie linii średnikiem powoduje, że Octave nie wyświetla wyniku działania komendy :
octave:2> B = rand (3, 2);
Zakończenie linii poprzez naciśnięcie klawisza Enter powoduje wyświetlenie wyniku działania komendy :
octave:3> B = rand (3, 2) B = 0.515199 0.315178 0.765914 0.018528 0.923735 0.585183
Wklejanie danych z Windows do Octave
- Skopiuj odpowiednie dane z Windows do schowka ( zaznacz, potem Ctrl-C )
- przejdź do okna Octave
- użyj środkowego klawisza myszy
Generowanie danych
edytujWektor
edytuj- Wygenerować wektor długości 10 zawierający losowe liczby rzeczywiste z przedziału [-3, 5]
octave:1> rand(1,10).*8-3 ans = 1.17900 1.20344 0.58057 -2.59145 3.03283 2.24702 4.99211 1.49550 -1.05363 -1.32788
Macierz
edytujRęczne tworzenie macierzy. Średnik oddziela wiersze :
a = [ 1, 1, 2; 3, 5, 8; 13, 21, 34 ] a = 1 1 2 3 5 8 13 21 34
Wygenerować macierz 3x5 (3 wiersze, 5 kolumn) zawierającą losowe liczby naturalne z przedziału [1, 99]
octave:2> floor(rand(3,5).*99).+1 # Element-wise operations ans = 80 63 74 19 55 81 15 81 26 3 81 80 70 16 95
Octave numeruje po ludzku czyli zaczyna od 1.[1]
Zapisywanie danych
edytujMacierz MyImage po zapisaniu do pliku png ma wielkość 898 KB. Jeśli zapiszemy macierz do dalszej obróbki
octave:4> save MyImage.dat MyImage # format domyślny = Tekstowy = 98,2 MB octave:5> save -v7 MyImage.mat # 5.9 MB octave:6> save -mat MyImage.mat # 91.6 MB
Sprawdzanie czasu wykonania
edytujObliczyć czas wykonania komendy lub podprogramu. Komenda tic włącza stoper, a toc wyłącza i podaje czas w sekundach, który upłynął od ostatniego tica. Na przykład:
octave:85> tic; eig(rand(500,500)); toc ans = 1.6109 octave:86> tic; toc ans = 0.00042700
Katalogi
edytujSprawdzamy katalog roboczy komendą pwd :
octave-3.2.3:1> pwd ans = /home/adam
Aktualna ścieżka wyszukiwania :
path
Możesz dodać katalog do ścieżki ( tylko na tą sesję )
octave:2> addpath("/home/dedmonds/octave/mfiles/");
i jeśli chcesz zachować zmienioną ścieżkę na stałe ;
savepath
Aktualny katalog
dir
Zawartość aktualnego katalogu
ls
lub
what
Aby przerwać wyświetlanie naciśnij klawisz q
Skrypty
edytujSkrypt jest to plik z kodem Octave.
Typy
edytuj- skrypt z definicją funkcji ( jednej lub więcej funkcji)
- skrypt Octave z kodem
- skrypt Bash z kodem Octave
- skrypt z definicją klasy
Zapisujemy go z rozszerzeniem m ( np. nazwa.m) w aktualnym katalogu.
Uruchomiamy go za pomocą nazwy bez rozszerzenia, w tym przypadku nazwa.
Jak uruchomić skrypt z kodem matlaba?
Przykłady skryptów są tutaj.
Skrypt Basha
edytuj#!/bin/bash
# for-bash:
#{
exec octave -q --no-init-file "$0" ${1+"$@"}
#}
# for-octave:
1;
function jim ()
printf ("program_name: '%s'\n", program_name ());
endfunction
printf ("calling jim\n")
jim
Uruchamianei
edytuj- z poziomu Octave
- source (file)
- nazwa
- nazwa.m
- z poziomu Basha
Pakiety
edytujPakiet przed użyciem trzeba :
- zainstalować
- załadować
Instalacja
edytujNajpierw ściągamy z z http://octave.sourceforge.net/packages.php plik z pakietem. Zapisujemy go w katalogu roboczym ( pwd).
Instalujemy poleceniam :
pkg install package_file_name.tar.gz
Pakiet jest kopiowany do odpowiedniego katalogu
lub :
sudo apt-get install octave-image
Ładowanie
edytujŁadowanie zainstalowanych pakietów :
pkg load package_name
Przykład : funkcja waitbar jest w pakiecie miscellanous. Przed jej użyciem należy ten pakiet załadować.
Sprawdzanie
edytujLista zainstalownych pakietów uzyskamy za pomocą pkg list
octave-3.2.3:2> pkg list Package Name | Version | Installation directory -------------------+---------+----------------------- ftp | 1.0.2 | /usr/share/octave/packages/3.2/ftp-1.0.2 general *| 1.1.3 | /usr/share/octave/packages/3.2/general-1.1.3 image *| 1.0.10 | /usr/share/octave/packages/3.2/image-1.0.10 io *| 1.0.9 | /usr/share/octave/packages/3.2/io-1.0.9 miscellaneous *| 1.0.9 | .../share/octave/packages/3.2/miscellaneous-1.0.9 missing-functions *| 1.0.2 | .../octave/packages/3.2/missing-functions-1.0.2 plot *| 1.0.7 | /usr/share/octave/packages/3.2/plot-1.0.7
Gwiazdka obok nazwy pakietu pokazuje że pakiet jest załadowany ( gotowy do użycia )
Opis zainstalowanych pakietów :
pkg describe -verbose all
Lista dostępnych pakietów :
- na Octave-Forge[3]
Odnośniki
edytuj- ↑ Jaahquubel : Octave - szybkie klejenie obrazków cz. 2
- ↑ stackoverflow question: how-to-execute-m-files-in-octave
- ↑ Octave-Forge