Tuż po uruchomieniu Octave wyświetla krótki tekst, tzw. zachętę (ang. prompt) do wpisania polecenia:
octave:1>
W tym przypadku zachęta składa się z czterech elementów: nazwy programu (octave
),
znaku dwukropka, numeru polecenia (tu: 1
) i znaku >
. Poniżej zwykle będę
skracał tekst zachęty do pojedynczego znaku >
.
Rozpocznijmy od prostego zadania: ile wynosi rozwinięcie dziesiętne ułamka 1/7?
W tym celu po tekście zachęty wpisujemy wyrażenie 1/7
octave:1> 1/7
Program odpowie następująco:
ans = 0.14286
Napis ans
oznacza specjalną zmienną, w której przechowywana jest wartość ostatniego wyrażenia.
Sprawdźmy to, obliczając 1/ans
:
octave:2> 1/ans ans = 7
Spróbujmy teraz obliczyć wartość 1/0.14286:
octave:3> 1/0.14286 ans = 6.9999
Porównanie wyników obliczeń dwóch ostatnich wyrażeń musi budzić zaniepokojenie. Z jednej strony program
informuje nas, że ans = 0.14286
, z drugiej strony zaś twierdzi, że 1/ans
i
1/0.14286
mają różne wartości. Gdzie tu logika?
Odpowiedź jest prosta – Octave wyświetla przybliżone wartości wyników obliczeń i wartości zmiennych. Domyślnie wyświetlane jest 5 cyfr znaczących wyniku. Jeżeli chcemy zwiększyć dokładność do 15 cyfr, powinniśmy wydać polecenie
> format long
Jeśli teraz spróbujemy wyznaczyć wartość ilorazu 1/7
, otrzymamy aż piętnaście poprawnych cyfr wyniku
octave:5> 1/7 ans = 0.142857142857143 octave:6> 1/ans ans = 7
Zazwyczaj dokładność sięgająca piętnastu cyfr znaczących jest niepotrzebna. Aby ponownie otrzymywać skrócone wartości obliczeń, wydajemy polecenie
> format short
Octave umożliwia wykonywanie wszystkich podstawowych operacji matematycznych. Wykaz najważniejszych operatorów rozpoznawanych przez Octave znajduje się w Tabeli 1.
Operacja | Operator | Przykłady |
---|---|---|
potęgowanie | ** lub ^ | 2**3 , 2^3 |
mnożenie | * | 2 * 3 |
dzielenie | / lub \ | 1/7 lub 7\1 |
dodawanie | + |
2 + 2 |
odejmowanie | – |
3 – 2 |
Największą niespodziankę stanowi możliwość zapisu dzielenia w postaci y\x
zamiast
standardowego x/y
. Zapisu tego używa się gównie w operacjach na macierzach, zwłaszcza przy rozwiązywaniu
układów równań liniowych, gdzie rozróżnianie operacji x/y
i y\x
ma sens i
związane jest z tym, że w ogólnym przypadku mnożenie macierzy jest operacją nieprzemienną.
Jeżeli x
i y
są zwykłymi liczbami, wyrażenia x/y
i y\x
są sobie równoważne.
Wśród powyższych operatorów największy priorytet ma potęgowanie, następnie mnożenie i dzielenie,
następnie dodawanie i odejmowanie. Dlatego wyrażenie 2+2**3/4
interpretowane jest jak
2 + ((2**3)/4)
a nie jak np. 2 + 2**0.75
.
Octave rozpoznaje też kilka stałych matematycznych. Najważniejsze z nich przedstawia Tabela 2.
Stała | Zapis w Octave | Znaczenie |
---|---|---|
π | pi | Iloraz obwodu koła do jego średnicy |
e | e | podstawa logarytmów naturalnych |
i | i | jednostka urojona |
W Octave można też posługiwać się niemal wszystkimi funkcjami używanymi na kursach
matematyki wyższej, m.in. sin
, cos
,
exp
, sqrt
i wieloma, wieloma innymi.
Oto kilka przykładów użycia Octave jako zaawansowanego kalkulatora naukowego:
> pi^2 ans = 9.8696 > sin(3i) ans = 0.00000 + 10.01787i > log(sin(pi/7)) + asin(0.5) ans = -0.31138
Należy pamiętać, że Octave zakłada, że argumenty funkcji trygonometrycznych podawane są w radianach.
Aby obliczyć np. sin(n)
, gdzie n jest wyrażone w stopniach, należy n
pomnożyć przez π i podzielić przez 180:
octave:6> sin(30 * pi / 180) # sinus 30 stopni ans = 0.50000
W powyższym przykładzie znak # rozpoczyna komentarz, który rozciąga się do końca wiersza
Program opuszczamy poleceniem quit
octave:7> quit
**
, ^
, *
, /
,
\
, +
i –
?.
x/y
i y\x
, jeżeli x
i
y
są "zwykłymi" liczbami?
i
razy i
równa się -1