Octave wprowdzenie

Transkrypt

Octave wprowdzenie
Wprowadzenie do programowania w GNU Octave
Marek Słoński
07.03.2008
Celem niniejszego opracowania jest przedstawienie podstawowych informacji i umożliwienie
rozpoczęcia samodzielnej pracy z programem GNU Octave. GNU Octave jest darmowym
(otwartym) programem przeznaczonym do obliczeń matematycznych, numerycznych i
inżynierskich oraz wizualizacji funkcji matematycznych (więcej na: http:\\www.octave.org\
lub http://www.google.pl/search?q=octave).
Spis treści
1.
2.
3.
4.
5.
6.
7.
8.
Rozpoczęcie i kończenie pracy w systemie Linux
Wydawanie i edycja poleceń w trybie interaktywnym
Korzystanie z systemu pomocy GNU Octave
Podstawowe operacje matematyczne
Instrukcja przypisania
Definiowanie wyrażeń arytmetycznych
Ćwiczenia
Zadania do samodzielnego wykonania
1. Rozpoczęcie i kończenie pracy w systemie Linux
W systemie Linux pracę z programem GNU Octave rozpoczynamy poprzez wpisanie
polecenia octave –q w wierszu poleceń terminala tekstowego lub poprzez wybór z listy
programów (Aplikacje>Matematyka>Octave2.1). Po uruchomieniu programu pojawia się
znak zachęty w poniższej postaci:
octave:1>
Od tego momentu możemy wykonywać obliczenia w trybie interaktywnym wydając
polecenia zgodne ze składnią GNU Octave lub uruchamiać programy w tzw. trybie
wsadowym.
Zakończenie pracy z programem GNU Octave odbywa się poprzez wykonanie
polecenia quit lub exit.
2. Wydawanie i edycja poleceń w trybie interaktywnym
Praca interaktywna w GNU Octave polega na bezpośrednim wydawaniu poleceń w wierszu
poleceń programu. Na przykład obliczenie wartości funkcji cosinus dla argumentu równego
zero odbywa się za pomocą wbudowanej funkcji Octave o nazwie cos, poprzez wpisanie
poniższego polecenia (w nawiasach okrągłych wpisujemy wartość argumentu) i zatwierdzenie
go klawiszem Enter:
octave:1> cos(0)
Jako wynik powyższego polecenia Octave wysyła na ekran poniższą odpowiedź:
ans = 1
Program Octave umożliwia edycję poleceń (również poleceń wydanych wcześniej). Na
przykład obliczmy wartość funkcji cosinus dla argumentu równego Π rad korzystając z
poprzednio wydanego polecenia. W tym celu za pomocą strzałki kursora ↑ przywołujemy to
polecenie. Następnie edytujemy polecenie zamieniając 0 na pi (oznaczające wbudowaną
stałą równą liczbie Π) i zatwierdzamy ostatecznie polecenie w postaci:
octave:1> cos(pi)
otrzymując wynik
ans = -1
3. Korzystanie z systemu pomocy GNU Octave
Podczas pracy interaktywnej z programem GNU Octave możemy korzystać z wbudowanego
systemu pomocy (w języku angielskim). Przykładowo polecenie
octave:2> help cos
spowoduje wypisanie na ekranie informacji na temat wbudowanej funkcji cos.
4. Podstawowe operacje matematyczne
GNU Octave umożliwia operowanie zarówno na liczbach rzeczywistych jak i zespolonych.
Dostępne są podstawowe operacje matematyczne takie jak: dodawanie (+), odejmowanie (-),
mnożenie (*), dzielenie (/) i potęgowanie realizowane albo za pomocą dwóch gwiazdek (**)
lub daszka (^). Na przykład obliczmy wartość wyrażenia „2 razy Π do potęgi 0 minus 100”.
W Octave polecenie będzie miało postać:
octave:3> 2*pi^0-100
i spowoduje uzyskanie poniższego wyniku:
ans = -98
Wynik ten potwierdza zdefiniowany w Octave priorytet poszczególnych operatorów
matematycznych. Najwyższy priorytet ma operator potęgowania, następnie operatory
mnożenia i dzielenie a najniższy priorytet mają operatory dodawania i odejmowania.
W sytuacji występowania obok siebie kilku operatorów o tym samym priorytecie operacje są
wykonywane od lewej strony (z wyjątkiem operatora potęgowania). Możemy zmienić
priorytet operacji poprzez użycie nawiasów okrągłych. Na przykład powyższe wyrażenie
można też przedstawić jako polecenie:
octave:4> (2*pi)^0-100
i spowoduje uzyskanie poniższego wyniku:
ans = -99
W Tab. 1. zestawiono powszechnie używane polecenia (operacje matematyczne) oraz ich
odpowiedniki zapisane w notacji matematycznej.
Tab. 1. Tłumaczenie notacji matematycznej na polecenia GNU Octave
Notacja matematyczna
a+b
a-b
ab (mnożenie)
a/b (dzielenie)
b
x (potęgowanie)
√x (pierwiastek kwadratowy)
|x| (wartość bezwzgędna)
π
4 · 103
e, ex
ln x, log x
sin x, arctan x
Polecenia GNU Octave
a+b
a-b
a*b
a/b lub b\a
x^b
sqrt(x) lub x^0.5
abs(x)
pi
4e3 lub 4*10^3
exp(1), exp(x)
log(x), log10(x)
sin(x), atan(x)
5. Instrukcja przypisania
Instrukcja przypisania służy do podstawienia (przypisania) pewnej wartości (liczbowej,
znakowej, itp.) do pewnej zmiennej. Na przykład chcąc podstawić wartość funkcji cosinus dla
argumentu 0 do zmiennej o nazwie wynik, korzystamy z operatora przypisania tzn.
pojedynczego znaku równości (=) i wydajemy polecenie:
octave:5> wynik = cos(0)
otrzymując komunikat
wynik = 1
Widzimy, że tym razem wynik wywołania funkcji cos został podstawiony do zmiennej
wynik zamiast domyślnej zmiennej o nazwie ans.
6. Definiowanie wyrażeń arytmetycznych
Wyrażenie arytmetyczne jest to dowolne wyrażenie zgodne ze składnią języka Octave, w
którym możemy zastosować wymienione wyżej operatory matematyczne. Na przykład
obliczmy w Octave moment bezwładności przekroju prostokątnego o wysokości h=2.0 m i
szerokości b=3.0 m, względem osi poziomej Iy korzystając ze wzoru Iy = bh3/12.
W tym celu zdefiniujmy w Octave dwie zmienne h i b odpowiadające wysokości i
szerokości przekroju za pomocą poniższej instrukcji
octave:6> h = 2.0; b = 3.0;
Tym razem nie otrzymaliśmy komunikatu o wartościach zmiennych, ponieważ instrukcje
przypisania zostały zakończone średnikiem (;). W kolejnym kroku musimy zdefiniować
wyrażenie arytmetyczne, które będzie zawierać wzór na moment bezwładności a wartość tego
wyrażenia dla danych h i b zostanie przypisana na przykład do zmiennej o nazwie Iy:
octave:7> Iy = b*h^3/12
Wynik jaki otrzymujemy to
Iy = 2;
7. Zadania do samodzielnego wykonania
1. Oblicz w GNU Octave momenty bezwładności przekroju skrzynkowego wg podanych
niżej wzorów i wymiarów.
Iy = (BH3 - bh3)/12 oraz Iz = (HB3 - hb3)/12,
B=15cm, H=19.4cm, b=13.2cm, h=17cm
(odpowiednio wymiary zewnętrzne i wewnętrzne),
Iy = 3722cm4

Podobne dokumenty