Dyskretyzacja równań różniczkowych Matlab

Podobne dokumenty
INSTYTUT ENERGOELEKTRYKI POLITECHNIKI WROCŁAWSKIEJ Raport serii SPRAWOZDANIA Nr

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

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera)

Całkowanie numeryczne

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

Projektowanie układów metodą sprzężenia od stanu - metoda przemieszczania biegunów

Wprowadzenie do SIMULINKA

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

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

Do wprowadzania symboli pochodnych można wykorzystać paletę Calculus lub skróty klawiszowe: SHIFT+? - wprowadza symbol pierwszej pochodnej.

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

INSTYTUT INŻYNIERII ŚRODOWISKA ZAKŁAD GEOINŻYNIERII I REKULTYWACJI ĆWICZENIE NR 5

Rys 1 Schemat modelu masa- sprężyna- tłumik

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

Numeryczne rozwiązywanie równań różniczkowych ( )

Laboratorium nr 1. dsolve( rownanie1, rownanie2,, warunek 1, warunek 2 );

Podstawy Automatyki. wykład 1 ( ) mgr inż. Łukasz Dworzak. Politechnika Wrocławska. Instytut Technologii Maszyn i Automatyzacji (I-24)

INSTRUKCJA DO ĆWICZENIA NR 7

Rok akademicki: 2030/2031 Kod: RAR n Punkty ECTS: 7. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie

Wielomiany Hermite a i ich własności

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

Automatyka i sterowania

x(n) x(n-1) x(n-2) D x(n-n+1) h N-1

Rozwiązywanie równań różniczkowych

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

Analityczne metody kinematyki mechanizmów

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

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

Mechanika kwantowa ćwiczenia, 2007/2008, Zestaw II

x y

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Obliczenia iteracyjne

INSTRUKCJA LABORATORIUM ELEKTROTECHNIKI

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

Porównanie właściwości wybranych wektorowych regulatorów prądu w stanach dynamicznych w przekształtniku AC/DC

Wzmacniacze różnicowe

Przekształcenie całkowe Fouriera

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

CHARAKTERYSTYKI CZĘSTOTLIWOŚCIOWE

1. Opis teoretyczny regulatora i obiektu z opóźnieniem.

Rok akademicki: 2014/2015 Kod: RME s Punkty ECTS: 6. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

O co chodzi z tym MATLAB'em?!

Podstawy Automatyki. Wykład 2 - podstawy matematyczne. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

KOMPUTERY W STEROWANIU. Ćwiczenie 5 Projektowanie kompensatora cyfrowego metodą symulacji

3. PŁASKI STAN NAPRĘŻENIA I ODKSZTAŁCENIA

Ćwiczenie 7. Zasady przygotowania schematów zastępczych do analizy stanów ustalonych obliczenia indywidualne

SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI

Różniczkowanie numeryczne

Podstawy Automatyki. Wykład 4 - algebra schematów blokowych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

LABORATORIUM PODSTAW AUTOMATYKI

PORÓWNANIE WYBRANYCH SCHEMATÓW RÓŻNICO- WYCH NA PRZYKŁADZIE RÓWNANIA SELECTED DIFFERENTIAL SCHEMES COMPARISON BY MEANS OF THE EQUATION

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

Metrologia Techniczna

8. Realizacja projektowanie i pomiary filtrów IIR

Regulacja dwupołożeniowa.

Przekształcanie schematów blokowych. Podczas ćwiczenia poruszane będą następujące zagadnienia:

Elektrodynamika. Część 2. Specjalne metody elektrostatyki. Ryszard Tanaś. Zakład Optyki Nieliniowej, UAM

ROZWIĄZANIA I ODPOWIEDZI

Pole temperatury - niestacjonarne (temperatura zależy od położenia elementu ciała oraz czasu) (1.1) (1.2a)

1 Równania różniczkowe zwyczajne o rozdzielonych zmiennych

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

INSTRUKCJA Regulacja PID, badanie stabilności układów automatyki

Sterowaniem nazywamy celowe oddziaływanie na przebieg procesów. Można wyróżnid ręczne oraz automatyczne.

Układy równań i równania wyższych rzędów

Zadania zaliczeniowe z Automatyki i Robotyki dla studentów III roku Inżynierii Biomedycznej Politechniki Lubelskiej

Inteligencja obliczeniowa

Rys.1. Model cieplny odcinka toru prądowego reprezentowany elementami biblioteki Power System Blockset

przy warunkach początkowych: 0 = 0, 0 = 0

Metody Optymalizacji Laboratorium nr 4 Metoda najmniejszych kwadratów

Podstawy Automatyki. Wykład 4 - algebra schematów blokowych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

1. Podstawowe pojęcia

Metody numeryczne Wykład 4

1. Regulatory ciągłe liniowe.

Wykład Pole magnetyczne, indukcja elektromagnetyczna

TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

Podstawy Automatyki. Wykład 2 - modelowanie matematyczne układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Regulator PID w sterownikach programowalnych GE Fanuc

KO OF Szczecin:

Transformata Laplace a to przekształcenie całkowe funkcji f(t) opisane następującym wzorem:

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

Pole temperatury - niestacjonarne (temperatura zależy od położenia elementu ciała oraz czasu)

Podstawy Automatyki. Wykład 4 - algebra schematów blokowych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

SYSTEM DO POMIARU STRUMIENIA OBJĘTOŚCI WODY ZA POMOCĄ ZWĘŻKI

Opis systemów dynamicznych w przestrzeni stanu. Wojciech Kurek , Gdańsk

Wprowadzenie do technik regulacji automatycznej. prof nzw. dr hab. inż. Krzysztof Patan

TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

Automatyka i robotyka ETP2005L. Laboratorium semestr zimowy

Podstawy Automatyki. Wykład 2 - modelowanie matematyczne układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

1. POJĘCIA PODSTAWOWE I RODZAJE UKŁADÓW AUTOMATYKI

Ćwiczenie nr 1 Odpowiedzi czasowe układów dynamicznych

Ważny przykład oscylator harmoniczny

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

2+3*5= 2+3/5= 2+3spacja/5= <Shift+6> 3 spacja / spacja <Shift+6> 1/3 = ( ) a:10. zmienna π jest już zdefiniowana w programie

Sterowniki Programowalne (SP) Wykład 11

1. Podstawowe pojęcia w wymianie ciepła

w.solnik, z.zajda Sieci przemysłowe Profibus DP i MPI w automatyce 1

Transkrypt:

Akaemia Morska w Gyni Katera Automatyki Okrętowej Teoria sterowania Mirosław Tomera Można zaprojektować ukła sterowania ciągłego i zaimplementować go w ukłaach sterowania cyfrowego stosując metoy aproksymacji równań różniczkowych. Ukła taki bęzie mógł spełniać zaane wymagania jakościowe jeśli częstotliwość próbkowania bęzie przynajmniej 30 razy większa o szerokości pasma ukłau. Na rysunku 1(a) pokazany jest typowy ukła ciągły. Obliczenie sygnału uchybu e i kompensacja ynamiczna C(s) może zostać zrealizowana w komputerze tak jak pokazano to na rysunku 1(b). Postawowe różnice pomięzy tymi woma implementacjami są takie, że ukła cyfrowy przetwarza próbki pomierzonego sygnału wyjściowego, a nie sygnał ciągły i ynamika opisana przez C(s) jest implementowana przez równania algebraiczne, które nazywają się równaniami różnicowymi. Regulator ciągły Obiekt r( e( C(s) u( G(s) Czujnik H(s) (a) Regulator cyfrowy r( T r( e( Równania różnicowe u( C/A i hol u( Obiekt G(s) Zegar C/A Impulsator T Czujnik H(s) (b) Rys. 1. Postawowy schemat blokowy ukłau sterowania, (a) ukła ciągły, (b) z systemem mikropcesorowym. Ostatnia aktualizacja: 015-01-0 M. Tomera 1

Pewnym szczególnym sposobem zrealizowania aproksymaty la komputera cyfrowego w celu rozwiązania równania różniczkowego jest metoa Eulera. Metoa ta wyprowazona została z następującej efinicji różniczki. x x lim t 0 t gzie x jest zmianą zmiennej x w czasie t, nawet jeśli t nie jest całkiem równe zero to ta zależność może być prawziwa po zastosowaniu poniższych aproksymat. W metozie Eulera wyróżnia się wie metoy: aproksymację prostokątną w przó (forwar rectangular rule) x k x k x. ( 1) ( ) k () T gzie: T t k 1 t k (przeział próbkowania w sekunach) t k kt (la stałego przeziału próbkowania) k liczba całkowita x( wartość x w chwili t k x(k+1) wartość x w chwili t k+1 aproksymację prostokątną wstecz (backwar rectangular rule) x k x k x. ( ) ( 1) k (3) T gzie: T t k tk 1 (przeział próbkowania w sekunach) t k kt (la stałego przeziału próbkowania) k liczba całkowita x( wartość x w chwili t k x(k 1) wartość x w chwili t k 1 Aproksymacje te mogą być używane w miejsce wszystkich różniczek, które pojawiają się w równaniach różniczkowych regulatora po to aby uzyskać zbiór równań, które mogą być rozwiązane przez komputer cyfrowy. Równania te nazywane są równaniami różnicowymi i są rozwiązywane cyklicznie z krokiem czasu o ługości T. Przykła pierwszy ilustruje sposób uzyskiwania równań różnicowych na postawie równań różniczkowych metoą yskretyzacji Eulera aproksymacją wprzó. Przykła 1 Korzystając z metoy Eulera w przó, okonaj yskretyzacji z okresem próbkowania T = 0.1 [s] następującego równania różniczkowego z warunkami początkowymi y ( + + 5 y ( = 10 1( (1.1) y (0) = 4 (1.) y (0) = 10 (1.3) a) Na postawie uzyskanego równania różnicowego wygeneruj w Matlabie kolejne próbki sygnału yskretnego. b) Zaimplementuj w Simulinku powyższe równanie różniczkowe wraz z warunkami początkowymi. c) Dokonaj porównania na wykresie wyników uzyskanych w punkcie (a) i (b). Ostatnia aktualizacja: 015-01-0 M. Tomera

Rozwiązanie: Chcąc uzyskać postać yskretną równania różniczkowego (1.1) w pierwszej kolejności należy zastąpić pochone opowienimi różnicami czyli równanie różniczkowe przechozi w następujące równanie różnicowe y ( + + 5 y ( = 10 1( (1.4) T T Przy użyciu metoy prostokątnej Eulera w przó pierwsza różnica zapisywana jest następująco: = y ( k 1) y kt (1.5) natomiast ruga różnica = y y k ( = y ( k ) y ( + kt y (1.6) Postawiając różnice opisane wzorami (1.5) oraz (1.6) o równania różnicowego (1.4) i przekształcając je uzyskuje się następującą postać naającą się o implementacji komputerowej ( k = T y k 1 T y ) + T 5 T y k 1 + 10 T 1( (1.7) Po postawieniu o wzoru (1.7) okresu próbkowania T = 0.1 [s] uzyskuję się następujące równanie różnicowe y ( k ) 1.8 y ( + 0.85 = 0.1 1( (1.8) Pozostaje o przeliczenia jeszcze rugi warunek początkowy y ( 1) 0) y (0) = T Stą wyznaczona zostanie wartość la k = 1. (1.9) y = 0) + T y (0) (1.10) Równanie różnicowe (1.7) wraz z warunkami początkowymi (1.8) oraz (1.9) można rozwiązać bezpośrenio w Matlabie przy użyciu opowienio zapisanego programu. Aby zaimplementować w Simulinku równanie różniczkowe (1.1) wraz z warunkami początkowymi to najpierw należy to równanie zapisać w postaci zmiennych ynamicznych. 1 x x x (0) 4. x y 1 x x 10 1( x (0) 10 (1.11) x 1 5 1 Równania (1.10) można zamoelować w postaci następującego moelu Simulinka (Rys. 1.1), który zachowany został po nazwą ex_1_sim.ml. Rys. 1.1. Schemat pozwalający na rozwiązanie w Simulinku równań ynamicznych (1.11). Ostatnia aktualizacja: 015-01-0 M. Tomera 3

Na rysunku 1. znajują się wyniki rozwiązania równania różniczkowego i uzyskanego równania różnicowego la T = 0.1 [s]. 6 Przybliżone rozwiązanie równania różniczkowego 4 0 - -4-6 0 1 3 4 5 6 t [s] Rys. 1.. Uzyskane wyniki rozwiązania równania różniczkowego (linia ciągłą) i równania różnicowego (próbki) uzyskanego z yskretyzacji la okresu próbkowania T = 0.1 [s]. Wyniki przestawione na rysunku 1.. uzyskane zostały przy użyciu następującego kou programu zapisanego w Matlabie. close all clear tmax = 6; open_system('ex_1_sim') sim('ex_1_sim',tmax) close_system % Zamknięcie wszystkich okien graficznych % Wyczyszczenie pamięci roboczej Matlaba % Ocinek czasu % Otwarcie przygotowanego moelu Simulinka % Wykonanie symulacji w zaanym ocinku % czasu % Zamknięcie moelu Simulinka tc = tout; yc = wyniki_sym(:,); % Rozwiązanie yskretne Tp = 0.1; y0 = -4; Dy0 = -10; y1 = y0 + Dy0*Tp; % Postawienie wektora czasu % Pobranie z przestrzeni roboczej Matlaba % uzyskanego rozwiązania % Okres próbkowania % Warunki początkowe % Przeliczenie wartości początkowych % na wartość rugiej próbki tk = 0*Tp; % Współrzęne pierwszych wóch próbek yk = y0; tk() = 1*Tp; yk() = y1; for k = 1:(tmax/Tp)-1; tk(k+) = (k+1)*tp; yk(k+) = (-*Tp)*yk(k+1) - (1-*Tp+5*Tp^)*yk( + 10*Tp^; en; % Wykreślenie uzyskanych wyników w Matlabie figure Ostatnia aktualizacja: 015-01-0 M. Tomera 4

plot( tc, yc, 'k-', tk, yk, 'ko') title('rozwiązanie równania różnicowego') xlabel('t [s]') ylabel('') gri on Przykła Korzystając z metoy prostokątów Eulera z reguły wstecznej, okonaj yskretyzacji równania różniczkowego (1.1) wraz z warunkami początkowymi (1.) i (1.3) znajującego się w przykłazie 1. Okres próbkowania T = 0.1 [s]. Na wykresie okonaj porównania wyników uzyskanych obywoma metoami. Rozwiązanie: Chcąc uzyskać postać yskretną równania różniczkowego (1.1) metoą prostokątów Eulera wstecz postępuje się w poobny sposób jak w przykłazie 1. Do równania (1.5) okonuje się następujących postawień: pierwsza różnica zapisywana jest następująco: = y kt y ( k 1) (.1) natomiast ruga różnica = y k y ( = y kt y ( + y k ) ( (.) Postawiając różnice opisane wzorami (.1) oraz (.) o równania różnicowego (1.4) i przekształcając je uzyskuje się w ten sposób kolejną postać równania naającą się o implementacji komputerowej T y ( = y k 1 T 1 T 5T 1 y k T 1 T 5T 10T + 1( 1 T 5T Po postawieniu o wzoru (.3) okresu próbkowania T = 0.1 [s] uzyskuje się następujące równanie różnicowe (.3) 6 Przybliżone rozwiązania równania różniczkowego m. Eulera w przó 4 0 m. Eulera wstecz - -4-6 0 1 3 4 5 6 t [s] Rys..1. Porównanie rozwiązań równań różnicowych uzyskanych z aproksymacji równania różniczkowego (linia ciągłą) metoą prostokątów Eulera przy użyciu reguł w przó i wstecz la okresu próbkowania T = 0.1 [s]. Ostatnia aktualizacja: 015-01-0 M. Tomera 5

y ( 1.76 y ( + 0.8 y ( k ) = 0.08 1( (.4) Warunki początkowe przelicza się w ientyczny sposób jak w metozie Eulera w przó. Z porównania uzyskanych równań (1.8) oraz (.4) wiać, że różnią się mięzy sobą wartościami współczynników. Na rysunku.1 okonane zostało porównanie uzyskanych wyników. W przykłazie przestawione zostało porównanie aproksymacji rozwiązań równania różniczkowego przy użyciu metoy prostokątnej Eulera. Z rysunku.1 wynika, że jeśli o aproksymacji zastosuje się regułę Eulera w przó wówczas uzyskuje się rozwiązania z namiarem, natomiast przy zastosowaniu reguły Eulara wstecz rozwiązania z nieomiarem. ĆWICZENIA W MATLABIE M.1. Poniższe równania różniczkowe zaimplementuj w postaci schematów Simulinka, następnie korzystając z metoy prostokątów Eulera w przó (forwar rectangular rule) wyznacz aproksymujące równania różnicowe. Okres próbkowania T = 0.1 [s]. Sekwencyjnie przy użyciu Matlaba wykreśl rozwiązania równań różnicowych i porównaj je z rozwiązaniami uzyskanymi w Simulinku. a) b) 3 + 5 3 y (0) = 1 y (0) = 1 () y (0) = 1 y (0) = 0 y ( + 5 y (0) = y ( + 4 y ( c) + y ( = 6 cos t y (0) = ) 3 + 4 3 y (0) = 1 y (0) = 1 () y (0) = 1 y ( 1 e) + y ( = t y (0) = 1 + 6 y ( = e t y ( + 3 = ( = 3 ( f) g) h) i) j) l) y ( + 3 y ( = 4sin 4t y (0) = 1 y ( + 4 y (0) = 3 y (0) = y (0) = 0 y ( + 3 y (0) = 1 y ( + y 0 = 0 y = 3 y ( + y 0 = 1 0 y = y ( + y = 1 0 0 y = y ( + 3 y 0 = 0 0 y = 3 + 5 y ( = 1( t ) + y ( = 3 e 3t + y ( = sint + y ( = 5 1( + 4 y ( = cos3t + 6 y ( = e t sin 3t Ostatnia aktualizacja: 015-01-0 M. Tomera 6

M.. Przy użyciu metoy prostokątów Eulera wstecz (backwar rectangular rule) wyznacz aproksymujące równania różnicowe la równań różniczkowych znajujących się w zaaniu M.1. Okres próbkowania T = 0.1 [s]. Sekwencyjnie przy użyciu Matlaba wykreśl rozwiązania i porównaj je z rozwiązaniami uzyskanymi w zaaniu M.1. ODPOWIEDZI DO WYBRANYCH ĆWICZEŃ M1. a) k 3).5 k ).04 0.54 0.0 ( y ( 1) 0.9 y ( ) 0.81 b) k k ) 1.5 0.56 0.0 0. 9048 y ( 1) 0. c) 0.8 0.6 cos 0. k y ( 0) ) k 3).6 k ).3 0.63 0.03 ( y ( 0) 1 y ( 1) 1.1 y ( ) 1.19 e) k 1) 0.8 0.0005 k y ( 0) 1 f) 0.7 0.4 sin 0. 4 k g) k ) 1.6 0.65 0.01 1( y ( 0) 3 y ( 1).8 k ) 1.7 0.7 0.03 0. 7408 h) k y ( 1) 0.1 i) k ) 1.8 0.8 0.01 sin 0. k y ( 0) y ( 1) 1.7 j) k ) 1.8 0.81 0.05 1( y ( 1) 0.8 k ) 1.9 0.94 0.01 cos 0. 3 k y ( 1) 1. k l) k ) 1.7 0.76 0.01 0.8187 sin 0. 3 k Ostatnia aktualizacja: 015-01-0 M. Tomera 7

y ( 1) 0.3 M. a).634.77 k ) 0.6494 k 3) 0.013 ( y ( 1) 0.9 y ( ) 0.81 1.606 0.6410 k ) 0.018 0. 9048 b) k y ( 1) 0. c) 0.8333 0.5 cos 0. k y ( 0) ).6783.3776 k ) 0.6993 k 3) 0.01 ( y ( 0) 1 y ( 1) 1.1 y ( ) 1.19 e) 08333. 0.0004 k y ( 0) 1 f) 0.769 0.3077 sin 0. 4 k g) 1.655 0.6897 k ) 0.0069 1( y ( 0) 3 y ( 1).8 1.744 0.7576 k ) 0.07 0. 7408 h) k y ( 1) 0.1 i) 1.8033 0.8197 0.008 sin 0. k y ( 0) y ( 1) 1.7 j) 1.818 0.864 k ) 0.0413 1( y ( 1) 0.8 1.841 0.877 k ) 0.0088 cos 0. 3 k y ( 1) 1. k l) 1.691 0.7353 k ) 0.0074 0.8187 sin 0. 3 k y ( 1) 0.3 LITERATURA 1. Amborski K., Teoria sterowania. Poręcznik programowany, PWN, Warszawa, 1985.. Franklin G.F, Powell J.D., Emami-Naeini A. Digital Control of Dynamic Systems, 3r e. Aison-Wesley Publishing Company, 1998. Ostatnia aktualizacja: 015-01-0 M. Tomera 8

% Rozwiązanie równania różniczkowego % % y''( + *y'( + 5* = 10*1( % % różnymi metoami % % Copyright (c) by Mirosław Tomera % Date: 007/1/11 clear close clc tmax = 6; y0 = -4; Dy0 = -10; % Warunki początkowe %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Rachunek operatorowy Laplace'a numc = [-4-18 10] enc = [1 5 0] [rc, pc, kc] = resiue( numc, enc) M = abs( rc) fi = angle( rc)*180/pi A = *M sigma = real( pc) w = imag( pc) tc = [0:0.1:tmax]'; yc = A*exp(sigma*tC).*cos(w*tC + fi*pi/180) + rc(3); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Rozwiązania przybliżone - metoami Eulera Tp = 0.1; % Okres próbkowania % Rozwiązanie yskretne metoą Eulera w przó y0a = y0; % Warunki początkowe Dy0a = Dy0; y1a = y0a + Dy0a*Tp; % Przeliczenie wartości początkowych % na wartość rugiej próbki tka = 0*Tp; % Współrzęne pierwszych wóch próbek yka = y0a; tka() = 1*Tp; yka() = y1a; for k = 1:(tmax/Tp)-1; tka(k+) = (k+1)*tp; yka(k+) = (-*Tp)*yka(k+1) - (1-*Tp+5*Tp^)*yka( + 10*Tp^; en; % Rozwiązanie yskretne metoą Eulera wstecz y0b = y0; % Warunki początkowe Dy0b = Dy0; y1b = y0b + Dy0b*Tp; % Przeliczenie wartości początkowych % na wartość rugiej próbki tkb = 0*Tp; % Wartości pierwszych wóch próbek ykb = y0b; Ostatnia aktualizacja: 015-01-0 M. Tomera 9

tkb() = 1*Tp; ykb() = y1b; MM = (1 + *Tp + 5*Tp^); % Mianownik współczynników równania różnicowego a_1 = (+*Tp)/MM a_0 = 1/MM b_0 = 10*Tp^/MM for k = 3:(tmax/Tp)-1; tkb( = (k-1)*tp; ykb( = ((+*Tp)/MM)*ykb(k-1) - (1/MM)*ykb(k-) + 10*Tp^/MM; en; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Symulacja równania w Simulinku open_system('ex_1_sim') % Otwarcie moelu Simulinka sim('ex_1_sim',tmax) % Wykonanie symulacji w zaanym ocinku % czasu close_system % Zamknięcie moelu Simulinka ts = tout; % Postawienie wektora czasu ys = wyniki_sym(:,); % Pobranie z przestrzeni roboczej Matlaba % uzyskanego rozwiązania %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Zastosowanie funkcji ODE45 tp = 0; % początek symulacji tk = tmax; % czas końcowy symulacji y0a = -4; % Warunki początkowe Dy0a = -10; x0 = [y0; Dy0]; % Wektor warunków początkowych % OPTIONS - ustala maksymalny krok całkowania OPTIONS = oeset('maxstep',0.01,'initialstep',0.01); [tc_oe,x] = oe45(@plikfun,[tp,tk], x0, OPTIONS); yc_oe = x(:,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Zastosowanie funkcji LSIM tn = [0:0.01:tmax]; % Wektor czasu [m,n] = size(tn); un(1:n) = 10; % Sygnał sterujący A = [0 1; -5 -]; % Macierze opisujące równania B = [0;1]; % ynamiczne C = [1 0]; D = 0; sys = ss(a, B, C, D); % yn = lsim( sys, un, tn, x0); % Wykreślenie uzyskanych wyników w Matlabie figure plot( tc, yc, 'k-', ts, ys, 'b:', tka, yka, 'ko', tkb, ykb, 'k*',... tc_oe, yc_oe, 'r-', tn, yn, 'y-') title('rozwiazania rownania różniczkowego') xlabel('t [s]') ylabel('') gri on Ostatnia aktualizacja: 015-01-0 M. Tomera 10

% plikfun.m % Plik zawierający prawe strony równań różniczkowych % zapisanych w postaci macierzowej % % Rozwiązane równanie: % y''( + *y'( + 5* = 10*1( % % Copyright (c) by Mirosław Tomera % Date: 007/1/11 function x = plikfun(t, x) u = 10; % u( = A*1(, gzie A = 10 x = [0 1; -5 -]*x + [0;1]*u; Ostatnia aktualizacja: 015-01-0 M. Tomera 11