INSTRUKCJA DO ĆWICZEŃ LABORATORYJNYCH Z PODSTAW AUTOMATYKI W PROGRAMIE MATLAB dr inż. GRZEGORZ MZYK

Podobne dokumenty
Podstawy środowiska Matlab

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

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 6 AUTOMATYKA

Wprowadzenie do środowiska

Wstęp do Programowania Lista 1

Laboratorium nr 3. Projektowanie układów automatyki z wykorzystaniem Matlaba i Simulinka

Ćwiczenie 0 : Wprowadzenie do cyfrowego przetwarzania sygnałów. wyświetla listę tematów pomocy. wyświetla okno pomocy (Help / Product Help)

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

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

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Elementy metod numerycznych - zajęcia 9

WPROWADZENIE DO ŚRODOWISKA SCILAB

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy SIMULINKA

Obliczenia w programie MATLAB

Metody numeryczne Laboratorium 2

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

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

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

KOMPUTEROWA SYMULACJA UKŁADÓW AUTOMATYCZNEJ REGULACJI W ŚRODOWISKU MATLAB/Simulink. Barbara ŁYSAKOWSKA, Grzegorz MZYK

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

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

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Metody i analiza danych

Podstawy MATLABA, cd.

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa TECHNIKI REGULACJI AUTOMATYCZNEJ

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

Przetwarzanie sygnałów

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

Laboratorium 1. Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

MATLAB Podstawowe polecenia

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

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

Podstawowe operacje na macierzach

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Wprowadzenie do pakietów MATLAB/GNU Octave

Zad. 3: Układ równań liniowych

Zakłócenia w układach elektroenergetycznych LABORATORIUM

KOMPUTEROWA SYMULACJA UKŁADÓW AUTOMATYCZNEJ REGULACJI W ŚRODOWISKU MATLAB/Simulink. Barbara ŁYSAKOWSKA, Grzegorz MZYK

MentorGraphics ModelSim

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy MATLABA, cz2.

Ćwiczenie 1. Wprowadzenie do programu Octave

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYKA

1 Programowanie w matlabie - skrypty i funkcje

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

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

MATLAB - laboratorium nr 1 wektory i macierze

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

Modele układów dynamicznych - laboratorium. SIMULINK - wprowadzenie

Wprowadzenie do Scilab: macierze

Wprowadzenie do systemu Scilab

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Ćwiczenie 1. Wprowadzenie do programu Octave

Podstawy Informatyki 1. Laboratorium 8

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Podstawy Informatyki Computer basics

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Ćwiczenia nr 2. Edycja tekstu (Microsoft Word)

1 Podstawy c++ w pigułce.

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

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

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Macierz A nazywamy macierzą systemu, a B macierzą wejścia.

INSTRUKCJA LABORATORIUM ELEKTROTECHNIKI

MATLAB tworzenie własnych funkcji

Uruchamianie Aby uruchomić środowisko Simulink należy wpisać w command window Matlaba polecenie simulink lub kliknąć na pasku zadań ikonę programu:

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

PODSTAWY AUTOMATYKI. MATLAB - instrukcje i funkcje zewnętrzne. Grafika w Matlabie. Wprowadzenie do biblioteki Control System Toolbox.

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Podstawowe operacje na macierzach, operacje we/wy

Matlab Składnia + podstawy programowania

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Podstawy obsługi pakietu GNU octave.

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

Zakaz rozpowszechniania w sieci, tylko na użytek studentów informatyki UwB. WYKŁAD 1- Matlab

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Programowanie w języku Python. Grażyna Koba

Cw.12 JAVAScript w dokumentach HTML

Wprowadzenie do programu Mathcad 15 cz. 1

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

Algorytmy sztucznej inteligencji

Wprowadzenie do SIMULINKA

Zanim zaczniemy GNU Octave

Algebra macierzy

Pakiety matematyczne INP2708W,L

MATLAB - podstawy użytkowania

WPROWADZENIE DO ŚRODOWISKA SCICOS

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Podstawy JavaScript ćwiczenia

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

Ćwiczenie 3: Wprowadzenie do programu Matlab

Układ równań liniowych

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Transkrypt:

INSTRUKCJA DO ĆWICZEŃ LABORATORYJNYCH Z PODSTAW AUTOMATYKI W PROGRAMIE MATLAB dr inż. GRZEGORZ MZYK Spis treści 1 Informacje wstępne 2 2 Środowisko Matlaba 2 2.1 Linia poleceń,komunikacja zsystememoperacyjnym... 2 2.2 Definiowanie i modyfikacja zmiennych, obszar roboczy (WorkSpace)... 2 2.3 Operacjenamacierzach... 3 2.4 Podstawowefunkcjealgebryliniowej... 3 3 Tworzenie i uruchamianie M -skryptów 3 4 Funkcje pakietu Control Toolbox 4 5 Nakładka graficzna Simulink 4 5.1 Edytor graficzny... 4 5.2 Widoczność danychwmatlabie... 5 5.3 Źródła sygnałów (Sources)... 5 5.4 Rejestratory sygnałów (Sinks)... 5 5.5 Elementy liniowe z czasem ciagłym (Linear)... 6 5.6 Elementy nieliniowe (Nonlinear)... 6 5.7 Systemy z czasem dyskretnym (Discrete)... 6 6 Korzystanie z HELPa 7

1 Informacje wstępne Instrukcja dotyczy obsługi programu Matlab w zakresie laboratorium z przedmiotu Podstawy automatyki (2) na III roku kierunku AiR. Proponowany plan spotkań jestudostępniony na stronie internetowej http://diuna.ict.pwr.wroc.pl/grmz wfolderzedydaktyka jako plik palab.pdf. Zakłada się następujace wymagania odnośnie stanowiska komputerowego: pamięć RAM :64MB,lub większa; system operacyjny: Windows 95, lub nowszy; zainstalowany Matlab w wersji 5.2, z pakietem Control Toolbox oraz nakładka Simulink. 2 Środowisko Matlaba Standardowa instalacja programu Matlab znajduje się w folderze c:\matlab i zajmuje około 400MB. Plikiem uruchomieniowym jest c:\matlab\bin\matlab.exe ( ikona na pulpicie ). 2.1 Linia poleceń, komunikacja z systemem operacyjnym Uruchomienie c:\matlab\bin\matlab.exe powoduje otwarcie okna z linia poleceń (ang.command line) Rys. 1: Okno główne Przykładowe polecenia: pwd wyświetl aktualny katalog (print working directory); cd nowykat zmień katalog na nowykat; who wyświetla listę wszystkich zdefiniowanych w przestrzeni roboczej (ang. WorkSpace) zmiennych; clear czyści przestrzeń robocza(wartości i etykiety wszystkich zmiennych zostaja wykasowane). Przestrzeń robocza (wszystkie zmienne i ich wartości) można zapisaś w pliku z rozszerzeniem *.mat wydajac z menu /File polecenie /SaveWorkspaceAs. Analogicznie można otworzyć zapamiętane środowisko poprzez /File/LoadWorkspace. 2.2 Definiowanie i modyfikacja zmiennych, obszar roboczy (WorkSpace) Zdefiniowanie nowej zmiennej, lub modyfikacja już istniejacej następuje poprzez proste przypisanie jej wartości, np. x=8; definiuje zmiennaonazwiex (jeśli wcześniej taka nie istniała) i nadaje jej wartość 8, średnik na końcu wyłacza echo. Aktualna wartość zmiennej można odczytać wpisujac jej nazwę (bezśrednika), zatem polecenie x powoduje wyświetlenie wartości 8. Dla skalarów dostępne saoperatory:*,/,+, i^(potęgowanie).

2.3 Operacje na macierzach Należy mieć świadomość, że Matlab (nazwa od ang. Matrix Laboratory)wcałości jest oparty na macierzach. Wszelkie sygnały (ich dyskretne odpowiedniki) sa przechowywane właśnie jako macierze (ew. wektory). Macierz definiuje się wykorzystujac nawiasy kwadratowe [ ], znak przecinek lub spację, jako separator elemetów w danym wierszu i średnik jako separator wierszy, np. polecenie definiujace macierz A postaci 1 2 wyglada następujaco 3 4 A=[1,2;3,4] Do poszczególnych elementów macierzy odwołujemy się przez nawiasy okragłe, np. A(i,j) oznacza element w i-tym wierszu i j-tej kolumnie macierzy A, może on stanowić lvalue Macierz można definiować blokami, np. polecenie B=[A,A] utworzy macierz B postaci 1 2 1 2 3 4 3 4. Sekwencje uporzadkowane (np. kolejne elementy ciagu arytmetycznego) uzyskuje się przez konwencję min:[krok]:max, np. symbol 1:3:10 oznacza wektor 1 4 7 10, a polecenie 1 2 3 C=[1:3,1:2:5] definiuje macierz C postaci. 1 3 5 W rozumieniu macierzowym dostępne sa operatory *, +, oraz ^. Mnożenie i dzielenie tablic (element po elemencie) wykonuję sięzużyciem operatorów.* (kropka-gwiazdka) i./ (kropka-slash). 2.4 Podstawowe funkcje algebry liniowej Przykłady: eye(n) definiuje macierz jednostkowaorozmiarzen n; zeros(n,m) definiuje macierz o rozmiarze n m złożonazsamychzer; ones(n,m) definiuje macierz o rozmiarze n m złożona z samych jedynek; det(a) wylicza wyznacznik macierzy A; inv(a) wyznacza macierz odwrotnadoa: A 1 ;równoważna postać polecenia to : A^(-1); trace(a) wylicza ślad macierzy A; lu(a) wyznacza rozkład LU macierzy A; chol(a) wyznacza rozkład Cholesky ego macierzy A; svd(a) wyznacza rozkład względem wartości szczególnych macierzy A; eig(a) wyznaczenie wartości własnych macierzy A; rand(n,m) generuje macierz losowaorozmiarzen m ielementachzrozkładu jednostajnego U[0, 1]; randn(n,m) generuje macierz losowa o rozmiarze n m ielementachzrozkładu normalnego N(0, 1); 3 Tworzenie i uruchamianie M -skryptów Ciag poleceńmożna umieścić w osobnym pliku (skrypcie) z rozszerzeniem *.m. W tym celu należy wybrać zmenu/file polecenie /New/M-file, co spowoduje otwarcie okna edytora. Dostępne sa oczywiście instrukcje warunkowe (if...) oraz iteracyjne (while, for). Przykładowy skrypt: %Sekwancyjne wypełnienie wektora liczbami losowymi for i=1:10 W(i)=i; Znak % służy do wstawiania komentarzy. Uruchomienie skryptu polega na wybraniu w menu /Tools edytora polecenia /Run. Możliwe jest również uruchomienie poprzez wpisanie nazwy M-skryptu w linii poleceń Matlaba (ustawiajac poleceniem cd odpowiednia ścieżkę dostępu).

Rys. 2: Edytor skryptów 4 Funkcje pakietu Control Toolbox Pakiet Control Toolbox to dodatkowy, tematyczny zestaw funkcji. Jego obsługa nie pociaga za soba żadnych dodatkowych wymagań odużytkownika. Definiowanie systemu liniowego, którego transmitancja jest funkcja wymierna zmiennej s opiera się na utworzeniu dwóch wektorów wierszowych, zawierajacych odpowiednio współczynniki wielomianu licznika i mianownika transmitancji, np. systemowi całkujacemu o transmitancji 1 s odpowiadaj awektory[1] (licznik) i [1, 0] (mianownik). Istnieje zestaw funkcji, które na podstawie wspomnianych wektorów tworzasystem.przykładem może być funkcja jest funkcja tf() (ang. transfer function). Do najczęściej wykorzystywanych funkcji zawartych w Control Toolbox należa: bode(sys) wyznacza charakterystyki Bode go systemu sys; feedback(sys1,sys2) łaczy dwa systemy (sys1 z ujemnym sprzężeniem zwrotnym sys2); freqresp(sys, w) wyznacza odpowiedź systemusys w dziedzinie częstotliwości (Re(K(jω)) oraz Im(K(jω))) dla wartości pulsacji zadanych w wektorze w; gensig(typ,okres) generator standardowych sygnałów, np. typ= sin, okres=1 generuje falę sinusoidalna o okresie 1s; impulse(sys) wyznacza odpowiedźimpulsowasystemusys; kalman() projektuje estymator Kalmana lsim(sys,u,t) symuluje system sys przy dowolnym pobudzeniu zawartym w wektorze u, (t wektor czasu); ltiview(typ,sys) wykreśla charakterystykę typutyp (np. step, impulse, nyquist ) systemusys parallel(sys1,sys2) połaczenie równoległe systemówsys1 i sys2 ; series(sys1,sys2) połaczenie szeregowe systemów sys1 i sys2 ; ss(a,b,c,d) tworzy system liniowy na podstawie opisu w przestrzeni stanów: x 0 = Ax + Bu, y = Cx + Du; tf(l,m) tworzy system liniowy na podstawie wektorów współczynników transmitancji licznika L imi- anownika M. 5 Nakładka graficzna Simulink Nakładka Simulink ułatwia tworzenie modeli oraz zwalnia nas w znacznym stopniu od znajomości składni funkcji pakietu Control Toolbox. Uruchomienie nakładki odbywa się poleceniem simulink, co powoduje otwarcie okna zawierajacego zbiór zasobników (Rys. 3). Oprócz niego otwiera się także czyste okno edytora graficznego modeli (Rys. 4). 5.1 Edytor graficzny Budowa schematów blokowych odbywa się na zasadzie przeciagania mysza bloków zasobników do edytora graficznego (Rys. 4). Schemat (model) można zapisać w pliku z rozszerzeniem *.mdl. Połaczenia pomiędzy poszczególnymi blokami następuja również poprzez przeciaganie. Węzłypołaczeniowe uzyskujemy przystrzymujac klawisz Ctrl.

Rys. 3: Zasobnik nakładki Simulink Rys. 4: Graficzny edytor modeli (schematów symulacji) Symulację gotowegomodeluuruchamiasię poleceniem Ctrl+T (/Start wmenu/simulation). Okno ustawień parametrów symulacji wywołuje się poleceniem Ctrl+E (/Parameters wmenu/simulation). Własności i parametry elementów zawartych w schemacie zmienia się po dwukrotnym kliknięciu na poszczególne obiekty (patrz przykłady na Rys. 6 8). Po załadowaniu pliku *.mat do obszaru roboczego (patrz punkt 2.1) można zastosować funkcję plot() w celu uzyskania wykresu. 5.2 Widoczność danychwmatlabie Wartości wszystkich zmiennych Matlaba sa widocznewsimulinku, zaś wartości wszystkich zmiennych Simulinka s a widoczne w Matlabie. 5.3 Źródła sygnałów (Sources) Z punktu widzenia tematyki laboratorium najbardziej przydatne będa następujace bloki generujace (Rys. 9): step skok jednostkowy; ramp sygnał liniowo narastajacy; sine wave sinusoida; from file sygnał (wektor) zawarty w wyspecyfikowanym pliku; random number generator liczb losowych. 5.4 Rejestratory sygnałów (Sinks) Wśród bloków rejestrujacych (Rys. 10) wykorzystujemy: scope rejestrator jednowymiarowy (w dziedzinie czasu);

Rys. 5: Parametry symulacji Rys. 6: Własności bloku źródłowego STEP xy graph rejestrator dwuwymiarowy to file zapis do pliku. 5.5 Elementy liniowe z czasem ciagłym (Linear) Najbardziej przydatny będzie blok Tranfer Function (patrz Rys 11) 5.6 Elementy nieliniowe (Nonlinear) Z zasobnika Nonlinear (Rys. 12) bardzo przydatne będa bloki: Transport Delay opóźnienie; Matlab Function realizacja dowolnego wzoru matematycznego (domyślna nazwa sygnału wejściowego: u). 5.7 Systemy z czasem dyskretnym (Discrete) Patrz Rys. 13

Rys. 7: Własności bloku liniowego TRANSFER FUNCTION 6 Korzystanie z HELPa Rys. 8: Własności rejestratora TO FILE Pomoc można uzyskać wydajac w oknie głównym Matlaba polecenie help nazwa_funkcji. Najwygodniej jest jednak korzystać z lokalnych zbiorów w formacie HTML, wybierajac polecenie /HelpDesk zmenu /Help. LITERATURA [1] A. Zalewski, R. Cegieła, Matab - obliczenia numeryczne i ich zastosowania, wyd. Nakom, Poznań, 1997. [2] J.Brzózka, Ćwiczenia z automatyki w Matlabie i Simulinku, wyd. Mikom, Warszawa, 1997.

Rys. 9: Bloki generujace sygnały Rys. 10: Bloki odbiorcze rejestrujace sygnały

Rys. 11: Modele liniowe z czasem ciagłym Rys. 12: Modele nieliniowe

Rys. 13: Modele z czasem dyskretnym