Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wprowadzenie do MATLABA Dr inż. Mirosław Kwiesielewicz Wydział Elektrotechniki i Automatyki Politechnika Gdańska.

Podobne prezentacje


Prezentacja na temat: "Wprowadzenie do MATLABA Dr inż. Mirosław Kwiesielewicz Wydział Elektrotechniki i Automatyki Politechnika Gdańska."— Zapis prezentacji:

1 Wprowadzenie do MATLABA Dr inż. Mirosław Kwiesielewicz Wydział Elektrotechniki i Automatyki Politechnika Gdańska

2 M. Kwiesielewicz. Wprowadzenie do MATLABA2 Funkcje środowiska MATLAB/SIMULINK MATLAB - ang. matrix laboratory Środowisko do obliczeń numerycznych n analiza numeryczna n operacje na macierzach n przetwarzanie sygnałów n prezentacja graficzna wyników n przyborniki (toolbox) z procedurami i funkcjami specyficznymi dla danej dziedziny nauki

3 M. Kwiesielewicz. Wprowadzenie do MATLABA3 Podstawowe informacje o pakiecie MATLAB n Pierwotnie napisany w FORTRANIE n Obecny MATLAB napisany w C przez firmę MathWorks n Możliwość tworzenia własnych procedur i funkcji n Możliwość dołączania procedur w języku C lub FORTRAN

4 M. Kwiesielewicz. Wprowadzenie do MATLABA4 ŚRODOWISKO MATLAB/SIMULINK MATLAB SIMULINK SIMULINK Extensions SIMULINK Accelerator Real-Time Workshop Bloksets MATLAB Extensions MATLAB Compiler MATLAB C Math Library Tollboxes Control System Communication Financial Frequency Domain System Identification Fuzzy Logic High-Order Spectral Analysis Image Processing LMI Control Model Predictive Control  -Analysis and Synthesis NAG  Foundation Neural Network Optimization Partial Differential Equations QFT Control Design Robust Control Signal Processing Spline Statistics Symbolic Math System Identification

5 M. Kwiesielewicz. Wprowadzenie do MATLABA5 Przyborniki 1 n The Signal Processing Toolbox - przetwarzanie sygnałów; projektowanie i analiza filtrów cyfrowych; estymacja widma (analiza FFT) n The Control System Toolbox - systemy sterowania i regulacji; odpowiedzi czasowe i częstotliwościowe układów; przekształcenie Laplace’a i Fouriera n Simulink - symulacja systemów dynamicznych

6 M. Kwiesielewicz. Wprowadzenie do MATLABA6 Przyborniki 2 n The System Identification Toolbox - identyfikacja; estymacja modeli n The Optimization Toolbox - zagadnienia optymalizacyjne z ograniczeniami n The Neural Network Toolbox - sieci neuronowe n The Robust-Control Toolbox - układy sterowania krzepkiego

7 M. Kwiesielewicz. Wprowadzenie do MATLABA7 Przyborniki 3 n The Fuzzy Logic Toolbox - logika rozmyta n The Genetic Algorithms Toolbox - optymalizacja z wykorzystaniem algorytmów genetycznych; nie jest to produkt firmy Mathworks n The Model Predictive Control Toolbox sterowanie predykcyjne Nowości:

8 M. Kwiesielewicz. Wprowadzenie do MATLABA8 Ścieżka dostępu n MATLAB wykorzystuje definicję ścieżki dostępu w celu znalezienia M-plików n M-pliki znajdują się w odpowiednio zorganizowanych katalogach i podkatalogach n Jeśli wprowadzimy pewną nazwę nazwa w linii MATLABA to interpretator linii poleceń wykona następujące czynności –Sprawdzi, czy nazwa jest zmienną –Sprawdzi, czy nazwa jest funkcją wbudowaną –Poszuka pliku nazwa.m w bieżącym katalogu –Przejrzy katalogi, zgodnie z stawioną ścieżką dostępu

9 M. Kwiesielewicz. Wprowadzenie do MATLABA9 Zmiana ścieżki dostępu n Można wyświetlić oraz zmienić ścieżkę dostępu na czas bieżącej sesji wykorzystując funkcje path, addpath i rmpath –polecenie path zwraca bieżące ustawienia –path(s), gdzie s łańcuchem ustawia ścieżkę zgodnie z s –addpath /home/lib oraz (path, ‘/home/lib’) dodają nową ścieżkę do istniejącej –rmpath /home/lib usuwa tą ścieżkę

10 M. Kwiesielewicz. Wprowadzenie do MATLABA10 Plik startowy - startup.m n W trakcie startu MATLAB automatycznie wykonuje plik matlabrc.m oraz startup.m o ile istnieje n Plik startup.m pozwala użytkownikowi na dokonanie własnych ustawień n Przykładowo w pliku startup.m można umieścić polecenie addpath /home/me/mytools n Plik ten na pececie należy umieścić w katalogu.../toolbox/local

11 M. Kwiesielewicz. Wprowadzenie do MATLABA11 Katalog bieżący n Do pracy z plikami *.M oraz *.MAT przyjęty jest bieżący katalog n Na pececie jest to katalog ustawiony w skrócie do wywołania MATLABA n Zmiany bieżącego katalogu na pececie można dokonać za pomocą polecenia cd n Wyświetlenie plików z danego katalogu dokonuje się poleceniem what

12 M. Kwiesielewicz. Wprowadzenie do MATLABA12 Przeglądarka ścieżek dostępu Menu>File>PathBrowser

13 M. Kwiesielewicz. Wprowadzenie do MATLABA13 System podpowiedzi n Polecenie help help magic n Okno help n Polecenie lookfor lookfor inverse n Dokumentacja na krążku lub sieci lokalnej n Dokumentacja książkowa n Strony WWW firmy Mathworks

14 M. Kwiesielewicz. Wprowadzenie do MATLABA14 Typy i nazwy zmiennych n MATLAB operuje tylko na jednym typie danych - na macierzach n Wektory i skalary są szczególnymi przypadkami macierzy, tzn. posiadającymi jeden wiersz lub/i jedną kolumnę n Nazwy zmiennych rozpoczynają się od litery, a następnie może wystąpić dowolna kombinacja liter, cyfr i znaków podkreślenia n Pamiętanych jest 19 pierwszych znaków

15 M. Kwiesielewicz. Wprowadzenie do MATLABA15 Nazwy i definicje zmiennych n MATLAB rozróżnia duże i małe litery w nazwach zmiennych oraz poleceń –polecenia standardowe należy pisać małymi literami –do nazywania własnych programów i zmiennych można używać małych i dużych liter n Definiowanie typu i wielkości zmiennej odbywa się automatycznie

16 M. Kwiesielewicz. Wprowadzenie do MATLABA16 Metody wprowadzania danych n konsola n generowane przez wewnętrzne lub zewnętrzne funkcje lub procedury n zbiory dyskowe

17 M. Kwiesielewicz. Wprowadzenie do MATLABA17 Wprowadzanie danych - skalar Skalar

18 M. Kwiesielewicz. Wprowadzenie do MATLABA18 Wprowadzanie danych - wektor Wektor

19 M. Kwiesielewicz. Wprowadzenie do MATLABA19 Wprowadzanie danych - macierz Macierz

20 M. Kwiesielewicz. Wprowadzenie do MATLABA20 Wprowadzanie danych - macierz Macierz

21 M. Kwiesielewicz. Wprowadzenie do MATLABA21 Wprowadzanie danych - macierz znakowa Macierz znakowa Uwaga: macierz abc jest wymiaru 3x3

22 M. Kwiesielewicz. Wprowadzenie do MATLABA22 Wprowadzanie danych - c.d. Szybkie tworzenie wektorów

23 M. Kwiesielewicz. Wprowadzenie do MATLABA23 Wprowadzanie danych - c.d. Szybkie tworzenie wektorów

24 M. Kwiesielewicz. Wprowadzenie do MATLABA24 Wprowadzanie danych - c.d. Szybkie tworzenie macierzy

25 M. Kwiesielewicz. Wprowadzenie do MATLABA25 Wprowadzanie danych - c.d. Obszerne polecenia

26 M. Kwiesielewicz. Wprowadzenie do MATLABA26 Wprowadzanie danych - c.d. Wektory i macierze zespolone

27 M. Kwiesielewicz. Wprowadzenie do MATLABA27 Wprowadzanie danych - funkcje specjalne Funkcje specjalne pi - generuje liczbę pi Inf - generuje symbol nieskończony „1/0” NaN- generuje symbol nieoznaczony „Inf/Inf” czy „0/0” Uwagi. Pojawienie się podczas obliczeń symboli „Inf”, czy „NaN” nie powoduje błędu i wartości te mogą być użyte do dalszych obliczeń. Rezultatem obliczeń z argumentem „NaN” będzie również „NaN”. „Inf” i „NaN” nie są interpretowane jako komendy graficzne.

28 M. Kwiesielewicz. Wprowadzenie do MATLABA28 Wprowadzanie danych - c.d. Generacja macierzy za pomocą zewnętrznej procedury W katalogu roboczym tworzymy plik tekstowy genmatC.m zawierający: C = [ ]; Wydanie polecenia >>genmatC spowoduje zdefiniowanie macierzy C.

29 M. Kwiesielewicz. Wprowadzenie do MATLABA29 Wprowadzanie danych Wczytywanie danych jako macierz W katalogu roboczym tworzymy plik tekstowy D.txt zawierający: Wydanie polecenia >>load D.txt spowoduje zdefiniowanie macierzy D.

30 M. Kwiesielewicz. Wprowadzenie do MATLABA30 Wprowadzanie danych Wczytywanie danych jako macierz - uwagi n W przedstawiony sposób można wczytywać tylko liczby rzeczywiste. n Liczby zespolone trzeba przedstawić w postaci dwóch liczb rzeczywistych, a po wczytaniu odtworzyć z nich liczbę zespoloną.

31 M. Kwiesielewicz. Wprowadzenie do MATLABA31 Reprezentacja danych w pamięci i na ekranie n Dane liczbowe w pamięci MATLABA –liczby rzeczywiste 8-bajtowe –liczby zespolone 16-bajtowe –znak 8-bajtów n Macierze mogą być pamiętane w formie –gęstej –rzadkiej

32 M. Kwiesielewicz. Wprowadzenie do MATLABA32 Polecenia dotyczące pamięci 1

33 M. Kwiesielewicz. Wprowadzenie do MATLABA33 Polecenia dotyczące pamięci 2

34 M. Kwiesielewicz. Wprowadzenie do MATLABA34 Przeglądarka pamięci Menu>File>ShowWorkSpace

35 M. Kwiesielewicz. Wprowadzenie do MATLABA35 Wymiary pojedynczej macierzy

36 M. Kwiesielewicz. Wprowadzenie do MATLABA36 Formaty liczb na konsoli Format można zmieniać poleceniem format >>format long e

37 M. Kwiesielewicz. Wprowadzenie do MATLABA37 Edycja linii komend

38 M. Kwiesielewicz. Wprowadzenie do MATLABA38 Zarządzanie przestrzenią roboczą 1 n Zwolnienie pamięci używanej przez zmienną >> v = [ ] n Usunięcie zmiennej z pamięci >> clear v n Po zwolnieniu pamięci jej konsolidacja >> pack n Zachowanie przestrzeni roboczej w pliku >> save zapis do pliku matlab.mat

39 M. Kwiesielewicz. Wprowadzenie do MATLABA39 Zarządzanie przestrzenią roboczą 2 n Zapisanie wybranych zmiennych do pliku >> save abc A B C n Zapisanie zmiennych w pliku tekstowym >> save abc.dat A -ascii n Zmiana katalogu >> cd path n Wyświetlenie plików związanych z MATLAem >> what path

40 M. Kwiesielewicz. Wprowadzenie do MATLABA40 Operacje na macierzach 1 Transpozycja macierzy

41 M. Kwiesielewicz. Wprowadzenie do MATLABA41 Operacje na macierzach 2 Transpozycja macierzy (wektora)

42 M. Kwiesielewicz. Wprowadzenie do MATLABA42 Operacje na macierzach 3 Transpozycja macierzy zespolonej

43 M. Kwiesielewicz. Wprowadzenie do MATLABA43 Operacje na macierzach 4 n Dodawanie i odejmowanie macierzy (+/-) zdefiniowane dla –dwóch macierzy tych samych wymiarów –macierzy i skalara; skalar dodawany (odejmowany) do (od) każdego elementu macierzy n Mnożenie macierzy (*) –dwóch macierzy o odpowiednich wymiarach –Macierzy przez skalar (mnożenie każdego elementu macierzy)

44 M. Kwiesielewicz. Wprowadzenie do MATLABA44 Operacje na macierzach 5 n Dzielenie macierzy – X = A\B jest rozwiązaniem układu A*X = B – X = B/A jest rozwiązaniem układu X*A = B – Dzielenie macierzy przez skalar (dzielenie każdego elementu macierzy) n Potęgowanie macierzy (^) Zdefiniowane dla macierzy kwadratowej w wykładnika skalarnego –dla k całkowitego k-krotne mnożenie –dla k rzeczywistego - rozkład na wartości własne

45 M. Kwiesielewicz. Wprowadzenie do MATLABA45 Indeksowanie macierzy i wektorów n Do pojedynczych indeksów można się odwoływać poprzez podanie indeksów w nawiasach zwykłych n Jeśli indeks jest wyrażeniem, to jest ono zaokrąglane do najbliższej liczby całkowitej

46 M. Kwiesielewicz. Wprowadzenie do MATLABA46 Indeksowanie macierzy 1 n Indeks może być również wektorem; elementy wektora wskazują wtedy wiersze i/lub kolumny, do których się odnosimy n Jeśli u i v są wektorami to A(u,v) generuje macierz, w której wiersze są wymienione w wektorze u, a kolumny w wektorze v.

47 M. Kwiesielewicz. Wprowadzenie do MATLABA47 Indeksowanie macierzy 2

48 M. Kwiesielewicz. Wprowadzenie do MATLABA48 Indeksowanie macierzy 3 Do całej kolumny lub wiersza można odwołać się używając w miejsce indeksu dwukropka

49 M. Kwiesielewicz. Wprowadzenie do MATLABA49 Indeksowanie macierzy 4 W celu usunięcia kolumn lub i wierszy - przyporządkowanie macierzy pustej

50 M. Kwiesielewicz. Wprowadzenie do MATLABA50 Indeksowanie macierzy 5 Permutacja wierszy lub/i kolumn - kolejność wierszy 3, 2 1

51 M. Kwiesielewicz. Wprowadzenie do MATLABA51 Indeksowanie macierzy 6 Permutacja wierszy lub/i kolumn - odwrotna kolejność

52 M. Kwiesielewicz. Wprowadzenie do MATLABA52 Indeksowanie macierzy - użycie „:”

53 M. Kwiesielewicz. Wprowadzenie do MATLABA53 Ekstrakcja podmacierzy

54 M. Kwiesielewicz. Wprowadzenie do MATLABA54 Funkcje modyfikujące i tworzące macierz n diag - tworzenie macierzy diagonalnej lub ekstrakcja głównej przekątnej n fliplr - ustrzanie odbicie macierzy w poziomie n flipud - lustrzane odbicie macierzy w pionie n reshape - zmiana rozmiarów macierzy n rot90 - obrót macierzy o 90 stopni n tril - ekstrakcja macierzy trójkątnej dolnej n triu - ekstrakcja macierzy trójkątnej górnej

55 M. Kwiesielewicz. Wprowadzenie do MATLABA55 Tworzenie macierzy specjalnych n compan - macierz stowarzyszona n gallery - kilka małych macierzy testowych n hadamard - macierz Hadamarda n hankel - macierz Hankela n hilb - macierz Hilberta n invhilb - macierz odwrotna Hilberta n kron - iloczyn tensorowy Koroneckera n magic - magiczny kwadrat n toeplitz - macierz Toeplitza n vander - macierz Vandermonde’a n wilkinson - macierz testowa Wilkinsona dla zagadnień własnych

56 M. Kwiesielewicz. Wprowadzenie do MATLABA56 Tworzenie innych użytecznych macierzy n zeros - macierz zer n ones - macierz jedynek n eye - macierz jednostkowa n rand - macierz losowa o rozkładzie równomiernym n randn - macierz losowa o rozkładzie normalnym n linspace - liniowo zmienny wektor n logspace - logarytmicznie zmienny wektor n meshgrid - tablice X i Y dla trójwymiarowych wykresów

57 M. Kwiesielewicz. Wprowadzenie do MATLABA57 Funkcje macierzowe n cond - wskaźnik uwarunkowania macierzy n rcond - estymator odwrotności uwarunkowania macierzy n norm - norma macierzy lub wektora n det - wyznacznik n trace - suma elementów diagonalnych n rank - rząd macierzy n null - jądro macierzy n orth - obraz macierzy

58 M. Kwiesielewicz. Wprowadzenie do MATLABA58 Układy równań liniowych n chol - dekompozycja Cholesky’ego n lu - dekompozycja LU n qr - dekompozycja QR n nnls - nieujemne najmniejsze kwadraty n lscov - najmniejsze kwadraty przy znanej kowariancji n inv - odwrotność macierzy n pinv - pseudoodwrotność macierzy

59 M. Kwiesielewicz. Wprowadzenie do MATLABA59 Wartości własne i szczególne n eig - wartości własne i wektory własne n poly - wielomian charakterystyczny n polyeig - wielomianowy problem własny n hess - macierz Hessenberga n qz - uogólnione wartości własne n schur - dekompozycja Shur’a n svd - dekompozycja według wartości szczególnych

60 M. Kwiesielewicz. Wprowadzenie do MATLABA60 Operacje na tablicowe na macierzach n Dostępne są operacje.*./.\.^, które wykonuje się element po elemencie macierzy n Macierze muszą być tych samych wymiarów n W przypadku mnożenia liczby przez macierz przed kropką powinna wystąpić spacja, np..: z = 2.^[x y] n Dodawanie i odejmowanie tablicowe są zdefiniowane tak samo jak dla macierzy.

61 M. Kwiesielewicz. Wprowadzenie do MATLABA61 Mnożenie tablicowe

62 M. Kwiesielewicz. Wprowadzenie do MATLABA62 Dzielnie tablicowe./ (prawe) Ilorazy elementów z tablic c i a o tych samych indeksach

63 M. Kwiesielewicz. Wprowadzenie do MATLABA63 Dzielenie tablicowe.\ (lewe)

64 M. Kwiesielewicz. Wprowadzenie do MATLABA64 Mnożenie i dzielenie przez skalar

65 M. Kwiesielewicz. Wprowadzenie do MATLABA65 Potęgowanie tablicowe.^

66 M. Kwiesielewicz. Wprowadzenie do MATLABA66 Potęgowanie tablicowe.^ (skalary)

67 M. Kwiesielewicz. Wprowadzenie do MATLABA67 Operacje relacyjne i logiczne n większy n >=większy bądź równy n ==równy n ~=różny n &logiczne and n |logiczne or n ~logiczne not

68 M. Kwiesielewicz. Wprowadzenie do MATLABA68 Operacje relacyjne i logiczne - przykład

69 M. Kwiesielewicz. Wprowadzenie do MATLABA69 Operacje logiczne - przykład

70 M. Kwiesielewicz. Wprowadzenie do MATLABA70 Funkcje relacyjne i logiczne n exist - prawda, jeśli funkcja albo zmienna jest zdefiniowana n any - prawda, jeśli którykolwiek z elementów wektora jest prawdziwy n all - prawda, jeśli wszystkie elementy wektora są prawdziwe n find - znajduje indeksy elementów niezerowych n isnan - prawda dla NaN n isinf - prawda dla elementów nieskończonych n finite - prawda dla elementów skończonych n isempty - prawda dla macierzy pustej n isreal - prawda dla macierzy rzeczywistej n issparse - prawda dla macierzy rzadkiej n isstr - prawda dla macierzy tekstowej n isglobal - prawda dla zmiennej globalnej

71 M. Kwiesielewicz. Wprowadzenie do MATLABA71 Funkcje trygonometryczne n sin - sinus n cos - cosinus n tan - tangens n asin - arcus sinus n acos - arcus cosinus n atan - arcus tangens n atan2 - arcus tanges w czterech ćwiartkach n sinh - sinus hiperboliczny n cosh - cosinus hiperboliczny n tanh - tangens hiperboliczny n asinush - arcus sinus hiperboliczny n acosh - arcus cosinus hiperboliczny n atanh - arcus tangens hiperboliczny

72 M. Kwiesielewicz. Wprowadzenie do MATLABA72 Funkcje elementarne n abs - wartość bezwzględna n angle - faza n conj - sprzężenie n imag - część urojona n real - część rzeczywista n fix - zaokrąglenie w kierunku 0 n floor zaokrąglenie w kierunku -  n ceil - zaokrąglenie w kierunku +  n round - zaokrąglenie do najbliższej całkowitej n rem - reszta z dzielenia n sign - znak n exp - funkcja wykładnicza n log - logarytm naturalny n log10 - logarytm dziesiętny n sqrt - pierwiastek kwadratowy

73 M. Kwiesielewicz. Wprowadzenie do MATLABA73 Funkcje specjalne 1 n besselj - funkcja Bessela pierwszego rodzaju n bessely - funkcja Bessela drugiego rodzaju n besseli - zmodyfikowana funkcja Bessela pierwszego rodzaju n besselk - zmodyfikowana funkcja Bessela drugiego rodzaju n beta - funkcja beta n ellipj - eliptyczne funkcje Jakobiego n ellipke - pełna całka eliptyczna n erf - funkcja błędu

74 M. Kwiesielewicz. Wprowadzenie do MATLABA74 Funkcje specjalne 2 n gamma - funkcja Gamma n gcd - największy wspólny podzielnik n lcm - najmniejsza wspólna wielokrotność n rat - aproksymacja ułamkiem n cart2sph - zmiana współrzędych z kartezjańskich na sferyczne n cart2pool - zmiana współrzędych z kartezjańskich na polarne n pool2cart - zmiana współrzędych z polarnych na kartezjańskie n sph2cart - zmiana współrzędych ze sferycznych na kartezjańskie

75 M. Kwiesielewicz. Wprowadzenie do MATLABA75 Wielomiany n roots - pierwiastki wielomianu n poly - wielomian na podstawie pierwiastków n polyval - wartość wielomianu n polyvalm - wartość wielomianu w sensie macierzowym n residue - rozkład na ułamki proste n polyfit - dopasowanie wielomianu do danych n polyder - pochodna wielomianu n conv - mnożenie wielomianów n deconv - dzielenie wielomianów

76 M. Kwiesielewicz. Wprowadzenie do MATLABA76 Operacje podstawowe i interpolacja n max - element maksymalny n min - element minimalny n mean - średnia n median - mediana n std - odchylenie standardowe n sort - sortowanie w porządku rosnącym n sum - suma n prod - iloczyn n interp1 - 1-wymiarowa interpolacja n interp2 - 2-wymiarowa interpolacja n interpft - interpolacja z wykorzystaniem FFT n spline - interpolacja przy pomocy splajnów

77 M. Kwiesielewicz. Wprowadzenie do MATLABA77 Filtrowanie sygnałów i transformata Fouriera n filter - 1-wymiarowy filtr cyfrowy n filter2 - 2-wymiarowy filtr cyfrowy n fft - szybka transformata Fouriera n fft2 - 2-wymiarowa szybka transformata Fouriera n ifft - odwrotna szybka transformata Fouriera n ifft2 - odwrotna 2-wymiarowa szybka transformata Fouriera

78 M. Kwiesielewicz. Wprowadzenie do MATLABA78 Operacje na funkcjach n fmin - minimalizacja funkcji jednej zmiennej n fmins - minimalizacja funkcji wielu zmiennych n fzero - miejsca zerowe funkcji jednej zmiennej


Pobierz ppt "Wprowadzenie do MATLABA Dr inż. Mirosław Kwiesielewicz Wydział Elektrotechniki i Automatyki Politechnika Gdańska."

Podobne prezentacje


Reklamy Google