Faculty of Economic Sciences, University of Warsaw Warsaw, 09-03-2017
Generowanie liczb losowych rand(1) rand(1) generuje liczbę losową z przedziału (0,1) Jak można uzyskać liczby losowe z przedziału 1 (0,2) 2 (0,100) 3 (1,2) 4 (-1,1)? Jak można zasymulować rzut standardową a) monetą b) kostką?
Liczby w rzeczywistości i w komputerze Liczby rzeczywiste w matematyce Mogą być nieskończenie duże Mają nieskończenie dobrą rozdzielczość Liczby w komputerze - skończona pamięć Górna granica dla wielkich liczb Dolna granica ( rozdzielczość ) modułu liczb różnych od zera Funkcja pi zwraca tylko przbliżenie liczby π Liczba liczb przetwarzanych przez Matlaba jest skończona Źródło: Introduction to Programming with MATLAB
Typy zmiennych w Matlabie Źródło: Introduction to Programming with MATLAB 1 Zmienne liczbowe double - podwójna precyzja 64 bity= 8 bajtów single - pojedyncza precyzja 32 bity całkowitoliczbowe ze znakiem - int8, int16, int32, int64 bez znaku - uint8, uint16, uint32, uint64 2 Zmienne logiczne przyjmujące wartości true oraz false - logical 3 Zmienne tekstowe/łańcuchowe zmienne typu char i zmienne typu string 4 Struktury 5 Macierze komórkowe
Struktury 1 Macierze muszą być homogeniczne nie mogą składać się z elementów różnych typów 2 Struktury mogą być heterogeniczne mogą zawierać dane różnych typów 3 Struktura jest odmienna od macierzy pola a nie elementy nazwy pól a nie indeksy pola w tej samej strukturze mogą mieć różne typy Źródło: Introduction to Programming with MATLAB
Tworzenie struktur student.imie = Adam ; student.nazwisko = Nowak ; student.indeks = 222222; student(2).imie = Ewa ; student(2).nazwisko = Kowalska ; student(2).indeks = 333333; student(3) = struct( imie, Krzysztof,... nazwisko, Malinowski,... indeks, 111111 );
Macierze komórkowe Macierze komórkowe są potężnym narzędziem do przechowywania danych/zmiennych różnych typów. 1 Są używane częściej niż struktury. 2 komorkowa={1, Adam,3,true} Dostęp do informacji zawartych w komórkach macierzy 1 komorkowa{1, 1} - zwróci liczbę 1 2 komorkowa(1,1) - zwróci liczbę macierz komórkową wymiaru 1x1 zawierającą liczbę 1 Źródło: Introduction to Programming with MATLAB
Funkcje polimorficzne 1 Polecenie xlsread( filename ) num=xlsread( filename ) 2 Polecenie xlsread() jest funkcją polimorficzną num=xlsread( filename ) [num,txt]=xlsread( filename ) [num,txt,raw]=xlsread( filename ) [,, raw]=xlsread( filename ) Źródło: Introduction to Programming with MATLAB
Import i eksport danych w formacie Mat-pliku 1 utworzyć folder o nazwie Cw3 na dysku C 2 ustawić ścieżkę dostępu do tego folderu 3 wygenerować macierz K o wartościach losowych z (0,10) 4 zapisać macierz poleceniem save( K.mat, K) 5 wyczyścić pamięć podręczną MATLAB-a 6 wczytać macierz K poleceniem load( K.mat )
Import danych z Excela 1 num = xlsread(filename) wczytuje dane liczbowe z pierwszego arkusza pliku o nazwie filename 2 num = xlsread(filename,sheet) wczytuje dane z określonego arkusza. 3 num = xlsread(filename,xlrange) wczytuje dane liczbowe z pierwszego arkusza pliku o nazwie filename z określonego zakresu, np.: A1:C3. 4 num = xlsread(filename,sheet,xlrange) wczytuje dane liczbowe z określonego pliku, arkusza i zakresu 5 num = xlsread(filename,sheet,xlrange, basic ) - jeśli Excel nie jest zainstalowany na komputerze 6 [num,txt,raw] = xlsread( ) wczytuje osobno liczby i teksty oraz wszystko do macierzy komórkowej 7 = xlsread(filename,-1) otwiera okno Excela i pozwala interaktywnie wybierać dane Obsługiwane formaty XLS, XLSX, XLSM, XLTX, i XLTM. Źródło: http://www.mathworks.com/help/matlab/ref/xlsread.html
Wczytanie danych 1 Ściągnąć dane ze strony internetowej 2 wczytać dane z pliku Plik1.xls 3 wczytać dane z pliku Plik2.xlsx 4 przemnożyć oba zbiory danych przez 2 i zapamiętać pod nazwą Plik12 oraz Plik22
Eksportowanie danych do Excela 1 xlswrite(filename,a) zapisuje macierz A do pierwszego arkusza pliku Excela zaczynając od komórki A1. 2 xlswrite(filename,a,sheet) zapisuje macierz A do określonego arkusza. 3 xlswrite(filename,a,xlrange) zapisuje macierz A do pierwszego arkusza w pliku o nazwie filename z określonego zakresu, np.: A1:C3. 4 xlswrite(filename,a,sheet,xlrange) zapisuje macierz A do arkusza w pliku o nazwie filename z określonego zakresu, np.: A1:C3. 5 status = xlswrite( ) kiedy zapis zakończył się sukcesem, to 1, inaczej 0. 6 [status,message] = xlswrite( ) dodatkowo zwraca tekst informacji o powodzeniu zapisu. Źródło: http://www.mathworks.com/help/matlab/ref/xlswrite. html?s$_$tid=srchtitle
Eksportowanie danych do Excela 1 Zapisz Plik12 jako Macierz3.xls 2 Zapisz Plik22 jako Macierz4.xlsx
Importowanie danych z innych formatów 1 A = importdata(filename) wczytuje dane do macierzy A. 2 A = importdata( -pastespecial ) wczytuje dane do MATLAB-a ze schowka. 3 A = importdata(,delimiterin) wczytuje dane, które oddzielone są separatorem określonym przez delimiterin. 4 A = importdata(,delimiterin,headerlinesin) headerlinesin określa liczbę wierszy z nagłówkami. 5 [A,delimiterOut,headerlinesOut] = importdata( ) oprócz danych A zwraca także znak separatora oraz nagłówki.
Łańcuchy 1 Wprowadzanie zmiennej tekstowej x= slowo 2 Łączenie tekstów [ Imie i, Nazwisko ] 3 Tworzenie macierzy z tekstów [ tekst1 ; tekst2 ; tekst3 ] [ imie ; nazwisko ; nr indeksu ] str2mat( imie, nazwisko, nr indeksu )
Łańcuchy - ćwiczenia Utworzyć macierz zawierającą imiona Adam, Henryk, Juliusz, Tomasz, Witold wektor [ 1 2 3 4 5 ] Utwórz macierz P = Podpowiedź:. vs {. } 1. Adam 2. Henryk 3. Juliusz 4. Tomasz 5. Witold
Funkcja eval Funkcja eval wykonuje polecenie zapisane jako tekst. eval( 1+1 ) eval( x=2 ) eval( Hello ) eval( y=sin(pi/2) )
Przykłady wykorzystania poleceń z zajęć nr 3 1 analiza częstotliwości słów wczytywanie plików tekstowych określanie częstości wystąpień słów 2 analiza obrazów Wykład: Analiza sygnałów, Wydział Fizyki UW 3 analiza plików dźwiękowych analizator widma tematyka zaawansowana ewentualne zajęcia z MATLAB-a II