GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

Podobne dokumenty
Metody i analiza danych

Ćwiczenie 1. Wprowadzenie do programu Octave

Przetwarzanie sygnałów

PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1:

Podstawowe operacje na macierzach

Ćwiczenie 1. Wprowadzenie do programu Octave

Metody numeryczne Laboratorium 2

Algebra macierzy

Scilab skrypty (programowanie)

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

Wprowadzenie do Scilab: macierze

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Podstawy MATLABA, cd.

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

Wprowadzenie do środowiska

Matlab Składnia + podstawy programowania

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Wprowadzenie do Scilab: macierze

Elementy metod numerycznych - zajęcia 9

Funkcje Andrzej Musielak 1. Funkcje

MATLAB - laboratorium nr 1 wektory i macierze

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

Technologie informacyjne lab. 3

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

Wprowadzenie do Octave

Instalacja Pakietu R

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

do MATLABa programowanie WYKŁAD Piotr Ciskowski

1 Funkcje elementarne

Maxima i Visual Basic w Excelu

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Wykorzystanie programów komputerowych do obliczeń matematycznych

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

MATLAB Podstawowe polecenia

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Wstęp do Programowania Lista 1

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

MATLAB tworzenie własnych funkcji

Ćwiczenie 4. Matlab - funkcje, wielomiany, obliczenia symboliczne

Sin[Pi / 4] Log[2, 1024] Prime[10]

Wprowadzenie do programu Mathcad 15 cz. 1

Maxima i Visual Basic w Excelu

Obliczenia w programie MATLAB

ELEKTROTECHNIKA Semestr 1 Rok akad / ZADANIA Z MATEMATYKI Zestaw Przedstaw w postaci algebraicznej liczby zespolone: (3 + 2j)(5 2j),

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

Cw.12 JAVAScript w dokumentach HTML

Funkcje. Część pierwsza. Zbigniew Koza. Wydział Fizyki i Astronomii

Wprowadzenie do systemu GNU Octave. Opracowanie: Jarosław Miszczak (miszczak(at)iitis(.)gliwice(.)pl) Wersja złożona 27/05/2009

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

1) Podstawowe obliczenia. PODSTAWY AUTOMATYKI I ROBOTYKI Laboratorium. Wykonał: Łukasz Konopacki Sala 125. Grupa: poniedziałek/p,

Drugi sposób definiowania funkcji polega na wykorzystaniu polecenia:

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Matlab, zajęcia 2. Dwukropek. Tomasz Mostowski 28.luty 2008

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

1 Logika. 1. Udowodnij prawa logiczne: 3. (p q) (p q) 2. (p q) ( q p) 2. Sprawdź, czy wyrażenie ((p q) r) (p (q r)) jest tautologią.

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

Wykorzystanie programów komputerowych do obliczeń matematycznych, cz. 2/2

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy MATLABA, cz2.

Ćwiczenie 3: Wprowadzenie do programu Matlab

WPROWADZENIE DO ŚRODOWISKA SCILAB

Wprowadzenie do Scilab: macierze

Analiza Matematyczna MAEW101 MAP1067

Operacje logiczne i struktury sterujące.

WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19

zajęcia 2 Definiowanie wektorów:

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

Podstawy obsługi pakietu GNU octave.

Przykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco:

Laboratorium 1b Operacje na macierzach oraz obliczenia symboliczne

Tematyka do egzaminu ustnego z matematyki. 3 semestr LO dla dorosłych

MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli!

Matlab Składnia + podstawy programowania

Metody optymalizacji - wprowadzenie do SciLab a

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Wykorzystanie programów komputerowych do obliczeń matematycznych, cz. 2/2

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Wykresy i interfejsy użytkownika

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych

Wprowadzenie do Mathcada 1

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

3. Macierze i Układy Równań Liniowych

φ(x 1,..., x n ) = a i x 2 i +

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

1 Podstawy c++ w pigułce.

Podstawy nauk przyrodniczych Matematyka Wstęp

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Matlab MATrix LABoratory Mathworks Inc.

System operacyjny Linux

Podstawowe operacje na macierzach, operacje we/wy

Transkrypt:

1 GNU Octave GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej. Octave zapewnia: sporą bibliotęke użytecznych funkcji i algorytmów; możliwośc tworzenia przeróżnych wykresów; możliwość pisania własnych funkcji, tym samym na rozszerzanie Octave. Octave jest klonem komercyjnego programu Matlab. Licencja GNU oznacza, że program można pobrać wraz z kodem źródłowym. Przykładowe pola zastosowań to: analiza danych przetwarzanie obrazów; analizy statystyczne; obliczenia w ekonometrii; i wiele innych. Octave nie potrafi prowadzić obliczeń symbolicznych jak Sage czy Mathematica. Instalacja pod Linuksem jest z reguły bardzo prosta (z reguły wystarczy zainstalować pakiet octave), pod Windows jest to nieco bardziej skomplikowane: http://wiki.octave.org/octave_for_windows. 1.1 Zmienne Zmienne skalarne tworzymy i nadajemy im wartości używając operatora = : a = 1 Tworzenie wektorów i macierzy jest podobne: Wektor rzędowy: r = [1 2 3] Wektor kolumnowy: c = [1; 2; 3] Macierz: A = [1 2 3; 4 5 6; 7 8 9] 1

Wielkośc liter ma znaczenie: A to nie to samo co a. Poza tym nazwy są dowolne, choć dobrze trzymać się konwencji: liczby i wektory zaczynają się małymi literami, macierze wielkimi. Aby zmieniać wartości pojedynczych elementów wektorów i macierzy można używać indeksów. Przy powyższych defnicjach możemy napisać: r(2) c(3) A(2,3) Można też pobrać cały rząd czy kolumnę macierzy jako wektor używając dwukropka: A(2,:) A(:,3) Równie dobrze można rząd czy kolumnę macierzy zastąpić innym wektorem, o ile wymiar jest odpowiedni: A(2,:) = r Wyjątkiem od tej reguły jest zapisanie liczby wtedy cały rząd czy kolumna macierzy będzie zamieniona na podaną wartość. Co robią poniższe wyrażenia? r = [r 4 5] A(2,:) = [] r = [1:2:10] Przydatne funkcje: rand tworzy wektory i macierze wypełnione liczbami losowymi z przedziału (0, 1) zeros tworzy wektory i macierze wypełnione zerami ones tworzy wektory i macierze wypełnione jedynkami eye tworzy macierze identycznościowe Aby odczytać zawartość zmiennej wystarczy wpisać ją samą na wejściu Octave. Zmienne można też usuwać używając polecenia clear: clear(a) 2

1.2 Operacje na zmiennych W poniższych przykładach A, B, są macierzami, a, b, liczbami. A+A dodawanie macierzy (tego samego wymiaru) a+a dowanie liczby do każdego elementu macierzy A*B normalny iloczyn macierzy a*a iloczyn macierzy przez liczbę A^a podniesienie macierzy kwadratowej do potęgi A.*B iloczyn Hadamarda macierzy (tego samego wymiaru) det(a) wyznacznik macierzy inv(a) macierz odwrotna cond(a,p) wskażnik uwarunkowania macierzy, jeżeli pominiemy, to p = 2 eig(a) wartości własne macierzy rank(a) ranga macierzy trace(a) ślad macierzy A.^a podniesienie wszystkich elementów macierzy do potęgi A' macierz hermitowsko sprzężona do A A.' macierz transponowana do A A\B rozwiązuje równanie macierzowe Ax = B B/A rozwiązuje równanie macierzowe xa = B 1.3 Porównywanie zmiennych x==y jest prawdą gdy x jest równe y x>y jest prawdą gdy x jest większe y x<y jest prawdą gdy x jest mniejsze y x>=y jest prawdą gdy x jest większe niż y x<=y jest prawdą gdy x jest mniejsze niż y x!=y jest prawdą gdy x jest różne od y 3

1.4 Przydatne funkcje sin(x) sinus cos(x) kosinus tan(x) tangens pi liczba π polyval(r, x) wartość wielomianu o współczynnikach w wektorze r w x, np. polyval([1.8-1 2 0 4], x) == 1.8x 4 x 3 + 2x 2 + 4 exp(x) funkcja wykładnicza log(x) logarytm naturalny e liczba e sqrt(x) pierwiastek kwadratowy nthroot(x, n) n-ty pierwiastek min(r) najmniejszy element wektora x max(r) największy element wektora x sum(a) suma elementów macierzy prod(a) produkt elementów macierzy roots(r) pierwiastki wielomianu o współczynnikach r polyinteg(r) współczynniki całki wielomianu o współczynnikach r polyderive(r) współczynniki pochodnej wielomianu o współczynnikach r Większośc z tych funkcji, gdy argumentem jest macierz, wyliczy macierz odpowiednich wyników. Pełna lista tutaj: http://www.gnu.org/software/octave/doc/interpreter/function-index. html. 4

1.5 Wykresy Kilka przykładów do samodzielnego wykonania (komenda clf czyści obecny wykres): x = [0:0.05:8] f = polyval([0.5-3 -8 5], x) plot(x, f) fplot("sin", [0, 2*pi], 100) x = [-2:0.1:2]; y = x; [X Y] = meshgrid(x, y); Z = X.^3 - X.*Y.^2*3; surface(x, Y, Z) 1.6 Skrypty Polecenie cd <katalog> pozwala na zmianę bieżącego katalogu. Zamiast wpisywać polecenia ręcznie, można kazać Octave pobrać komendy z pliku. Wpisanie skrypt1 znajdzie plik skrypt1.m w biezącym katalogu i wykona go, linijka po linijce tak jakbyśmy wszystko wpisali ręcznie. Wejście, wyjście Skrypt może żądać danych od użytkownika i wypisywać dane jak w poleceniu: a = input("podaj liczbe: ") # To jest komentarz # Tutaj obliczenia disp("wynik: ") disp(a) Instrukcja warunkowa Instrukcja if wygląda następująco: if warunek1 elseif warunek2 5

else endif Warunki proste można łączyć w złożone przez operatory koniunkcji (&&), alternatywy ( ) i negacji (!). Pętla for Pętla for pozwala wykonać zadany kod dla zmiennej przyjmującej zadane wartości: for x=poczatek:skok:koniec endfor Pętla while Pętla while pozwala wykonać zadany kod dopóki warunek jest spełniony while warunek endwhile Pętla do Pętla do pozwala wykonać zadany kod dopóki warunek nie będzie spełniony do until warunek Funkcje Składnia własnych funkcji jest następująca: function [wynik1, wynik2, ] = nazwafunkcji(argument1, argument2, ) endfunction Dla przykładu poniższa funkcja liczy od razu minimum i maksimum: function [mi, ma] = minmax(x) ma = max(x); mi = min(x); 6

endfunction Funkcje mogą też przyjmować jako argumenty inne funkcje, co będzie bardzo przydatne na następnych zajęciach. Poniższa funkcja liczy f (g(x)) function [y] = compose(f, g, x) y = feval(f, x) y = feval(g, y) endfunction Używamy jej następująco: function [y] = square(x) y = x*x; endfunction #obliczymy (2^2)^2 compose("square", "square", 2) 7