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

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

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

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

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

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

Rozwiązywanie równań różniczkowych zwyczajnych za pomocą komputera

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

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

Wprowadzenie do Mathcada 1

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

Laboratorium 1b Operacje na macierzach oraz obliczenia symboliczne

Wprowadzenie do SIMULINKA

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

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

Informatyczne Systemy Sterowania

Matlab (5) Matlab równania różniczkowe, aproksymacja

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

Różniczkowanie numeryczne

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

INSTRUKCJA DO ĆWICZENIA NR 7

1 Programowanie w matlabie - skrypty i funkcje

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

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

Na podstawie informacji zdobytych na poprzednich zajęciach proszę wykonać następujące zadania:

Ćwiczenie 4. Matlab - funkcje, wielomiany, obliczenia symboliczne

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

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

Wprowadzenie do środowiska

Ćwiczenie 3. Iteracja, proste metody obliczeniowe

Definicje i przykłady

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

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

Katedra Automatyzacji Laboratorium Podstaw Automatyzacji Produkcji Laboratorium Podstaw Automatyzacji

Transmitancje układów ciągłych

Ćwiczenie 3 Badanie własności podstawowych liniowych członów automatyki opartych na biernych elementach elektrycznych

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

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

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

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Podstawy Informatyki 1. Laboratorium 8

Procedura modelowania matematycznego

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

O co chodzi z tym MATLAB'em?!

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

Wydział Fizyki i Informatyki Stosowanej

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Zanim zaczniemy GNU Octave

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

Analiza matematyczna dla informatyków 3 Zajęcia 14

Mathematica III Równania różniczkowe, układy równań różniczkowych, wykresy, badanie funkcji, importowanie danych, instrukcje warunkowe, pętle

TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

Modelowanie wybranych zjawisk fizycznych

Sposoby modelowania układów dynamicznych. Pytania

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

RÓWNANIA RÓŻNICZKOWE WYKŁAD 1

Spis rysunków Widok okien głównych Matlaba i Scilaba Edytory skryptów w Matlabie i Scilabie... 7

PODSTAWY AUTOMATYKI. Wprowadzenie do Simulinka środowiska MATLAB. Materiały pomocnicze do ćwiczeń laboratoryjnych - - termin T3

Wykorzystanie programów komputerowych do obliczeń matematycznych, cz. 2/2

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

PROGRAMOWANIE W ŚRODOWISKU MATLAB

TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

Program na zaliczenie: Odejmowanie widm

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania Podstawy Automatyki laboratorium

Modelowanie systemów empirycznych - analiza modelu amortyzacji samochodu o dwóch stopniach swobody

1. Transformata Laplace a przypomnienie

Identyfikacja i modelowanie struktur i procesów biologicznych

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

Podstawy MATLABA, cd.

LABORATORIUM MODELOWANIA I SYMULACJI. Ćwiczenie 4 PODSTAWOWE UKŁADY DYNAMICZNE

MATLAB tworzenie własnych funkcji

WPROWADZENIE ŚRODOWISKO OBLICZEŃ NUMERYCZNYCH MATLAB - SIMULINK

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

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

Laboratorium Cyfrowego Przetwarzania Obrazów

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

Symulacja pracy silnika prądu stałego

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

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

PRZEWODNIK PO PRZEDMIOCIE

Komputerowa analiza zagadnień różniczkowych 10. Dwupunktowe problemy brzegowe (BVP, Boundary Value Problems)

UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia:

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

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

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

Wykład X Rozwiązywanie zagadnień początkowych dla równań różniczkowych zwyczajnych

INSTRUKCJA LABORATORIUM ELEKTROTECHNIKI

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

Równania nieliniowe. LABORKA Piotr Ciskowski

Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Laboratorium elementów automatyki i pomiarów w technologii chemicznej

interaktywny pakiet przeznaczony do modelowania, symulacji, analizy dynamicznych układów ciągłych, dyskretnych, dyskretno-ciągłych w czasie

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

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

Rozwiązywanie równań liniowych. Transmitancja. Charakterystyki częstotliwościowe

Analiza matematyczna Mathematical analysis. Transport I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Automatyka i robotyka ETP2005L. Laboratorium semestr zimowy

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

PRZEWODNIK PO PRZEDMIOCIE

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

Transkrypt:

. Cele ćwiczenia Laboratorium nr Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi zapoznanie się z metodami symbolicznego i numerycznego rozwiązywania równań różniczkowych w Matlabie, wykorzystanie Simulinka do tworzenia modelu równania różniczkowego, archiwizacja otrzymanych rozwiązań. Wprowadzenie teoretyczne.. Symboliczne rozwiązywanie równań różniczkowych funkcja dsolve() Rozwiązywanie symboliczne polega na obliczeniach wykonywanych na wyrażeniach matematycznych, a nie na liczbach (rozwiązanie numeryczne), w wyniku czego dostajemy również wyrażenie matematyczne. Przy pomocy zmiennych symbolicznych oraz przy wykorzystaniu funkcji dsolve() możliwe jest rozwiązanie równania różniczkowego dowolnego rzędu. W rozwiązywaniu symbolicznym równań różniczkowych najważniejsza jest zmienna D (duże D), która D = d D = d ) itd. Funkcja dsolve() domyślnie różniczkuje po czasie. określa różniczkę pierwszego stopnia ( ( ), podobnie D oznacza różniczkę drugiego stopnia Za pomocą funkcji dsolve() możliwe jest również rozwiązywanie układu równań różniczkowych jak i określanie warunków początkowych. Kolejne równania podajemy po przecinkach, a po nich warunki początkowe, również oddzielone przecinkami: dsolve( rownanie, rownanie,, warunek, warunek ); Przykład : Rozwiązać równanie różniczkowe d x dx + 3 + x = 0 wykorzystując funkcję dsolve(). przy war. pocz. ( 0 ) = 0 Rozwiązanie: Tworzymy m-plik o nazwie rozw.m dx x, ( 0) = syms x y; % definicja zmiennych symbolicznych x i y y = dsolve('dx + 3*Dx + *x=0', 'x(0)=0', 'Dx(0)='); % równanie wraz z % warunkami początkowymi pretty(y); % wypisanie rozwiązania t=0:0.0:9.99; % definicja wektora czasu w=subs(y); % wartość liczbowa y wyliczona poprzez podstawienie % zdefiniowanego wcześniej wektora t plot(t,w,'r-'); % narysowanie wykresu xlabel('czas[s]'); ylabel('amplituda sygnalu'); title('wykres rozwiazania rownania rozniczkowego'); grid; Rozwiązanie równania różniczkowego w postaci wyrażenia matematycznego oraz wykresu otrzymujemy wywołując w oknie komend MATLABA funkcję >> rozw

.. Numeryczne rozwiązywanie równań różniczkowych funkcja ode() MATLAB zawiera funkcje rozwiązujące zagadnienie początkowe dla równań różniczkowych zwyczajnych za pomocą np. par metod Rungego-Kutty rzędu i 3 (funkcja ode3) oraz rzędu 4 i 5 (funkcja ode45). Funkcje te rozwiązują zagadnienie początkowe dla układów równań zwyczajnych postaci: Składnia funkcji: dx = F ( t, x ), x( t ) x 0 = 0 [T, X] = ode3 ( F(t, x), [t0 tk], x0, options) [T, X] = ode45 ( F(t, x), [t0 tk], x0, options) Kolejne parametry wejściowe oznaczają: pierwszym parametrem musi być łańcuch zawierający nazwę zdefiniowanej przez użytkownika funkcji zwracającej wartości F(t, x), t0, tk - granice przedziału czasu, w którym poszukiwane jest rozwiązanie, x0 - określa warunek początkowy - wektor kolumnowy zawierający wartość rozwiązania układu w chwili początkowej, options dodatkowe parametry, które można ustawić przy pomocy instrukcji odeset: options = odeset( nazwa_parametru,wartosc, nazwa_parametru,wartosc, ) Wartością omawianych funkcji jest macierz X zawierająca umieszczone wierszowo wektory reprezentujące wartości rozwiązania w punktach określonych odpowiednimi elementami wektora kolumnowego t, który jest jedną z wartości funkcji ode3 i ode45. Przykład : Rozwiązać równanie różniczkowe z przykładu wykorzystując funkcję ode45. Rozwiązanie: Do rozwiązania zadania przy pomocy funkcji ode45 wykorzystano dwa pliki. W pierwszym z nich (funkcja.m) zapisujemy postać równania jako równania stanu: function xdot=funkcja(t,x) % Układ rownan rozniczkowych xdot=zeros(,); xdot()=x(); xdot()=(-*x()-3*x()); a w drugim (rozw.m) wprowadzamy parametry wejściowe, wywołujemy funkcję ode45 i rysujemy wykres rozwiązania: function rozw t0=0; clc disp('funkcja rozwiazuje rownanie rozniczkowe zwyczajne metoda '); disp('rungego - Kutty i podaje jego interpretacje graficzna:'); disp(' ');disp('postac rownania:');disp(' '); disp(' x``+ 3 x`+ x = 0'); x0=input ('Podaj wartosc x0 = '); x0=input ('Podaj wartosc x0 = '); tk=input ('Podaj czas symulacji tk = '); czas_sym=[t0 tk]; war_pocz=[x0 x0]; [t,x]=ode45('funkcja',czas_sym,war_pocz);

plot(t,x(:,),'g-'); xlabel('czas [s]');ylabel('amplituda sygnalu'); title('wykres rozwiazania rownania rozniczkowego'); grid; Rozwiązanie równania różniczkowego, w postaci wykresu, otrzymujemy wywołując w oknie komend MATLABA funkcję >> rozw.3. Rozwiązywanie równań różniczkowych przy pomocy pakietu Simulink Przykład 3: Rozwiązać równanie różniczkowe z przykładu wykorzystując model zbudowany w Simulinku. Rozwiązanie: Wprowadzając zmienne: otrzymujemy układ równań: x = x x = x& = x& x& x& = x = && x = 3x& x = 3x x na podstawie którego tworzymy poniższy model: + + Sum &x x X /s Int /s Int x(t) a -3 a0 - Ustalając warunki początkowe na obu integratorach (Int i Int) oraz dobierając odpowiednie parametry symulacji, w wyniku otrzymujemy wykres rozwiązania: 0.5 Wykres rozwiazania równania rózniczkowego 0.4 0.3 0. 0. 0 0 4 6 8 0 czas [s] Takie same wykresy rozwiązania równania różniczkowego można uzyskać w punktach. i. 3

Przykład 4: Skonstruować w Simulinku model równania różniczkowego du + 5 + 6y = + 3u, dla war.pocz. y(0) = y& 0 w postaci transmitancji operatorowej oraz w postaci równań stanu i równania wyjścia. Znaleźć odpowiedź skokową układu, gdy sygnałem wejściowym u(t) jest sygnał o amplitudzie równej jedności. Rozwiązanie: Równaniu różniczkowemu (zapisanemu jako transmitancja) odpowiada schemat blokowy przedstawiony poniżej: u s+3 s +5s+6 G(s) y Przyjmując określone parametry symulacji otrzymujemy rozwiązanie w postaci wykresu. Równaniu różniczkowemu zapisanemu jako x& = x x& = 6x 5x y = 3x + x + u odpowiada poniższy schemat blokowy: u b Sum /s Integrator /s Integrator 3 b0 Sum a -5 y a0-6 Ustalając zerowe warunki początkowe na integratorach oraz dobierając odpowiednie parametry symulacji otrzymujemy rozwiązanie w postaci wykresu, jak poprzednio..4. Archiwizacja uzyskanych rozwiązań równań różniczkowych na dysku Dla równania z przykładu 4 tworzymy poniższy schemat blokowy: u s+3 s +5s+6 G(s) y Clock wynik To Workspace 4

W przestrzeni roboczej Matlaba utworzona zostanie macierz o nazwie wynik, zawierająca trzy wektory zmiennych: czas symulacji, wymuszenie oraz odpowiedź skokowa układu. Aby zapisać tą macierz na dysku należy wykonać instrukcję: >> save wynik ascii Poleceniem clear czyścimy przestrzeń roboczą a następnie wprowadzamy macierz wynik ponownie do przestrzeni roboczej z dysku: >> load wynik ascii Ponowne wykreślenie uzyskanego rozwiązania równania z przykładu 4 można uzyskać po wpisaniu następujących instrukcji: >> t = wyniki(:,) % Wektor czasu >> u = wyniki(:,) % Wektor wymuszenia >> y = wyniki(:,3) % Wektor odpowiedzi >> plot( t, u, 'r', t, y, 'g') >> grid 3. Przebieg ćwiczenia Rozwiązać równania różniczkowe: a) + + 4y y& + & + + 3y dla war.pocz. y(0) =, y& + + 5y = 3, y& + + y = 4, dla war.pocz. y i y(0) & = + 4 + 3y =, y& + 3 + 9y y& b) 3 + y = 6, dla war.pocz. y i y c) 0 d) 0 e) 0 f) 0 g) wykorzystując funkcję dsolve, funkcję ode45 oraz model równania przygotowany w Simulinku. Wykreślić przebieg funkcji y(t) otrzymanej w każdym z trzech rozwiązań i porównać otrzymane wyniki na jednym wykresie. 4. Sprawozdanie z przebiegu ćwiczenia Na podstawie przeprowadzonych obliczeń należy przygotować sprawozdanie, które powinno zawierać rozwiązania wybranego równania różniczkowego z punktu 3, wykorzystujące metodę symboliczną, numeryczną oraz model równania w Simulinku. Podać wnioski końcowe. Literatura [] Brzózka J., Ćwiczenia z Automatyki w MATLABIE i SIMULINKU, Wydawnictwo Mikon, Warszawa 997 [] Tomera M., Wprowadzenie do MATLABA, http://www.am.gdynia.pl/~tomera/teoria_ster.htm, 004 [3] Zalewski A., Cegieła R., MATLAB: obliczenia numeryczne i ich zastosowania, Wydawnictwo Nakom, Poznań 996 5