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