Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Tomasz Adamowicz Anna Kostun
Wykresy. Obsługa strumieni wejścia i wyjścia. Struktury danych w Octave. Tomasz Adamowicz Anna Kostun
2
Strumienie wejścia/wyjścia
3
Funkcje obsługi strumieni
disp - wyświetla opis/tekst na ekranie dla wartości zmiennej fprintf - wyświetla argumenty na ekranie z wykorzystaniem składni wzorca input - umożliwia wprowadzenie danych przez użytkownika fscanf - pobiera wprowadzone argumenty z wykorzystaniem składni wzorca save - zapisuje zmienne do pliku load - odczytuje zmienne z pliku
4
Funkcje obsługi strumieni - przykłady
disp disp ("Wartosc liczby pi wynosi: "), disp (pi) input Funkcja powoduje wyświetlenie w oknie komend tekstu żądania danych i oczekiwanie na to aby użytkownik wprowadził z klawiatury wartość liczbową, która ma być przypisana zmiennej. liczba = input( ‘Podaj liczbe: ‘ ) > Podaj liczbe: Możliwe jest też wpisanie zamiast liczby – wyrażenia. nazwisko = input (‘Podaj swoje nazwisko: ‘,‘s’) > Podaj swoje nazwisko: (system czeka na wpisanie stringa)
5
Funkcje obsługi strumieni - przykłady
fprintf Funkcja ta pozwala wyprowadzać sformatowane wyniki wraz z objaśnieniami na ekran lub do pliku. fprintf(’opis_formatu’, lista_wyrazen) Funkcja fprintf pozwala zapisywać do pliku lub wyświetlać jednocześnie tekst i wartości zmiennych. Pozycję zmiennej w tekście określamy dedykowanym ciągiem znaków specjalnych zaczynającym się symbolem %. a = 1; fprintf(‘Wartosc zmiennej a wynosi %d”, a); Możliwe jest też określenie maksymalnej liczby wyświetlanych znaków części całkowitej i ułamkowej liczby, np.: fprintf(‘%4.2f”, a);
6
Funkcje obsługi strumieni - przykłady
save Jeśli pominiemy listę zmiennych to zapisane będą wszystkie z pamięci programu. Jeśli nie podamy rozszerzenia nazwy pliku to powstanie plik z rozszerzeniem domyślnym programu. Natomiast gdy damy rozszerzenie .txt to powstanie plik tekstowy. save plik lista_zmiennych load Wczytuje zmienne z pliku o podanej nazwie (z rozszerzeniem .m lub bez rozszerzenia – program traktuje taki plik jako swój). W przypadku rozszerzenia innego niż domyślny programu - plik traktowany jest jako plik ASCII. load nazwa_pliku
7
Funkcje obsługi strumieni - przykłady
fscanf Pobiera wprowadzone argumenty z wykorzystaniem składni wzorca, odczytuje po kolei następujące po sobie kolumny. fscanf(fid, format, size) - id — wskaźnik pliku - format — format odczytu (jak w plikach tekstowych) - size — [m,n] podaje liczbę m wierszy i n kolumn, które mają być odczytane
8
wykresy
9
Wykresy w Octave Podstawową funkcją umożliwiającą rysowanie wykresów jest plot(). Najprostsze wywołanie funkcji rysującej wykres: Polecenie plot(x) - dla wektora x otworzy nowe okno i w nim narysuje punkty (k,x(k)). Punkty mogą pozostać połączone prostymi w zależności od ustawienia domyślnych opcji Octave. Innym wywołaniem plot() pozwalającym np. na rysowanie wykresów jest plot(x,y) dla wektorów x,y tej samej długości. W tym przypadku Octave narysuje punkty (x(k),y(k)).
10
Wykresy w Octave - komendy
plot Tworzy dwuwymiarowy wykres semilogx Jak plot, tyle że oś odciętych jest logarytmiczna semilogy Jak plot, tyle że oś rzędnych jest logarytmiczna loglog Jak plot, tyle że obie osie są logarytmiczne stairs Rysuje wykres schodkowy bar Rysuje wykres słupkowy hist Rysuje histogram title Dodaje tytuł wykresu xlabel Opisuje oś odciętych ylabel Opisuje oś rzędnych legend Wyświetla legendę axis Ustawia zakresy skali na osiach wykresu grid [on/off] Włącza/wyłącza siatkę współrzędnych clf Czyści okno wykresu replot Odświeża (przerysowuje) bieżące okno wykresu hold [on/off] Włącza/wyłącza blokadę bieżącego wykresu figure Uaktywnia wybrane okno z wykresem lub tworzy nowe subplot Pozwala na utworzenie wielu okien z wykresami na jednym rysunku print Drukuje/zapisuje do pliku bieżący wykres
11
Przykładowy wykres 2D x = linspace(-pi, pi, 100); y = sin(x); plot(x, y); x = linspace(-pi, pi); plot(x, sin(x) + cos(2*x)/2, '+b'); axis([-pi, pi, -1.8, 1]); title('Wykres y(x)') legend('Dane z funkcji') xlabel('x'); ylabel('y');
12
Przykładowy wykres 2D
13
Przykładowy wykres 3D z = [0:0.05:5]; plot3(cos(2*pi*z), sin(2*pi*z), z, ";;"); title("Wykres"); xlabel("x"); ylabel("y"); zlabel("z"); x = linspace(-pi, pi, 20); [X, Y] = meshgrid(x); mesh(x, x, sin(X).*cos(Y));
14
Przykładowy wykres 3D
15
Struktury danych w octave
16
Struktury danych w Octave
Podstawową strukturą danych jest macierz. Częściami składowymi są również i struktury z notacją kropkową Standardowo liczby przechowywane są jako double (zakres < , > ). Octave posiada wbudowane stałe: liczbę π, jednostkę urojoną i, nieskończoność Inf, precyzję zmiennoprzecinkową eps oraz symbol nieoznaczony NaN (Not a Number).
17
Struktury danych w Octave - macierz
Macierz to dwuwymiarowa tablica o rozmiarach podawanych jako: liczba wierszy (N) x liczba kolumn (M) Macierze wprowadza się wierszami, oddzielając elementy przecinkami lub spacjami. Kolejne wiersze oddzielane są średnikami.
18
Macierz - przykład Macierz o rozmiarze 1x1: a = 7
Wektor – macierz o jednym wierszu lub kolumnie: a = [ ] a = [2; 3; 1; 0; 1] Macierz o rozmiarze 3x3: A = [1 2 3; 4 5 6; 7 8 9] Większe macierze można zbudować łącząc mniejsze jako składowe: C = [A;B] D = [ ;B]
19
Struktury danych w Octave - łańcuchy
Z łańcuchów korzysta się przy korzystaniu z funkcji oraz przy uzyskiwaniu wyników. Przy użyciu łańcucha formatującego, który podaje się przed listą elementów do wyświetlenia, można zadeklarować, które z wyświetlanych elementów są napisami, a które są liczbami. Łańcuchy to ciągi znaków, wprowadzane w apostrofach lub cudzysłowie: str1 = ”PŚk”; str2 = ’PKM’; Na łańcuchach można przeprowadzać operacje takie jak na macierzach. Tam, gdzie to konieczne, program dokona konwersji znaków na liczby (kody ASCII), np.: strAA = [str1; str2; ”Ala”] strBB = ["aaa"; "bbb"; "ccc"]
20
Zakresy, notacja kropkowa
Do każdego elementu macierzy można odwołać się osobno, np. mac2 = mac1(2,2) lub korzystając z notacji kropkowej. Definiowane w postaci a:b:c, gdzie a to początek, b to krok i c to koniec. Równoważne są wektorowi wierszowemu z tą różnicą, że ich wartości obliczane są tylko wtedy, kiedy jest to wymagane.
21
Notacja kropkowa - przykład
macierz = A (2 : 3 ; 4 : 5) Powyższy zapis oznacza macierz 2x2 składającej się elementów z drugiego i trzeciego wiersza oraz z czwartej i piątej kolumny macierzy, do której się odwołujemy.
22
Zakresy - przykład zakres1 = 1:10 zakres1 = 1 2 3 4 5 6 7 8 9 10
zakres2 = 1:2:20 zakres2 = a = 3:0.7:7 a =
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.