WPROWADZENIE ŚRODOWISKO OBLICZEŃ NUMERYCZNYCH MATLAB - SIMULINK
Spis treści 1. CEL OPRACOWANIA... 4 2. ŚRODOWISKO I PROGRAMOWANIE W JĘZYKU MATLAB... 5 2.1. Wprowadzenie do pracy w środowisku języka MATLAB... 5 2.1.1. Przykłady poleceń... 5 2.1.2. Sprawdzanie funkcji... 7 2.2. Wprowadzanie macierzy... 7 2.2.1. Generowanie ciągów... 7 2.2.2. Generowanie macierzy... 8 2.3. Działania na macierzach i tablicach... 9 2.3.1. Dostęp do elementów macierzy... 9 2.3.2. Działania na macierzach... 11 2.3.3. Działania tablicowe... 13 2.4. Algebra liniowa... 15 2.5. Skrypty (.m pliki)... 16 2.5.1. Instrukcje sterujące pętle... 16 2.5.2. Funkcje... 17 2.6. Grafika dwuwymiarowa... 19 2.6.1. Rysowanie... 20 2.7. Grafika trójwymiarowa... 21 3. SILMULINK... 23 3.1. Modelowanie i symulacja układów dynamicznych... 23 3.1.1. Rozwiązywanie równań różniczkowych... 23 3.2. Rozwiązywanie układów liniowych... 25 3.3. Współpraca Simulink-a z Matlab-em... 26 4. LITERATURA... 28
1. Cel opracowania Celem opracowania jest zapoznanie studentów z podstawowymi zastosowaniami programu Matlab i jego podprogramu (toolbox-a) Simulink. Omówiono skrótowo: - w środowisku Matlab-a generowanie zmiennych (wektory i macierze), podstawowe operacje na zmiennych, stosowanie podstawowych, wbudowanych, funkcji matematycznych do obliczeń inżynierskich, sporządzanie wykresów: dwu i trójwymiarowych, pisanie prostych programów rozwiązujących zadany problem, tworzenie m-plików wykonawczych uwzględniających np. deklaracje zmiennych, wywołanie napisanego podprogramu, wykresy itp. - w programie Simulink, modelowanie i symulowanie prostych systemów dynamicznych, rozwiązywanie układów równań liniowych, korzystanie z wyników Simulink-a w przestrzeni Matlab-a. 4 Matlab Simulink
2. Środowisko i programowanie w języku MATLAB MATLAB - pakiet obliczeniowy firmy MathWorks jest przeznaczony do wykonywania różnorodnych obliczeń numerycznych. Serce pakietu stanowi interpreter języka umożliwiający implementację algorytmów numerycznych oraz biblioteki podstawowych działań na macierzach (odwracanie, dodawanie/odejmowanie, wartości własne itp.). Podstawowym typem danych jest macierz, stąd nazwa MATrix LABoratory. Pakiet posiada obszerne biblioteki dodatkowych procedur umożliwiające rozwiązywanie typowych problemów obliczeniowych. Prosta budowa okienkowa ułatwia korzystanie z programu. Łatwa i estetyczna jest wizualizacja wyników w postaci dwu- i trójwymiarowych wykresów. Dodatkową zaletą pakietu MATLAB jest możliwość przeprowadzenia obliczeń symbolicznych (na wzorach). 2.1. Wprowadzenie do pracy w środowisku języka MATLAB Praca w środowisku języka MATLAB polega na wydawaniu poleceń, które po zatwierdzeniu wykonywane są przez interpreter. Większą liczbę instrukcji można zapisać w zbiorze tekstowym zwanym skryptem (pliki z rozszerzeniem.m). 2.1.1. Przykłady poleceń Podstawienie:» a=3; powoduje utworzenie zmiennej a o wartości 3. Uwaga!: Średnik po poleceniu powoduje, że wartość będąca wynikiem nie będzie wyświetlana na ekranie.» b=sin(a) b = Matlab Simulink 5
0.1411 oblicza wartość funkcji sinus dla zmiennej a, wynik zapisuje do zmiennej b i wyświetla na ekranie. Jeżeli nie podano nazwy zmiennej to wynik działania jest umieszczany w standardowej zmiennej ans, np.:» cos(pi/3) 0.5000 Utworzona (zdefiniowana) zmienna jest pamiętana od momentu utworzenia, aż do chwili jej usunięcia. Możliwa jest przy tym nie tylko zmiana wartości, ale również rozmiaru zmiennej. Nazwy zmiennych i informacje o nich można uzyskać wywołując funkcje who i whos. Usunięcie zmiennej z pamięci: clear a - usuwa zmienną a; clear - usuwa wszystkie zmienne znajdujące się w pamięci. Zapisanie zmiennych na dysku: save nazwa_pliku (domyślnie przyjmowane jest rozszerzenie.mat). Wczytanie danych z pliku dyskowego: load nazwa_pliku Korzystanie z podręcznej pomocy podającej opis funkcji: help nazwa_funkcji Zawartość aktualnego katalogu można wyświetlić używając funkcji dir lub ls. Do zmiany katalogu służy polecenie: cd nazwa_katalogu 6 Matlab Simulink
2.1.2. Sprawdzanie funkcji» help sqrt SQRT Square root. SQRT(X) is the square root of the elements of X. Complex results are produced if X is not positive. See also SQRTM.» sqrt(4) 2» type sqrt sqrt is a built-in function.» sqrt(-4) 0 + 2.00000000000000i 2.2. Wprowadzanie macierzy 2.2.1. Generowanie ciągów a=min:krok:max; Polecenie generuje wektor poczynając od elementu o wartości min, kończąc na elemencie o wartości max z krokiem krok. Jeżeli parametr krok zostanie pominięty, przyjmuje się, iż krok=1. Przykład 2.1» bb=7.1:-2:1 bb = 7.1 5.1 3.1 1.1» cc=3:5 cc = 3 4 5 Matlab Simulink 7
2.2.2. Generowanie macierzy Definicja macierzy przez wyliczenie elementów: Przykład 2.2» A=[2 2 2 1; 1 2 3 1]; lub:» A=[2 2 2 1 1 2 3 1] A = 2 2 2 1 1 2 3 1 Poszczególne elementy macierzy oddziela się spacjami, a wiersze średnikami lub umieszcza się je w oddzielnych liniach. Definicja macierzy przez wygenerowanie elementów: A=[min:krok:max] Polecenie generuje wektor poczynając od elementu o wartości min, kończąc na elemencie o wartości max z krokiem krok. Jeżeli parametr krok zostanie pominięty, przyjmuje się, iż krok=1. Przykład 2.3 Wygeneruj macierz dwuwierszową o wyrazach od 1 do 10 w pierwszym wierszu i o wyrazach od 2 do 20 (co 2) w wierszu drugim.» A=[1:10; 2:2:20] A = 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 Definicja macierzy wykorzystując elementy innych macierzy: Przykład 2.4 Utwórz macierz D budując ją ze zdefiniowanych macierzy A, B i C.» A=[1 4 1; 2 0 1];» B=[3 1; 4 1];» C=[1 2 2 0 1; 2 4 7 1 0];» D=[A B; C] D = 8 Matlab Simulink
1 4 1 3 1 2 0 1 4 1 1 2 2 0 1 2 4 7 1 0 Uwaga!: Przy takim budowaniu macierzy należy pamiętać o zgodności wymiarów. Macierze: jednostkowe, wypełnione jedynkami i zerami definiuje się następująco:» eye(3) 1 0 0 0 1 0 0 0 1» zeros(2,2) 0 0 0 0» ones(2,3) 1 1 1 1 1 1 2.3. Działania na macierzach i tablicach 2.3.1. Dostęp do elementów macierzy Odwołanie do elementów: Przykład 2.5» A=[1 2 3; 0 9 8; 1 1 0] A = 1 2 3 0 9 8 1 1 0» A(2,3) - odwołanie do elementu w wierszu 2 i kolumnie 3; 8» A(3,2) - odwołanie do elementu w wierszu 3 i kolumnie 2 1 Wybór największego elementu max(a) - zwraca największy element wektora A. Matlab Simulink 9
W przypadku gdy A jest macierzą, zwraca wektor wierszowy, którego elementami są maksymalne elementy z każdej kolumny A Przykład 2.6» max(a) 1 9 8 Wybór najmniejszego elementu min(a) - zwraca najmniejszy element wektora A. W przypadku gdy A jest macierzą, zwraca wektor wierszowy, którego elementami są minimalne elementy z każdej kolumny A Przykład 2.7» min(a) 0 1 0 Obliczanie wartości średniej elementów mean(a) - zwraca średnią arytmetyczną elementów wektora A. W przypadku gdy A jest macierzą, zwraca wektor wierszowy, którego elementami są średnie arytmetyczne elementów z każdej kolumny A Przykład 2.8» mean(a) 0.6667 4.0000 3.6667 Odwołanie do podmacierzy: Przykład 2.9» A=[1 2 3 4 5 6; 0 9 8 7 6 5; 1 1 0 0 2 2] A = 1 2 3 4 5 6 0 9 8 7 6 5 1 1 0 0 2 2 10 Matlab Simulink
» B=A(:,[1:3 5]) - utworzenie macierzy B poprzez pobranie z macierzy A kolumn: 1-3 oraz 5 B = 1 2 3 5 0 9 8 6 1 1 0 2» B=A([1 3],1:2:5) - utworzenie macierzy B z elementów macierzy A leżących na przecięciu wierszy 1 i 3 z kolumnami 1, 3 i 5 B = 1 3 5 1 0 2 2.3.2. Działania na macierzach Suma i różnica macierzy Przykład 2.10 Zdefiniuj dwie macierze A i B, a następnie oblicz ich sumę, różnicę oraz dodaj do elementów macierzy A liczbę 2. Definicja macierzy:» A=[1-1 2; -2 3 1] A = 1-1 2-2 3 1» B=[1 1 1; 0-2 2] B = 1 1 1 0-2 2 Suma:» A+B 2 0 3-2 1 3 Różnica:» A-B 0-2 1-2 5-1 Matlab Simulink 11
Dodanie do elementów macierzy A liczby 2:» A+2 3 1 4 0 5 3 Mnożenie macierzy Przykład 2.11 Zdefiniuj dwie macierze A i B, a następnie oblicz ich iloczyn oraz pomnóż elementy macierzy A przez 2. Definicja macierzy:» A=[1 1 0; 2 1 1] A = 1 1 0 2 1 1» B=[2; 2; 2] B= 2 2 2 Iloczyn macierzowy:» A*B 4 8 Iloczyn macierzy przez liczbę:» A*2 2 2 0 4 2 2 Odwracanie i transpozycja Przykład 2.12 Zdefiniuj macierz A, a następnie wyznacz macierz odwrotną do niej i dokonaj transpozycji.» A=[1 2 3; 0 9 8; 3 4 7] 12 Matlab Simulink
A = 1 2 3 0 9 8 3 4 7»inv(A) - zwraca macierz odwrotną do A -15.5000 1.0000 5.5000-12.0000 1.0000 4.0000 13.5000-1.0000-4.5000» A - transponuje macierz A 1 0 3 2 9 4 3 8 7 Przykład 2.13 Zdefiniuj wektor kolumnowy A, a następnie oblicz sumę kwadratów elementów tego wektora.» A=[1 2 3] A = 1 2 3» A*A 14 2.3.3. Działania tablicowe Operacje na zmiennych w Matlabie są wykonywane wektorowo, natomiast użycie kropki w wyrażeniu powoduje wykonanie działania skalarnego.» b=2;» e=[5 6 7 8] e = 5 6 7 8» f=b*e Matlab Simulink 13
f = 10 12» p=e.*f 14 16 p = 50 72» f^2 98 128 268 312 364 424» f.^2 100 144 196 256 Uwaga!:Rozróżniamy dzielenie dwustronne : lewo na prawo(/) i prawo na lewo (\)» gg=6;» hh=3;» gg/hh 2» gg\hh 0.5 Uwaga!: Dzielenie na prawą stronę ma szczególne zastosowanie przy rozwiązywaniu układu równań y=mx 14 Matlab Simulink
2.4. Algebra liniowa Przykład 2.14 Rozwiąż układ równań liniowych: 2x1 + x2 = 1 3x1 + 2x2 = 0 Układ ten można zapisać w postaci macierzowej AX= B gdzie: 2 1 x1 1 A = ; X = 3 2 ; B = x 2 0 Dla której rozwiązanie ma postać: X= A 1 B >> A=[2 1;3 2] A = 2 1 3 2 >> B=[1; 0] B = 1 0 >> X=inv(A)*B X = 2.0000-3.0000 Uwaga!: Zagadnienie to można rozwiązać także korzystając z dzielenia prawo na lewo >> X=A\B Matlab Simulink 15
X = 2.0000-3.0000 2.5. Skrypty (.m pliki) Przykład 2.15 Napisz skrypt (otwierając z menu File z opcji New plik M-file), który kreśli wykres wybranej przez użytkownika funkcji jednej zmiennej w przedziale [0,4π]. % wykres funkcji jednej zmiennej x=[0:0.1:4*pi]; wzor=input('podaj funkcje f(x):','s') % podac funkcje np. sin(x) y=eval(wzor); plot(x,y); % kreslenie wykresu funkcji y=f(x) grid; % podzialka Zapisujemy skrypt w formacie nazwa.m. Wywołanie skryptu (m.pliku) w przestrzeni Matlaba: >> nazwa 2.5.1. Instrukcje sterujące pętle Pętla FOR ( dla ): for zmienna_iterowana = macierz_wartości ciąg_instrukcji end Działanie pętli polega na wykonaniu ciągu_instrukcji dla kolejnych wartości zmiennej_iterowanej. Wartościami tymi są kolejne wektory kolumnowe pobrane z macierzy_wartości (jeżeli jest to wektor, to kolejno zostaną wykonane instrukcje dla danych elementów tego wektora). Pętla WHILE ( dopóki ): while wyrażenie_warunkowe ciąg_instrukcji end 16 Matlab Simulink
Działanie pętli polega na wykonaniu ciągu_instrukcji dopóki wyrażenie_warunkowe jest spełnione. Instrukcja warunkowa IF ( jeżeli ): if wyrażenie_warunkowe1 ciąg_instrukcji1 elseif wyrażenie_warunkowe2 ciąg_instrukcji2 else ciąg_instrukcji3 end Działanie instrukcji jest następujące: Jeżeli wyrażenie_warunkowe1 jest spełnione, to wykonywany jest ciąg_instrukcji1, w przeciwnym razie sprawdzane jest wyrażenie_warunkowe2, jeżeli jest ono spełnione wykonywany jest ciąg_instrukcji2, jeżeli nie, wykonywany jest ciąg_instrukcji3. Instrukcję warunkową IF można rozbudować dla większej liczby wyrażeń_warunkowych i odpowiadających im ciągów_instrukcji. 2.5.2. Funkcje W języku MATLAB istnieje możliwość definiowania własnych funkcji, jako elementów strukturalnych programu. Definicja funkcji ma następującą postać: function[wartość_funkcji]=nazwa_funkcji(argument1,..,argumentn) ciąg instrukcji Przykład 2.16 Napisz funkcję (otwierając z menu File z opcji New plik M-file) wyznaczającą wartość silni n!, gdzie n jest liczbą naturalną. % Funkcja wyznacza wartosc n! function[wynik]=silnia(n) wynik=1; for i=1:n wynik=wynik*i; end Matlab Simulink 17
Zapisz ją pod nazwą silnia0.m, a następnie uruchom wpisując w linii komend jej nazwę wraz z wartością argumentu n umieszczoną w nawiasie, np.:» silnia0(4) 24 Przykłady funkcji silnia z użyciem pętli: instrukcja for function y=silnia1(x) %Funkcja SILNIA1 % %y=silnia1(x) %oblicza silnie liczby x większej od zera %wykorzystuje instrukcje for if ~(x>0), error('liczba musi byc wieksza od zera'), end y=1; if x>1, for i= 2:x, y= y.*i; end, end instrukcja while function y=silnia2(x) %Funkcja SILNIA2 % %y=silnia2(x) %oblicza silnie liczby x wiekszej od zera %wykorzystuje instrukcje while if ~(x>0), error('liczba musi byc wieksza od zera'), end y=1; while x>0, y=y.*x; x=x-1; end rekurencja 18 Matlab Simulink
function [y]=silnia3(x) %Funkcja SILNIA3 % %y=silnia3(x) %oblicza silnie liczby x wiekszej od zera, a mniejszej od 10 %wykorzystuje metode rekurencji if ~(x>0), error('liczba musi byc wieksza od zera'), elseif x>10 error('przekroczony zakres x>10'), end y=1; if x>1, y=x*silnia3(x-1); end 2.6. Grafika dwuwymiarowa Najczęściej spotykanym sposobem graficznej prezentacji danych w języku MATLAB jest wykres funkcji jednej zmiennej. Służy do tego funkcja plot(x,y), gdzie y=f(x); Okno graficzne można wyczyścić wywołując funkcję clf. Zamknięcie okna graficznego odbywa się poprzez wywołanie funkcji close. Dodatkowe okna można otworzyć przy pomocy funkcji figure. Otworzyć jak i zamknąć można dowolne okno podając jego numer jako argument. W celu uzyskania kilku wykresów w jednym oknie należy wykorzystać funkcję subplot(m,n,p) gdzie: m - liczba wykresów w pionie; n - liczba wykresów w poziomie; p - kolejny numer wykresu. Skala wykresu dobierana jest automatycznie. Chcąc ją zmienić, trzeba wywołać funkcję axis([xmin xmax ymin ymax]) i jako argument podać wektor określający nowe parametry osi. Wykres można opisać podając nazwy zmiennych, tytuł, itp. title( tekst ) - tytuł rysunku; xlabel( tekst ) - opis osi x; ylabel( tekst ) - opis osi y; Matlab Simulink 19
text(x,y, tekst ) - umieszcza tekst w dowolnym punkcie o współrzędnych (x,y); grid - włącza lub wyłącza siatkę; Przykład 2.17 Napisz skrypt kreślący przykładowy wykres wraz z opisem. % Skrypt kresli przykladowy wykres wraz z opisem x=[0:pi/20:2*pi]; y=sin(x); plot(x,y) title( Wykres funkcji sin(x) ) xlabel( x ) ylabel( f(x) ) text(2.5,0.7, f(x)=sin(x) ) grid Zapisz go pod nazwą wykres0.m i uruchom. 2.6.1. Rysowanie Istnieją funkcje pozwalające na tworzenie dowolnych rysunków z linii i wielokątów. line(x,y) - rysuje linię łamaną łącząc wierzchołki punktów wyznaczonych przez elementy wektorów x i y; fill(x,y, c ) - rysuje wielokąt o wierzchołkach w punktach wyznaczonych przez elementy wektorów x i y wypełniony kolorem określonym przez argument c według poniższego opisu kolorów: y - żółty m - fioletowy c - turkusowy r - czerwony g - zielony b - niebieski w - biały k - czarny 20 Matlab Simulink
Przykład 2.18 Narysuj trójkąt o wierzchołkach w punktach (0,1), (3,4), (4,2) używając funkcji line oraz fill z wypełnieniem w kolorze niebieskim.» line([0 3 4 0],[1 4 2 1])» fill([0 4 3 0],[1 4 2 0], r ) 2.7. Grafika trójwymiarowa Większość funkcji języka MATLAB generujących rysunki trójwymiarowe służy do kreślenia powierzchni. W praktyce definiując powierzchnię trzeba się ograniczyć do skończonego zbioru punktów należących do obszaru. [x,y]=meshgrid(x,y) - tworzy macierze x i y opisujące położenie węzłów prostokątnej siatki pobierając wartości z wektorów X i Y. mesh(x,y,z) - rysuje siatkę powierzchni opisanej przez macierze x, y i z. surf(x,y,z) - rysuje kolorową powierzchnię opisaną przez macierze x, y i z. surfl(x,y,z) - rysuje kolorową powierzchnię opisaną przez macierze x, y i z uwzględniając na niej odbicie światła. plot3(x,y,z) - rysuje krzywą w przestrzeni opisaną przez wektory x, y i z. Przykład 2.19 2 2 Napisz skrypt kreślący siatkę wartości funkcji f ( x, y) = sin( x) sin( y) exp( x y ) w przedziale [-π,π]. % Skrypt rysuje siatke wartosci funkcji clf; [x,y]=meshgrid(-pi:0.2:pi,-pi:0.2:pi); z=sin(x).*sin(y).*exp(-x.^2-y.^2); mesh(x,y,z) Zapisz go pod nazwą wykres3d.m i uruchom. Rozbuduj powyższy skrypt o rysowanie kolorowej powierzchni poprzez dodanie na końcu polecenia: Matlab Simulink 21
surf(x,y,z) lub surfl(x,y,z) Przykład 2.20 Napisz skrypt kreślący krzywą w przestrzeni trójwymiarowej: % Skrypt kresli krzywa w przestrzeni trojwymiarowej x=[0:0.1:10]; y=2*cos(x); z=sin(2*y); plot3(x,y,z) grid title('wykres krzywej w przestrzeni trojwymiarowej') xlabel('x') ylabel('y') zlabel('z') 22 Matlab Simulink
3. Silmulink Simulink jest programowym narzędziem do modelowania, symulacji i analizy systemów dynamicznych. Ważną zaletą programu jest jego interaktywność, co oznacza, ze można zmieniać parametry układu podczas symulacji. Modelowanie w Simulink-u odbywa się z wykorzystaniem graficznego interfejsu użytkownika (GUI). Polega ono na budowanie modeli z gotowych bloków poprzez łączenie ich w podsystemy i systemy. Istnieje możliwość utworzenia własnych bloków (bibliotek użytkownika). Program Simulink jest integralnie związany ze środowiskiem Matlab-a i może być uruchamiany także z jego poziomu. 3.1. Modelowanie i symulacja układów dynamicznych 3.1.1. Rozwiązywanie równań różniczkowych Przykład 3.1 Rozwiąż równanie różniczkowe postaci: dy + 2 y= 1 (3.1) dt z warunkiem początkowym y(0)=1. Przekształcamy równanie do postaci: dy = 1 2y dt (3.2) Tworzymy schemat blokowy w Simulinku: Do zamodelowania różniczkowania używamy bloku całkowania (wykorzystując zależność, że całkowanie jest funkcją odwrotną do różniczkowania). Rys. 3.1 Blok całkowania w Simulinku Całkowity schemat modelu reprezentujący równanie 3.1 przedstawiony jest na rys. 3.2 Matlab Simulink 23
Rys. 3.2 Schemat blokowy układu dla przykładu 3.1 Wartość y(0)=1 jest określana w bloku całkowania jako warunek początkowy. Rys. 3.3 Przebieg wielkości wyjściowej Przykład 3.2 Rozwiąż równanie różniczkowe postaci: 2 d y dy (3.3) 2 + + 4y= 1 2 dt dt z warunkiem początkowym y(0)=0, y (0)=0 Przekształcamy równanie do postaci: 2 d y 1 = 2 dt 2 1 2 dy dt 2y (3.4) 24 Matlab Simulink
Rys. 3.4 Schemat blokowy układu dla przykładu 2 Uwaga!: Ponieważ równanie jest drugiego rzędu więc musimy zastosować dwa elementy całkujące celem uzyskania funkcji y(t). Rys. 3.5 Przebieg wielkości wyjściowej 3.2. Rozwiązywanie układów liniowych Rozwiązać układ równań: z 1+ z2= 2 (3.5) z1 z2= 4 Korzystamy z bloku Algebraic Constraint (biblioteka Math). Konstruujemy model pozwalający rozwiązać układ równań (3.5) jak na rysunku 3.6. Matlab Simulink 25
Rys. 3.6 Schemat blokowy układu rozwiązywania równań liniowych Dla układu trzech równań zastosujemy, analogicznie trzy bloki Algebraic Constraint. 3.3. Współpraca Simulink-a z Matlab-em Korzystając z pliku wykonawczego Matlab-a możemy wywołać model wykonany w Simulink-u. Na przykład gdy przeprowadzamy wielowariantową analizę układu i zmieniamy parametry wtedy model w Simulink-u dogodnie jest przedstawić jak na rys. 3.7. Rys. 3.7 Schemat blokowy układu dynamicznego z parametrami Wywołanie modelu Simulink-a z poziomu Matlab-a (.m pliku) uwzględnia instrukcję sim( nazwa ): 26 Matlab Simulink
% model simulink-a o nazwie suspension % definicja parametrów modelu clear all; m= 1000; k=1000; c=100; V=20; % Symulacja sim('suspension'); load yin.mat; % wgranie zbioru danych wejściowych load pos.mat; % wgranie zbioru danych wyjściowych % wykres figure(1); subplot(2,1,1) plot(x(1,:),x(2,:)); % plot(t,yzad) -> wykorzystanie bloku To Workspace subplot(2,1,2) plot(y(1,:),y(2,:)); Uwaga! W przedstawionym m-pliku dane z Simulink-a są wgrywane do Matlab-a za pomocą bloku To File. Podobny efekt uzyskamy korzystając z bloku To Workspace. Różnica polega na tym, że poprzez blok To File zapisujemy dane na dysku. Matlab Simulink 27
4. Literatura 1. Brzózka J., Dorobczyński L.: Programowanie w MATLAB. Wyd. MIKOM Warszawa. 1998. 2. Brzózka J.: Regulatory cyfrowe w automatyce. Wyd. MIKOM, Warszawa 2002. 3. Kamińska A., Pańczyk B.: Matlab przykłady i zadania. Wyd. MIKOM, Warszawa 2002. 4. Klamka J., Ogonowski Z.: Teoria systemów liniowych. Skrypty uczelniane Politechniki Śląskiej, Skrypt nr 1987, Gliwice 1996. (Zawiera wstęp do pakietu MA- TLAB i SIMULINK) 5. Mrozek B., Mrozek Z.: MATLAB 6 poradnik użytkownika. Wydawnictwo PLJ, Warszawa 2001. 6. Mrozek B., Mrozek Z.: MATLAB uniwersalne środowisko do obliczeń naukowotechnicznych. Wydawnictwo PLJ, Warszawa 1996. 7. Osowski S., Toboła A.: Analiza i projektowanie komputerowe obwodów z zastosowaniem języków MATLAB i PCNAP. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 1995. 8. Osowski S.: Modelowanie układów dynamicznych z zastosowaniem języka SIMU- LINK. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 1997. 9. Osowski S., Cichocki A., Siwek A.: MATLAB w zastosowaniu do obliczeń obwodowych i przetwarzania sygnałów. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2006 10. Pratap R.: Matlak 7 dla naukowców i inżynierów. Wyd. MIKOM, Warszawa 2007. 11. Regel W.: Statystyka matematyczna w programie MATLAB. Wyd. MIKOM, Warszawa 2003. 12. Regel W.: Wykresy i obiekty graficzne w programie MATLAB. Wyd. MIKOM, Warszawa 2003. 13. Regel W.: Przykłady i ćwiczenia w programie SIMULINK. Wyd. MIKOM, Warszawa 2004. 14. Wciślik M.: Wprowadzenie do systemu MATLAB: Politechnika Świętokrzyska, Kielce 2000. 15. Zalewski A., Cegieła R.: MATLAB obliczenia numeryczne i ich zastosowania. Wyd. Nakom, Poznań 1997. 28 Matlab Simulink