Języki Modelowania i Symulacji 2018 Wprowadzenie: MATLAB Wykład 2

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

do MATLABa programowanie WYKŁAD Piotr Ciskowski

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

Matlab MATrix LABoratory Mathworks Inc.

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

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

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

Laboratorium 3 Grafika 2D i 3D w Matlabie. Wprowadzenie do programowania

Wykresy. Wykresy i grafika w Matlabie 11/4/2013. sin(θ ) Wykresy 2D Wykresy 3D Animacje i filmy Tworzenie interfejsu uŝytkownika GUI

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

Wprowadzenie do środowiska

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Elementy Projektowania Inżynierskiego MATLAB Wprowadzenie.

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

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

Matlab Składnia + podstawy programowania

Metody i analiza danych

Matlab II skrypty, funkcje, wizualizacja danych. Piotr Wróbel Pok. B 4.22

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

Przetwarzanie sygnałów

1 Programowanie w matlabie - skrypty i funkcje

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych

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

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

MATLAB tworzenie własnych funkcji

1 Typy i formaty danych

MATLAB - podstawy użytkowania

WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19

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

Wprowadzenie do systemu Scilab

PODSTAWY INŻYNIERII SYSTEMÓW TECHNICZNYCH

MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Wykresy i interfejsy użytkownika

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

Matlab Składnia + podstawy programowania

Wprowadzenie do pakietów MATLAB/GNU Octave

Matlab - tworzenie graficznego interfejsu użytkownika GUI - Graphic User Interface

Ćwiczenie 1. Wprowadzenie do programu Octave

1 Wizualizacja danych - wykresy 2D

Ćwiczenie 1. Wprowadzenie do programu Octave

Ściągawka z Matlaba / Octave

WPROWADZENIE ŚRODOWISKO OBLICZEŃ NUMERYCZNYCH MATLAB - SIMULINK

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Operacje logiczne i struktury sterujące.

PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1:

Pętle iteracyjne i decyzyjne

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Laboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie

Przykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco:

Wydział Inżynierii Mechanicznej i Mechatroniki. Mateusz Saków

01.Wprowadzenie do pakietu MATLAB

Obliczenia w programie MATLAB

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

WPROWADZENIE DO ŚRODOWISKA SCILAB

Ćwiczenie 6. Matlab formularze, komponenty

Matlab/Octave wprowadzenie

Wprowadzenie do Scilab: funkcje i wykresy

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

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

PODSTAWY TWORZENIA WYKRESÓW ORAZ HANDLE GRAPHICS

Ćwiczenia 11 (12) (4 godziny). Wizualizacja i manipulacja w Matlabie

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

Z. Rudnicki: WPROWADZENIE DO INFORMATYKI I PROGRAMOWANIA

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

Wprowadzenie do programowania obiektowego

Informatyka. Wykład 5. Witold Dyrka 16/04/2012

Wstęp do Programowania Lista 1

Ćwiczenie 7. Matlab formularze, komponenty

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

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 Informatyki Computer basics

Laboratorium metod numerycznych numer 1

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

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

do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski

Podstawy biometrii 2013/2014

Kier. MTR Programowanie w MATLABie Laboratorium. 1. Tworzenie m-plików skryptowych i uruchamianie skryptów

Materiały do Laboratorium Programowania Obliczeń Komputerowych MATLAB

Języki Modelowania i Symulacji 2018 Podstawy Automatyki Wykład 4

Podstawy MATLABA, cd.

MATLAB Podstawowe polecenia

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

Obliczenia iteracyjne

Operatory arytmetyczne

Matplotlib. Krzysztof Katarzyński. Centrum Astronomii UMK

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie

Grafika w Matlabie. Wykresy 2D

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Ćwiczenie 3: Wprowadzenie do programu Matlab

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie

Modelowanie rynków finansowych z wykorzystaniem pakietu R

ROBOTYKA. Odwrotne zadanie kinematyki - projekt.

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

Podstawy Programowania C++

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

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Transkrypt:

Języki Modelowania i Symulacji 2018 Wprowadzenie: MATLAB Wykład 2 dr inż. Marcin Ciołek Katedra Systemów Automatyki Wydział ETI, Politechnika Gdańska

Języki Modelowania i Symulacji dr inż. Marcin Ciołek Katedra Systemów Automatyki Konsultacje: wtorek 13:15-16 Pokój: ETI EA 546 e-mail: marcin.ciolek@pg.edu.pl e-wizytówka: http://pg.edu.pl/marciole

O czym będziemy mówili 1. MATLAB 2. Help 3. Skalary, wektory, macierze 4. Podstawy programowania: for, while, if, switch 5. Wizualizacja wyników 6. Tworzenie interfejsu graficznego 7. SIMULINK

Literatura Brian R., Ronald L. Lipsman, Jonathan M. Rosenberg: A Guide to MATLAB: For Beginners and Experienced Users 3rd Edition, Cambridge University Press, 2014 J. Brzózka i L. Dorobczyński, Programowanie w Matlab, MIKOM, Warszawa 1998 Dokumentacja MATLABa, https://www.mathworks.com/help/matlab/ MathWorks, Inc., MATLAB Tutorials and Learning Resources, http://www.mathworks.com/academia/student_center/tutorials/launchpad.html Moler, Cleve. Numerical Computing with MATLAB. Natick, MA: The MathWorks, Inc., 2004. Moler, Cleve, Experiments with MATLAB, https://au.mathworks.com/moler/exm/chapters.html MathWorks, Inc., List of Matlab-based books. http://www.mathworks.com/support/books.html

Dobre maniery programowania Styl programowania w MATLAB-ie korzystanie z notacji kropkowej, czyli operacji tablicowych (.*./.^.\) służących do wykonywania działań ne elementach wektorów lub macierzy używanie zrozumiałych nazw zmiennych, np. theta, phi, wym_a komentowanie algorytmów, skrytptów używanie m-plików funkcyjnych zamiast m-plików skrytptowych m-pliki powinny być napisane tak aby działały dla skalarów jak i dla macierzy ograniczenie stosowania pętli for ("życie jest za krótkie, aby spędzić je na pisaniu pętli for") używanie notacji dwukropkowej we wszystkich możliwych zastosowaniach 5

Pierszy skrypt Nazwa pliku nie nadpisujemy funkcji MATLABa np. cos = 1 nie używamy spacji, znaków specjalnych np.\/:*?"<> +nie zaczynamy od liczby np. 11nazwa nazwa nie może być zbyt długa można używać polskich znaków: ś,ć itp. Poprawne nazwy: MyFile.m, My_File.m Przydatne funkcje clear all wyczyść wszystkie zmienne w Workspace clear zmiennaa zmiennab zmienna C close all zamyka wszystkie okna z wykresami clc czyści Command Window Komentarze % znak komentarza Ctrl+R komentarz wielu linii kodu Ctrl+T odkomentowanie zaznaczonych linii kodu Ctrl+J zwinięcie zakomentowanego kodu w jedną linię Pozycjonowanie kodu Ctrl+] przesuń zaznaczony blok w prawą Ctrl+[ przesuń zaznaczony blok w lewą Ctrl+I przesuń zaznaczony blok do brzegu Zapamiętaj Skrypt uruchamiamy klawiszem F5 lub 6

Pętle i warunki for loop for index = values statements end while loop while expression statements end switch, case, otherwise switch expression case expression statements case expression statements... otherwise statements end If, elseif, else if expression statements elseif expression statements else statements end specjalne pause return continue break Zapamiętaj znak ; na końcu linii sprawia, że zawartość zmiennych nie jest wypisywana w Command Window 7

Pętla for Przykłady zastosowania pętli for Przykład 1 for t=1:10 statements end Przykład 2 for t=1:2:10 statements end Przykład 3 for t=10:-1:1 statements end Przykład 4 for v = [1 5 8 17] disp(v) end Aby opuścić pętlę użyj wyrażenia break Przykład 5 for t=1:10 if t == 5 break end end 8

Pętla for Aby pominąć resztę instrukcji w pętli i rozpocząć kolejną iterację użyj wyrażenia continue Unikaj stosowania pętli for jeżeli to możliwe Przykład 6 x = 0; for t=1:10 if t == 5 continue end x = x + t; end Przykład 7 z = zeros(3,1); s = 0; x = [1 2 3]; y = [4 5 6]; for t=1:3 z(t) = x(t)*y(t); s = s + z(t); end Ile operacji matematycznych (*/+) należy wykonać, aby pomnożyć dwie macierze o wymiarach n x n? Odpowiedź: n 3 i (n 1)n 2 (+)? z = x.*y s = x*y.' 9

Mnożenie macierzowe Algorytmy używane do mnożenia bardzo dużych macierzy kwadratowych o wymiarach n x n asymptotyczna złożoność obliczeniowa przed 1969 najgorszy przypadek ω = O(n 3 ) 1969 Volker Strassen ω = O(n 2.807 )...... 1990 Coppersmith Winograd ω = O(n 2.376 ) 2013 Virginia Vassilevska Williams ω = O(n 2.3729 ) 2014 François Le Gall ω = O(n 2.3728639 ) ω > O(n 2 ) obliczanie wyznacznika macierzy odwracanie macierzy procedura eliminacji Gaussa https://en.wikipedia.org/wiki/matrix_multiplication 10

Algorytm Strassen'a rok 1969 Niech A, B, C R 2n x2 n będą macierzami kwadratowymi C = AB Podzielmy macierze na cztery równe podmacierze, w razie potrzeby dopełniamy zerami A = A 1,1 A 1,2 A 2,1 A 1,2 B = B 1,1 B 1,2 B 2,1 B 1,2 C = C 1,1 C 1,2 C 2,1 C 1,2 C 1,1 = A 1,1 B 1,1 + A 1,2 B 2,1 C 1,2 = A 1,1 B 1,2 + A 1,2 B 2,2 C 2,1 = A 2,1 B 1,1 + A 2,2 B 2,1 C 2,2 = A 2,1 B 1,2 + A 2,2 B 2,2 M 1 = (A 1,1 +A 2,2 )(B 1,1 + B 2,2 ) M 2 = (A 2,1 +A 2,2 )B 1,1 M 3 = A 1,1 (B 1,2 B 2,2 ) M 4 = A 2,2 (B 2,1 B 1,1 ) M 5 = (A 1,1 +A 2,2 )B 2,2 M 6 = (A 2,1 A 1,1 )(B 1,1 + B 1,2 ) M 7 = (A 1,2 A 2,2 )(B 2,1 + B 2,2 ) C 1,1 = M 1 + M 4 M 5 + M 7 C 1,2 = M 3 + M 5 C 2,1 = M 2 + M 4 C 2,2 = M 1 M 2 + M 3 + M 6 Algorytm rekurencyjny - do każdego mnożenia macierzowgo używamy algorytm Strassen'a 11

Funkcje skrypt główny global t t = 1; x = 5; y = 3; [z1, z2] = my_fun(x,y); z3 = my_fun(x,y); wynik = my_fun2(x,y); varargin{1} = 'x'; varargin{2} = 'y(x)'; [j,k] = myplot(x,y,varargin) function z = my_fun2(x,y) z = x+y; end funkcja lokalna function [z,w] = my_fun(x,y) global t z = 2*x^2 + y; w = x + y + z + t; end funkcja lokalna function varargout = myplot(x,y,varargin) var1 = varargin{:}; x_axis = var1{1}; y_axis = var1{2}; varargout{1} = 1; varargout{2} = 'k'; plot(x,y) xlabel(x_axis) ylabel(y_axis) end Zapamiętaj funkcję należy zapisać pod taką samą nazwą: my_fun.m Zapamiętaj zmienne lokalne zostają usunięte, gdy program opuści funkcję lokalną Zapamiętaj varargin i varargout przechowują "dowolną" liczbę zmiennych wejściwych i wyjściowych 12

O czym będziemy mówili 1. Podstawy programowania: for, while, if, switch, funkcje 2. Wizualizacja wyników 3. Tworzenie interfejsu graficznego 4. SIMULINK

Prezentacja danych plot pie3 mesh plot histogram bar3 waterfall plot

Prezentacja modeli Step Response Root locus G = tf([1],[1 1 1]); step(g) G s = 1 s 2 + s + 1 G = tf([2 5 1],[1 2 3 4]); rlocus(g) G s = 2s2 + 5s + 1 s 3 + 2s 2 + 3s + 4 15

Prezentacja modeli Bode Diagram Nyquist Diagram G = tf([1],[1 1 1]); margin (G) G s = 1 s 2 + s + 1 G = tf([2 5 1],[1 2 3]); nyquist(g) G s = 2s2 + 5s + 1 s 2 + 2s + 3 16

Plot: Marker, line style, color plot properties x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); figure plot(x,y,'--rs',... 'LineWidth',2,... 'MarkerSize',10,... 'MarkerEdgeColor','b',... 'MarkerFaceColor',[0.5,0.5,0.5]) xlabel('$x$','interpreter','latex') ylabel('$\frac{y(x)}{x}$','interpr eter','latex','fontsize',18) title('plot','fontname','timesne wroman') grid on Marker 'o' '+' '.' 's' Line style '-' '--' ':' '-.' Color 'r' 'g' 'b' 'k' Desription Circle plus sign point square Desription Solid line Dashed line Dotted line Dash-dotted line Desription red green blue black 17

More Properties 18

More Properties 19

fplot wykres A fplot(@(x) sin(x)) A sin(x) wykres B xt = @(t) cos(3*t); yt = @(t) sin(2*t); fplot(xt,yt) B x = cos(3t) y = sin(2t) 20

fplot wykres C fplot(@(x) exp(x),[-3 0],'b') hold on fplot(@(x) cos(x),[0 3],'b') grid on C e x 3 < x < 0 cos(x) 0 < x < 3 D wykres D fplot(@(x) sin(x+pi/5),'linewidth',2); hold on fplot(@(x) sin(x-pi/5),'--or'); fplot(@(x) sin(x),'-.*c') set(gcf,'position',[1;1;250;200]) 21

fplot fplot easy function plot fplot(@sin,[-2*pi 2*pi]) grid on title('sin(x) from -2\pi to 2\pi') xlabel('x'); ylabel('y'); ax = gca; %get current axes ax.xtick = -2*pi:pi/2:2*pi; ax.xticklabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0', '\pi/2','\pi','3\pi/2','2\pi'}; 22

fplot fplot easy function plot fp = fplot(@(x) sin(x)) fp = FunctionLine with properties: Function: @(x)sin(x) Color: [0 0.4470 0.7410] LineStyle: '-' LineWidth: 0.5000 text(-3.6,0.7,'po zmianach') fp.linestyle = ':'; fp.color = 'r'; fp.marker = 'x'; fp.markeredgecolor = 'b'; set(gcf,'position',[1;1;250;200]) 23

Subplot subplot(m,n,p) subplot(2,2,1) x = linspace(0,10); y1 = sin(x); plot(x,y1) title('subplot 1: sin(x)') subplot(2,2,2) y2 = sin(2*x); plot(x,y2) title('subplot 2: sin(2x)') subplot(2,2,3) y3 = sin(4*x); plot(x,y3) title('subplot 3: sin(4x)') subplot(2,2,4) y4 = sin(8*x); plot(x,y4) title('subplot 4: sin(8x)') 24

Histogram wykres A x = randn(1000,1); nbins = 25; h = histogram(x,nbins) h = Histogram with properties: Data: [1000x1 double] Values: [1x25 double] NumBins: 25 BinEdges: [1x26 double] BinWidth: 0.2800 BinLimits: [-3.4000 3.6000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] A B wykres B x = 2*randn(5000,1) + 5; histogram(x,'normalization','pd f') hold on y = -5:0.1:15; mu = 5; sigma = 2; f = exp(-(yu).^2./(2*sigma^2))./ (sigma*sqrt(2*pi)); plot(y,f,'linewidth',1.5) f(x, u, σ) = 1 (x u)2 exp[ σ 2π 2σ 2 ] 25

Bar wykres A y = [2 4 6; 3 4 5]; b = bar(y); wykres B y = [2 2 3; 2 5 6; 2 8 9; 2 11 12]; bar(y,'stacked') wykres C c = categorical({'apples','pears', 'oranges'}); prices = [1.23 0.99 2.3]; bar(c,prices) A C B D wykres D load count.dat Z = count(1:10,:); bar3(z) 26

fplot3 wykresy 3D wykres A xt = @(t) exp(-t/10).*sin(5*t); yt = @(t) exp(-t/10).*cos(5*t); zt = @(t) t; fplot3(xt,yt,zt,[-10 10]) set(gcf,'position',[1;1;250;200]) set(gca,'box','on') A x = e t/10 sin(5t) y = e t/10 cos(5t) z = t B wykres B fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [0 2*pi], 'LineWidth', 2) hold on fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [2*pi 4*pi], '--or') fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [4*pi 6*pi], '-.*c') x = sin(t) y = cos(t) z = t 27

fsurf wykresy 3D wykres A r = @(u,v) 2 + sin(7.*u + 5.*v); funx = @(u,v) r(u,v).*cos(u).*sin(v); funy = @(u,v) r(u,v).*sin(u).*sin(v); funz = @(u,v) r(u,v).*cos(v); fsurf(funx,funy,funz,[0 2*pi 0 pi]) camlight wykres B x = @(u,v) exp(- abs(u)/10).*sin(5*abs(v)); y = @(u,v) exp(- abs(u)/10).*cos(5*abs(v)); z = @(u,v) u; fs = fsurf(x,y,z) A x = sin(t) y = cos(t) z = t B x = e u /10 sin(5 v ) x = e u /10 cos(5 v ) z = u 28

O czym będziemy mówili 1. MATLAB 2. Pomoc 3. Skalary, wektory, macierze, struktury 4. Podstawy programowania: for, while, if, switch 5. Wizualizacja wyników 6. Tworzenie interfejsu graficznego 7. SIMULINK

User Interface - guide 30

User Interface - guide Push Button -> View Callbacks -> Callback % --- Executes on button press in pushbutton1. function pushbutton1_callback(hobject, eventdata, handles) % hobject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) x = linspace(0,10); y = sin(x); plot(x,y,'-o','markerindices',1:5:length(y)) 31

User Interface - guide Push Button -> View Callbacks -> Callback % --- Executes on button press in pushbutton1. function pushbutton1_callback(hobject, eventdata, handles) % hobject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) x = linspace(0,10); y = sin(x); set(handles.axes2) plot(x,y,'-o','markerindices',1:5:length(y)) 32

O czym będziemy mówili 1. MATLAB 2. Help 3. Skalary, wektory, macierze, struktury 4. Podstawy programowania: for, while, if, switch 5. Wizualizacja wyników 6. Tworzenie interfejsu graficznego 7. SIMULINK

SIMULINK SIMULINK jest interaktywnym środowiskiem graficznym, służącym do modelowania, analizy, syntezy i symulacji różnych układów dynamicznych (ciągłych, dyskretnych, dyskretno-ciągłych). Posiada bardzo rozbudowaną bibliotekę bloków dynamicznych i statycznych służących do tworzenia układów o jednym wejściu i wyjściu (SISO) oraz układów wielowymiarowych (MIMO). edycja graficzna i tekstowa modelu matematycznego symulacja komputerowa linearyzacja modelu wokół wybranego punktu pracy zapis modelu w postaci równań w przestrzeni stanu i w postaci funkcji przejścia różne algorytmy całkowania...

SIMULINK

SIMULINK yሶ t = 1 [u t y(t)] T

ሶ ሶ SIMULINK Rozważmy przykład układu drgającego z pominięciem sił tarcia. Niech sygnałem wejściowym będzie siła u(t), natomiast sygnałem wyjściowym niech będzie przesunięcie x(t) Model matematyczny ma postać równania różniczkowego xሷ t = 1 [u t cx(t)] m gdzie m = 2 jest masą suwaka, c = 0.1 jest sztywnością sprężyny x(t) u(t) c x 1 (t) 0 1 x 2 (t) = c x 1 (t) 0 m 0 x 2 (t) + 1 m u(t)

ሶ ሶ SIMULINK x 1 (t) 0 1 x 2 (t) = c x 1 (t) m 0 x 2 (t) + 0 1 m u(t)

O czym będziemy mówili 1. MATLAB 2. Help 3. Skalary, wektory, macierze, struktury 4. Podstawy programowania: for, while, if, switch 5. Wizualizacja wyników 6. Tworzenie interfejsu graficznego 7. SIMULINK

Co muszę zapmiętać Szybkie mnożenie macierzy funkcje for, if, switch, while Metody wizualizacji wyników SIMULINK

Zadania domowe 1) Zaprezentuj działanie for, while, if, switch 2) Omów i zaimplementuj algorytm Strassen'a 3) Metody wizualizacji danych: przedstaw na przykładach

Języki Modelowania i Symulacji Dziękuję za uwagę