MatLab część I - vistula.pk.edu.plvistula.pk.edu.pl/IPP/MatLab1.pdf · binarnego matlab.mat w...

27
1 MatLab część I

Transcript of MatLab część I - vistula.pk.edu.plvistula.pk.edu.pl/IPP/MatLab1.pdf · binarnego matlab.mat w...

  • 1

    MatLabczęść I

  • 2

    Zanim zaczniemy – GNU Octave

  • 3

    Zanim zaczniemy – GNU Octave

  • 4

    Zanim zaczniemy – GNU Octave

  • 5

    Środowisko MatLab-aMatLab — ang. MATrix LABoratoryObliczenia numeryczne i symboliczne

    operacje na macierzachgraficzna prezentacja danych (wykresy)metody numeryczneoperacje symboliczneprzetwarzanie sygnałówprzyborniki (toolboxes)

  • 6

    Elementy okna MatLab-a

    katalog bieżącyCurrent Directory

    katalog bieżącyCurrent Directory

    przestrzeń robocza

    Workspace

    historia poleceńCommand History

    okno poleceńCommand Window

  • 7

    Elementy okna MatLab-a

  • 8

    Elementy okna MatLab-a

  • 9

    Elementy okna MatLab-a

  • 10

    Elementy okna MatLab-a

  • 11

    Podpowiedzi w oknie poleceńPolecenie help wyświetla skrypt pomocyW przypadku konkretnego polecenia piszemy: help nazwa_polecenia . Polecenie to wyświetla całą zawartość nagłówka skryptu (m-pliku) definiującego dane poleceniePolecenie lookfor słowo_kluczowe szuka podanego słowa w pierszej linii nagłówka (linii H1) wszystkich dostępnych m-plikówZachęcam do używania polecenia help! Zazwyczaj w nagłówkach m-plików dosyć obszernie opisane są składnie zdefiniowanych w nich funkcji

  • 12

    Podpowiedzi w oknie poleceń

  • 13

    Format liczb w oknie poleceńStandardowo liczby są wyświetlane w formacie krótkim Format zmieniamy poleceniem format nazwa_formatuFormaty:

    short – krótki – 0.0023short e – krótki zmiennoprzecinkowy – 2.3421e-003long – długi – 0.00234213145623 (14 znaków po znaku dziesiętnym)long e – długi zmiennoprzecinkowy – 2.34213145623134e-003bank – walutowy – 1.27 (dwa miejsca po przecinku)rat – ułamkowy

    Więcej: help format

  • 14

    Jak działa MatLab?MatLab działa jak interpreter języka linii poleceńJeśli w linii poleceń wpiszemy pewien ciąg znaków, np. bleble, to interpreter wykona następujące działania:

    Sprawdzi, czy bleble jest nazwą zmiennejSprawdzi, czy bleble jest nazwą wbudowanej funkcjiPoszuka pliku (skryptu) bleble.m w bieżącym kataloguPoszuka pliku (skryptu) bleble.m w katalogach podanych ścieżkami dostępu

    M-pliki (pliki o rozszerzeniu *.m) zawierają skrypty (zbiory poleceń) lub definicje funkcji

  • 15

    Katalog bieżącyUstawiony jest w skrócie wywołania MatLab-a, w okienku Rozpocznij wNajczęściej ma on nazwę work

    katalog bieżący

  • 16

    Katalog bieżący – c.d.Jeśli nie podamy ścieżki dostępu, to tam są zapisywane i poszukiwane m- i mat-pliki (pliki *.m oraz *.mat)Zmianę bieżącego katalogu wykonujemy poleceniem cd jakaś_ścieżka_dostępuSamo polecenie cd podaje ścieżkę dostępu aktualnego katalogu bieżącegoZawartość katalogu bieżącego (m- i mat-pliki) wyświetla się poleceniem what

  • 17

    Ścieżki dostępuAktualne ustawienie ścieżek dostępu uzyskuje się za pomocą polecenia pathNową ścieżkę dodaje się poleceniem addpath ścieżka_dostępu oraz w postaci funkcyjnej: (path, 'ścieżka_dostępu') – w drugim przypadku ścieżka dostępu podana w apostrofach!Ścieżkę usuwa się poleceniem rmpath ścieżka_dostępu . Postać funkcyjna analogiczna jak w przypadku addpath

  • 18

    Ścieżki dostępu – c.d.Można też posłużyć się przeglądarką:

    Menu>File>SetPath

  • 19

    Przestrzeń roboczaJest to obraz części pamięci operacyjnej obsługującej program MatLabZawiera wyszczególnienie wszystkich zmiennych i ich opisZmienną np. a usuwamy z pamięci poleceniem clear a . Całą pamięć czyścimy poleceniem clearPrzestrzeń roboczą konsoliduje polecenie packPolecenie who wypisuje w oknie poleceń zawartość przestrzeni roboczej (tylko nazwy zmiennych); polecenie whos podaje również rozmiary zmiennych, liczbę zajmowanych przez nie bajtów i ich klasę

  • 20

    Przestrzeń robocza – zapis do pliku

    Polecenie save zapisuje przestrzeń roboczą do pliku binarnego matlab.mat w bieżącym katalogu. Podczas zamykania sesji roboczej zapis następuje automatyczniePojedyncze zmienne (np. a b) można zapisać poleceniem save a bPolecenie save nazwa_pliku zapisuje przestrzeń roboczą do pliku o podanej nazwie. Rozszerzenie *.mat dodawane jest automatycznie. W nazwie można podać jeszcze dodatkowo ścieżkę dostępu, inną niż katalogu bieżącegoZapis do pliku tekstowego wymuszamy opcją -ASCIIWięcej na ten temat: help save

  • 21

    Przestrzeń robocza – odczyt z pliku

    Podczas otwarcia sesji roboczej następuje automatyczny odczyt pliku matlab.mat z bieżącego katalogu. Odczyt ten można wymusić poleceniem load Pojedyncze zmienne odczytujemy poleceniem load a bInne pliki odczytujemy poleceniem load nazwa_pliku . W nazwie pliku możemy podać dodatkowo ścieżkę dostępu. W przypadku, gdy rozszerzenie jest inne niż *.mat plik traktowany jest jako plik ASCII (tekstowy)Można wymusić opcję odczytu parametrami -MAT lub -ASCII, niezależnie od rozszerzenia Więcej na ten temat: help load

  • 22

    Inne typy plików danychDane separowane przecinkiem (ang.: Comma Separated Values — CSV). Odczyt: csvread. Zapis: csvwrite. Więcej: help itd.Dane separowane znakiem (ang.: delimiter). Odczyt: dlmread. Zapis: dlmwrite. Więcej: help itd.Dane ze skoroszytu Excela. Odczyt: xlsread. Zapis: xlswrite. Więcej: help itd.Pliki tekstowe ogólnego formatu – dowolny plik tekstowy. Tylko odczyt: textscan. Jest to najbardziej elastyczny format odczytu danych z pliku, więc więcej o nim na następnym wykładzie!UWAGA!: tak nie da się wczytać liczb zespolonych – trzeba wczytać osobno Re i Im i z nich skonstruować liczby zespolone

  • 23

    Zmienne i ich nazwyNazwy zmiennych tworzy się z kombinacji liter i cyfr oraz znaku podkreślenia, zaczynając od litery.Rozróżniane są małe i wielkie litery! Tzn. Zmienna A to nie to samo, co zmienna a.Typ zmiennej dobierany jest automatycznie do wyniku działania lub przypisania wartości.Jeśli nie podamy nazwy zmiennej, do której zwracany ma być wynik działania, to przechowany będzie w zmiennej standardowej o nazwie ans.

  • 24

    Typy zmiennychPostawowym typem zmiennych są macierze.Formalnie macierzami są też wektory (macierz jednowymiarowa: tylko 1 wiersz lub tylko 1 kolumna) i skalary (pojedyncza liczba czyli macierz zerowymiarowa: 1 wiersz × 1 kolumna).Można tworzyć macierze więcej niż dwuwymiarowe poprzez np. tworzenie macierzy (wektorów), których elementami są macierze (wektory).Przydatne dla tworzenia takich struktur jest polecenie cat, np.: a=cat(3,[1,2,3;4,5,6],[7,8,9;10,11,12])Parametr 3 oznacza, że łączenie macierzy odbywa się wzdłuż trzeciego wymiaru – w rezultacie z dwu macierzy 2×3 otrzymujemy macierz 2×3×2

  • 25

    Pozostałe typy zmiennychNowsze wersje MatLaba pozwalają na tworzenie bogatszych struktur danych, niż tylko macierze.Pozostałe typy zmiennych:

    wektory komórkowe (cell arrays) – wektory, których komórki mogą zawierać dane różnego typu; więcej na ten temat: help cellstruktury – obiekty podobne do struktur języka C lub rekordów języka Pascal, czyli obiekty przechowujące kilka wartości (mogą być różnych typów) w polach, do których odwołujemy się poprzez ich nazwyobiekty – struktury zawierające zarówno dane jak i funkcje (metody) – pozwala to na projektowanie obiektowe w MatLabie

  • 26

    Standardowe stałeW MatLabie zdefiniowanych jest kilka funkcji zwracających wartości, które możemy traktować jak stałe:

    pi – wartość liczby niewymiernej πeps – wartość najmniejszej liczby, która dodana do 1 da wartość >1 (u nas: 2.2204e-016)realmax – wartość największej dostępnej liczby zmiennoprzecinkowej (u nas: 1.7977e+308)realmin – wartość najmniejszej dostępnej liczby zmiennoprzecinkowej (u nas: 2.2251e-308)Inf – wartość symboliczna nieskończoności (jak np. wynik dzielenia przez 0 – nie dostajemy błędu!)NaN – wartość nieokreślona (jak np. wynik dzielenia 0 przez 0 – nie dostajemy błędu!)i oraz j – symbole urojone (wynik działania: sqrt(-1) )

  • 27

    Standardowe stałe

    Slajd 1Slajd 2Slajd 3Slajd 4Slajd 5Slajd 6Slajd 7Slajd 8Slajd 9Slajd 10Slajd 11Slajd 12Slajd 13Slajd 14Slajd 15Slajd 16Slajd 17Slajd 18Slajd 19Slajd 20Slajd 21Slajd 22Slajd 23Slajd 24Slajd 25Slajd 26Slajd 27