Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wprowadzenie do MATLABA

Podobne prezentacje


Prezentacja na temat: "Wprowadzenie do MATLABA"— Zapis prezentacji:

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

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

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

4 ŚRODOWISKO MATLAB/SIMULINK
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 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 MATLAB SIMULINK SIMULINK Extensions SIMULINK Accelerator Real-Time Workshop Bloksets M. Kwiesielewicz. Wprowadzenie do MATLABA

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

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

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

8 Ścieżka dostępu MATLAB wykorzystuje definicję ścieżki dostępu w celu znalezienia M-plików M-pliki znajdują się w odpowiednio zorganizowanych katalogach i podkatalogach 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 M. Kwiesielewicz. Wprowadzenie do MATLABA

9 Zmiana ścieżki dostępu
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ę M. Kwiesielewicz. Wprowadzenie do MATLABA

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

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

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

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

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

15 Nazwy i definicje zmiennych
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 Definiowanie typu i wielkości zmiennej odbywa się automatycznie M. Kwiesielewicz. Wprowadzenie do MATLABA

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

17 Wprowadzanie danych - skalar
M. Kwiesielewicz. Wprowadzenie do MATLABA

18 Wprowadzanie danych - wektor
M. Kwiesielewicz. Wprowadzenie do MATLABA

19 Wprowadzanie danych - macierz
M. Kwiesielewicz. Wprowadzenie do MATLABA

20 Wprowadzanie danych - macierz
M. Kwiesielewicz. Wprowadzenie do MATLABA

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

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

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

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

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

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

27 Wprowadzanie danych - 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. M. Kwiesielewicz. Wprowadzenie do MATLABA

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

29 Wprowadzanie danych Wczytywanie danych jako macierz
W katalogu roboczym tworzymy plik tekstowy D.txt zawierający: 1 0 2 0 3 0 4 0 5 Wydanie polecenia >>load D.txt spowoduje zdefiniowanie macierzy D. M. Kwiesielewicz. Wprowadzenie do MATLABA

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

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

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

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

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

35 Wymiary pojedynczej macierzy
M. Kwiesielewicz. Wprowadzenie do MATLABA

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

37 Edycja linii komend M. Kwiesielewicz. Wprowadzenie do MATLABA

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

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

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

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

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

43 Operacje na macierzach 4
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 Mnożenie macierzy (*) dwóch macierzy o odpowiednich wymiarach Macierzy przez skalar (mnożenie każdego elementu macierzy) M. Kwiesielewicz. Wprowadzenie do MATLABA

44 Operacje na macierzach 5
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) 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 M. Kwiesielewicz. Wprowadzenie do MATLABA

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

46 Indeksowanie macierzy 1
Indeks może być również wektorem; elementy wektora wskazują wtedy wiersze i/lub kolumny, do których się odnosimy 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. M. Kwiesielewicz. Wprowadzenie do MATLABA

47 Indeksowanie macierzy 2
M. Kwiesielewicz. Wprowadzenie do MATLABA

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

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

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

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

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

53 Ekstrakcja podmacierzy
M. Kwiesielewicz. Wprowadzenie do MATLABA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Pobierz ppt "Wprowadzenie do MATLABA"

Podobne prezentacje


Reklamy Google