MATLAB. Leksykon kieszonkowy

Podobne dokumenty
Rozdział 1. Pierwsze kroki w MATLAB-ie Rozdział 2. Grafika w MATLAB-ie Wykresy dwu- i trójwymiarowe 25 Wykorzystanie gotowych rysunków 36

Wprowadzenie do Scilab: macierze

MATLAB - laboratorium nr 1 wektory i macierze

Wprowadzenie do Scilab: macierze

Wprowadzenie do Scilab: macierze

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

Smarty PHP. Leksykon kieszonkowy

Modelowanie danych hodowlanych

MATLAB. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski

Obliczenia w programie MATLAB

Metody i analiza danych

Wprowadzenie do środowiska

Algebra macierzy

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

Podstawowe struktury danych Tablice, macierze. LABORKA Piotr Ciskowski

Macierze. Rozdział Działania na macierzach

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Języki Modelowania i Symulacji

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Symulacja obliczeń kwantowych

Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

III TUTORIAL Z METOD OBLICZENIOWYCH

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wykład 4. Matlab cz.3 Tablice i operacje na tablicach

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Wprowadzenie do pakietów MATLAB/GNU Octave

Podstawowe operacje na macierzach

5. Rozwiązywanie układów równań liniowych

Matlab - zastosowania Matlab - applications. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

Matematyka z komputerem dla gimnazjum

AUTOMATYZACJA OBLICZEŃ INŻYNIERSKICH. Dr hab. inż. Jacek Kucharski, prof. PŁ Dr inż. Piotr Urbanek

Dostawa oprogramowania. Nr sprawy: ZP /15

BIBLIOTEKA NUMPY, CZĘŚĆ 1

Metody numeryczne Wykład 4

3. Macierze i Układy Równań Liniowych

WPROWADZENIE DO ŚRODOWISKA SCILAB

d) Definiowanie macierzy z wykorzystaniem funkcji systemu Matlak

Tworzenie macierzy pełnych Generowanie macierzy pełnych Funkcje przekształcające macierze pełne

MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli!

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Metody optymalizacji - wprowadzenie do SciLab a

Metody numeryczne II. Układy równań liniowych

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Układy równań liniowych. Krzysztof Patan

MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Zakłócenia w układach elektroenergetycznych LABORATORIUM

MATLAB i Simulink : poradnik użytkownika / Bogumiła Mrozek, Zbigniew Mrozek. Wyd. 4. Gliwice, cop Spis treści. Przedmowa 13

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

A A A A A A A A A n n

Wykład 14. Elementy algebry macierzy

Wykład 4. Matlab cz.3 Tablice i operacje na tablicach

AutoCAD Pierwsze kroki

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

Rozwiązywanie układów równań liniowych

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Matlab Składnia + podstawy programowania

3. Wykład Układy równań liniowych.

UKŁADY RÓWNAŃ LINIOWYCH - Metody dokładne

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Analiza numeryczna Lista nr 3 (ćwiczenia) x x 2 n x.

Definicja macierzy Typy i właściwości macierzy Działania na macierzach Wyznacznik macierzy Macierz odwrotna Normy macierzy RACHUNEK MACIERZOWY

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w Uczelni ,5 1

DB Algebra liniowa semestr zimowy 2018

Elementy metod numerycznych - zajęcia 9

01.Wprowadzenie do pakietu MATLAB

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

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

Numeryczna algebra liniowa

Wartości i wektory własne

Ekoenergetyka Matematyka 1. Wykład 3.

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

0 + 0 = 0, = 1, = 1, = 0.

UKŁADY RÓWNAŃ LINIOWYCH -Metody dokładne

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

i proste algorytmy numeryczne LABORKA Piotr Ciskowski

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Wprowadzenie do systemu Scilab

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

Zaawansowane metody numeryczne

Ćwiczenie 3: Wprowadzenie do programu Matlab

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

PRZYK ADOWY ROZDZIA Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl IDZ DO KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE ONOWOŒCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREŒCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE MATLAB. Leksykon kieszonkowy Autorzy: Bogumi³a Mrozek, Zbigniew Mrozek ISBN: 83-7361-969-0 Format: B6, stron: 176 Matlab to uniwersalne œrodowisko do obliczeñ matematycznych. Wykorzystywany jest na uczelniach, w instytutach badawczych, laboratoriach i wszêdzie tam, gdzie niezbêdne jest narzêdzie umo liwiaj¹ce przeprowadzenie skomplikowanych dzia³añ matematycznych i przedstawienie ich wyników w formie graficznej. Dziêki ponad 500 funkcjom Matlaba mo na zastosowaæ miêdzy innymi do obliczeñ numerycznych, wyznaczania transformat Fouriera, przeprowadzania operacji na macierzach, wielomianach i równaniach ró niczkowych. Wyniki obliczeñ mo na zaprezentowaæ w postaci wykresów dwu- i trójwymiarowych. Jêzyk Matlaba pozwala na tworzenie specjalizowanych aplikacji z interfejsami graficznymi. Mechanizm pakietów narzêdziowych nosz¹cych nazwê Toolbox umo liwia rozbudowê mo liwoœci œrodowiska o dodatkowe funkcje. Matlab. Leksykon kieszonkowy to podrêczne omówienie najwa niejszych funkcji jêzyka Matlab i elementów œrodowiska. Opisuje sk³adniê poleceñ, przyk³ady ich zastosowania oraz sposoby realizacji obliczeñ za ich pomoc¹. Przedstawia metody tworzenia i uruchamiania aplikacji oraz M-plików i mo liwoœci oferowane przez mechanizm rozszerzeñ. W ksi¹ ce omówiono równie pakiety Toolbox dla Matlaba i Simulinka. Wprowadzanie poleceñ Praca z plikami Tworzenie wykresów i elementów graficznych Funkcje i operatory matematyczne Korzystanie z M-plików Operacje na macierzach Przeprowadzanie obliczeñ numerycznych Rozbudowywanie mo liwoœci Matlaba Korzystanie z pakietu Simulink

Spis treści Wstęp... 5 Rozdział 1. Pierwsze kroki w MATLAB-ie... 7 Rozdział 2. Grafika w MATLAB-ie... 25 Wykresy dwu- i trójwymiarowe 25 Wykorzystanie gotowych rysunków 36 Rozdział 3. Matematyka i wyrażenia logiczne...40 Funkcje i operatory 40 Relacje i wyrażenia logiczne 45 Rozdział 4. Programowanie...48 M-pliki skryptowe i funkcyjne 48 Rozdział 5. Macierze, tablice i łańcuchy... 67 Macierze i tablice 67 Macierze rzadkie 71 Łańcuchy i tablice znakowe 75 Tablice wielowymiarowe 77 Tablice komórkowe 79 Rozdział 6. Struktury, klasy i obiekty... 81 Struktury 81 Programowanie obiektowo zorientowane 82 Klasy i obiekty 82 3

Rozdział 7. Grafika obiektowa... 87 Hierarchia obiektów grafiki MATLAB-a 88 Interfejs graficzny użytkownika (GUI) 89 Parametry obiektów Handle Graphics 93 Rozdział 8. Metody numeryczne... 101 Numeryczna algebra liniowa 101 Równania różniczkowe zwyczajne i cząstkowe 106 Analiza funkcji 115 Rozdział 9. Rozszerzenia MATLAB-a... 125 Rozdział 10. Simulink pakiet do symulacji... 129 Biblioteki bloków 130 Przygotowanie modelu i symulacja 141 Rozdział 11. Środowisko pakietu MATLAB... 152 Elementy rozszerzające środowisko MATLAB-a 153 MATLAB w Internecie 167 Spis literatury... 169 Skorowidz... 171 4 Spis treści

Rozdział 5. Macierze, tablice i łańcuchy Tworzenie macierzy i wektorów z użyciem funkcji i operatora (:) oraz sposoby usuwania i przemieszczania kolumn oraz wierszy przedstawiono w rozdziale 1. Pierwsze kroki w MATLAB-ie. Funkcje zdefiniowane dla macierzy pełnych i tablic mogą być stosowane dla macierzy rzadkich jeśli nie prowadzi to do fałszywych wyników. Przykładowo, przy obliczaniu funkcji cosinus nie jest dopuszczalne pominięcie bliskich zeru elementów macierzy, gdyż cos(0) = 1, a nie zero. Dodatkowe informacje można uzyskać, wykonując polecenia: help elmat, help arith, help slash, help ctranspose, help kron i inne. Macierze i tablice Operacje macierzowe i tablicowe W MATLAB-ie wykonuje się dwa rodzaje operacji na wektorach i macierzach. Operacje macierzowe (ang. matrix operation) są określone regułami algebry liniowej. Operacje tablicowe (ang. array operation) to inne operacje wykonywane na elementach macierzy (tabela 5.1). Iloczyn X Y to operacja mnożenia zgodna z zasadami rachunku macierzowego. Mnożenie macierzowe można wykonać, gdy liczba kolumn macierzy X jest równa liczbie wierszy macierzy Y lub gdy jeden z czynników jest wartością skalarną. Poprzedzenie operatora mnożenia, dzielenia lub potęgowania kropką (notacja kropkowa) powoduje zmianę operacji macierzowej na tablicową, jak w prawej kolumnie tabeli 5.1. Taki sposób 67

Tabela 5.1. Operacje macierzowe i tablicowe Symbol operacji macierzowej Nazwa operacji Symbol operacji tablicowej + dodawanie + odejmowanie * mnożenie.* ^ potęgowanie. ^ / dzielenie prawostronne./ n dzielenie lewostronne.n ' sprzężenie macierzy ' ' transpozycja macierzy ' kron iloczyn tensorowy Kroneckera zapisu umożliwia niejawne indeksowanie elementów wektora lub macierzy i wykonanie operacji dla elementów o tych samych indeksach jak opisano wyżej w przypadku mnożenia tablicowego. Iloczyn z kropką X. Y to operacja tablicowa. Realizuje ona mnożenie elementów wektorów lub macierzy o tych samych indeksach (X(i, j) Y(i, j)). Operacja ta jest wykonywana, jeśli rozmiar X i Y jest taki sam lub gdy jeden z czynników jest skalarem. Odmienne działanie operatorów sprzężenia i transponowania macierzy ujawnia się jedynie dla macierzy lub wektorów zawierających wartości zespolone. Funkcje do generowania macierzy accumarray wypełnia wskazane indeksami elementy tablicy wartościami, które pobiera z zadanego wektora. Powtórzenie indeksów powoduje akumulację wartości 68 MATLAB. Leksykon kieszonkowy

: operator (:) tworzy wektor lub macierz o równomiernie rozłożonych wartościach compan diag eye freqspace gallery hadamard hankel hilb invhilb macierz stowarzyszona wielomianu umieszcza (lub odczytuje) elementy na przekątnej lub paraleli macierzy macierz jednostkowa, jedynki na przekątnej wektor lub macierz o równomiernie rozłożonych wartościach częstotliwości macierze testowe macierz Hadamarda macierz Hankela macierz Hilberta odwrotna macierz Hilberta linspace wektor o wartościach rozłożonych równomiernie logspace wektor o wartościach rozłożonych logarytmicznie magic kwadrat magiczny meshgrid tablica dla wykresów trójwymiarowych (siatkowych) ones macierz o elementach równych 1 pascal macierz Pascala rand macierz losowa o rozkładzie (rozłożeniu) równomiernym randn macierz losowa o rozkładzie (rozłożeniu) normalnym repmap(a,m,n) tworzenie dużej macierzy zawierającej n m kopii A Rozdział 5. Macierze, tablice i łańcuchy 69

rosser toeplitz vander wilkinson zeros macierz 8 8 do testowania algorytmów do obliczania wartości własnych macierz Toeplitza macierz Vandermonde'a macierz do testowania algorytmów do obliczania wartości własnych macierz z elementami zerowymi Więcej informacji podaje help elmat. Przykład tworzenia macierzy dwupasmowej (przekątna i równoległa do niej) A = diag([1:3],-2) +diag([5:-1:1],0) Informacje o tablicach size length ndims numel disp wymiar tablicy długość wektora lub najdłuższego boku tablicy liczba wymiarów tablicy liczba elementów tablicy wyświetlenie macierzy lub tekstu isempty TRUE dla tablicy pustej isequal TRUE, jeśli wartości numeryczne są identyczne isequalwithequalnans jak isequal, ale dodatkowo zakłada NaN==NaN isscalar TRUE dla wielkości skalarnej isvector TRUE dla wektora blkdiag tworzy macierz blokowo-diagonalną z zadanych macierzy 70 MATLAB. Leksykon kieszonkowy

Operacje na macierzach fliplr flipud odbicie lustrzane kolumn macierzy: lewo-prawo odbicie lustrzane wierszy macierzy: góra-dół reshape zmiana wymiaru macierzy, np. reshape(a,3,5) tworzy macierz A 3 5 rot90 obrót macierzy o 90 sub2ind przenumerowanie wybranych indeksów macierzy A(n,m) do A(:) ind2sub przenumerowanie wybranych indeksów macierzy A(:) do A(n,m) tril macierz trójkątna z elementów pod główną przekątną triu Przykłady macierz trójkątna z elementów nad główną przekątną x=diag(magic(5),1) % wstawia do x elementy położone bezpośrednio nad przekątną macierzy magic(5) Macierze rzadkie Typowymi przykładami macierzy rzadkich są: macierze pasmowe (w tym diagonalna), macierze blokowe oraz macierze trójkątne. MATLAB wykonuje operacje na macierzach rzadkich inteligentnie i szybko. Zestaw funkcji dotyczących macierzy rzadkich uzyskuje się za pomocą polecenia help sparfun. Tworzenie macierzy rzadkich Macierz pełna jest przekształcana w macierz rzadką przy użyciu funkcji sparse lub spconvert. Funkcja sparse może być wywoływana na kilka sposobów, które przedstawiono w tabeli 5.2. Rozdział 5. Macierze, tablice i łańcuchy 71

Tabela 5.2. Sposoby wywołania funkcji sparse Sposób wywołania S = sparse(i,j,s,m,n,nzmax) S = sparse(i,j,s,m,n) S = sparse(i,j,s) S = sparse(m,n) lub S=sparse([],[],[],m,n,0) Opis generuje macierz rzadką o wymiarach m n i rezerwuje dla niej nzmax elementów niezerowych nie przewidziano rezerwy dla elementów niezerowych wymiar macierzy określają zależności: m = max(i), n = max(j) generuje macierz rzadką o wymiarach n m i zerowych elementach gdzie: [i,j,s] trzy kolumny, określające odpowiednio: indeksy i, j oraz wartości odpowiednich elementów sij macierzy rzadkiej. Elementy s ij mogą być liczbami zespolonymi; m, n wymiar macierzy rzadkiej; nzmax maksymalna liczba elementów niezerowych macierzy S. Przy przekształceniach macierzy rzadkiej (na przykład po jej odwróceniu) może wzrosnąć liczba jej elementów niezerowych. Należy przewidzieć odpowiedni zapas wolnych miejsc w macierzy rzadkiej poprzez ustawienie wystarczająco dużej wartości parametru nzmax w funkcji sparse. Rezerwą na dodatkowe elementy niezerowe jest różnica (nzmax liczba elementów niezerowych macierzy). Funkcje generujące macierze rzadkie sparse speye sprand generowanie macierzy rzadkiej z macierzy pełnej macierz jednostkowa macierz losowa o rozkładzie równomiernym 72 MATLAB. Leksykon kieszonkowy

sprandn macierz losowa o rozkładzie normalnym sprandsym macierz symetryczna losowa spdiags macierze diagonalna i pasmowa Przekształcanie i badanie macierzy rzadkiej full przekształcenie macierzy rzadkiej w pełną spconvert utworzenie macierzy rzadkiej np. z danych w formacie ASCII find wyszukiwanie elementów niezerowych: [i,j,s]=find(a) nnz liczba elementów niezerowych nonzeros elementy niezerowe nzmax maksymalna liczba elementów niezerowych (zarezerwowana pamięć) spones spalloc issparse spfun spy zamiana elementów niezerowych na jedynki rezerwowanie pamięci dla elementów niezerowych TRUE, gdy zmienna jest macierzą rzadką zastosuj funkcję do niezerowych elementów wizualizacja elementów niezerowych macierzy Porządkowanie elementów macierzy colamd colmmd colperm symamd symmmd minimalny stopień permutacji kolumny zastąpiona funkcją colamd permutacja kolumn według rosnących indeksów elementów niezerowych minimalny stopień permutacji dla macierzy symetrycznych zastąpiona funkcją symamd Rozdział 5. Macierze, tablice i łańcuchy 73

symrcm odwrotne porządkowanie Cuthill-McKee randperm permutacja losowa dmperm dekompozycja Dulmage-Mendelsohn Algebra liniowa eigs svds luinc cholinc normest oblicza największe wartości i wektory własne macierzy rzadkich (biblioteka ARPACK) oblicza kilka wartości osobliwych, stosując eigs niepełny rozkład trójkątny LU niepełny rozkład Choleskiego oszacowanie normy wektora i macierzy condest oszacowanie jak cond(a,1), z normą L 1 sprank rząd strukturalny macierzy rzadkiej Układy równań liniowych (metody iteracyjne) pcg bicg metoda sprzężonych gradientów z poprawą uwarunkowania macierzy (ang. preconditioned conjugate gradients) metoda wzajemnie sprzężonych gradientów (ang. biconjugate gradients) bicgstab stabilizowana metoda wzajemnie sprzężonych gradientów (ang. biconjugate gradients stabilized) cgs gmres lsqr metoda sprzężonych gradientów w kwadracie (ang. conjugate gradients squared) uogólniona metoda minimalnych residuów (ang. generalized minimum residual) metoda sprzężonych gradientów dla nadokreślonego układu równań (ang. LSQR implementation of conjugate gradients on the normal equations) 74 MATLAB. Leksykon kieszonkowy

minres qmr symmlq metoda minimalnych residuów (ang. minimum residual) metoda quasi-minimalnych residuów (ang. quasim minimal residual) metoda dla symetrycznych układów równań liniowych (ang. symmetric LQ) Operacje na grafach (drzewa) treelayout drzewo lub las treeplot etree etreeplot gplot Różne symbfact wizualizacja drzewa drzewo eliminacji wizualizacja drzewa eliminacji rysunek grafu macierzy rzadkiej, jak w teorii grafów analiza symbolicznej dekompozycji spparms określenie parametrów porządkowania macierzy rzadkiej spaugment utworzenie macierzy dla zagadnienia średniokwadratowego Rozdział 5. Macierze, tablice i łańcuchy 75