Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.