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

Podobne dokumenty
Metody numeryczne równań różniczkowych zwyczajnych

Całkowanie numeryczne

x y

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 7a. Metody wielokrokowe

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

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

Wstęp do metod numerycznych 14. Kilka wstępnych uwag na temat numerycznego rozwiazywania równań różniczkowych zwyczajnych

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

INSTRUKCJA DO ĆWICZENIA NR 7

RÓWNANIA NIELINIOWE Maciej Patan

Metody Numeryczne w Budowie Samolotów/Śmigłowców Wykład I

Zagdanienia do egzaminu z Inżynierskich Metod Numerycznych - semestr 1

Matematyka stosowana i metody numeryczne

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017

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

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

Systemy. Krzysztof Patan

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

Metody numeryczne Numerical methods. Energetyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólnoakademicki / praktyczny)

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

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

Sposoby modelowania układów dynamicznych. Pytania

KADD Minimalizacja funkcji

Transmitancje układów ciągłych

Procedura modelowania matematycznego

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np.

Automatyka i robotyka ETP2005L. Laboratorium semestr zimowy

Inżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, Spis treści

Metody Obliczeniowe w Nauce i Technice

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Metody przybliżonego rozwiązywania równań różniczkowych zwyczajnych

1 Równania nieliniowe

Aproksymacja funkcji a regresja symboliczna

Rozwiązywanie równań nieliniowych

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

użyteczne, gdy problem nie wymaga zmiany dt ważne: schematy do rozwiązywania równań cząstkowych mają często wielokrokowy charakter

Zwięzły kurs analizy numerycznej

METODY NUMERYCZNE. Wykład 3. Plan. Aproksymacja Interpolacja wielomianowa Przykłady. dr hab.inż. Katarzyna Zakrzewska, prof.agh. Met.Numer.

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

Metody numeryczne rozwiązywania równań różniczkowych

Technika regulacji automatycznej

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Metody numeryczne Numerical methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Metoda Runge-Kutta-Fehlberga i sterowanie długością kroku

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

Metody numeryczne Numerical methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Przykładowy program ćwiczeń

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

Wykład z Technologii Informacyjnych. Piotr Mika

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

Metody numeryczne Wykład 7

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

PRZEWODNIK PO PRZEDMIOCIE

Metody Obliczeniowe w Nauce i Technice

Wstęp do równań różniczkowych

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

Regulator PID w sterownikach programowalnych GE Fanuc

Metody numeryczne I Równania nieliniowe

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

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

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Definicje i przykłady

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

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

Interpolacja. Interpolacja wykorzystująca wielomian Newtona

Podstawy Automatyki. Wykład 7 - obiekty regulacji. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

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

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

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

Komputerowa analiza zagadnień różniczkowych 6. Metody wielokrokowe. P. F. Góra

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

Modelowanie wybranych zjawisk fizycznych

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

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

Wstęp do równań różniczkowych

Egzamin / zaliczenie na ocenę* 1,6 1,6

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

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

Równania różniczkowe zwyczajne

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

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

INTERPOLACJA I APROKSYMACJA FUNKCJI

Zagdanienia do egzaminu z Inżynierskich Metod Numerycznych - semestr zimowy 2017/2018

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

pozbyć się ograniczenia na krok czasowy ze strony bezwzględnej stabilności: niejawna metoda Eulera

Egzamin z Metod Numerycznych ZSI, Grupa: A

WYMAGANIA DOTYCZĄCE ZALICZENIA ZAJĘĆ

OBLICZANIE POCHODNYCH FUNKCJI.

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

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

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Wykład 3 Równania rózniczkowe cd

Paweł Kłosowski Andrzej Ambroziak METODY NUMERYCZNE W MECHANICE KONSTRUKCJI Z PRZYKŁADAMI W PROGRAMIE

Obliczenia iteracyjne

Laboratorium II: Modelowanie procesów fizycznych Skrypt do ćwiczeń

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski

Bardzo łatwa lista powtórkowa

Transkrypt:

Wykład X Rozwiązywanie zagadnień początkowych dla równań różniczkowych zwyczajnych Postawienie zadania i podstawowe idee jego rozwiązania Metody samostartujące (Eulera, Rungego-Kutty) Metody niesamostartujące (Adamsa-Bashforta-Moultona, Geara) Predykcja-korekcja, kontrola dokładności, adaptacja Symulacja systemów dynamicznych w Matlabie i Simulinku

Równania różniczkowe zwyczajne w technice Równania różniczkowe zwyczajne są jednym ze sposobów opisu zmienności systemów. W naturalny sposób powstają z zastosowania praw fizyki do modelowania zjawisk dynamicznych zachodzących w systemach. W takim ujęciu rozwiązanie polega na symulacji czasowej odpowiedzi systemu dynamicznego. Przykłady: prawa Kirchoffa dla układu zmiennoprądowego RLC, opis dynamiki termicznej czujnika temperatury z obudową, Opis elektromechaniczny silnika prądu stałego, dynamika systemów nietechnicznych modele zachowań drapieżcy-ofiary, reakcja psychologiczna na pobudzenie równanie różniczkowe z nieliniowościami układ Sample&Hold, klucz analogowy równanie różniczkowe z parametrami zmiennymi z czasem. Równania różniczkowe wyższego stopnia możemy sprowadzić do problemu wielowymiarowego pierwszego stopnia metodą podstawienia zmiennych uzyskując układ: dx( t) = t, u t t = yt = gx t, ut f( x () ()) x( 0) x 0 ( ) ( ) ( ) ( ) dt Przypadek liniowy wielu wejść i wielu wyjść (MIMO) prowadzi do powszechnie znanego opisu w postaci macierzowych równań stanu.

Podstawowe idee rozwiązań problemu Informacja dostępna w każdym kroku: bieżąca wartość stanu (bieżący punkt), wartość pochodnej stanu w bieżącym punkcie, Ewentualnie do wykorzystania w metodach wielokrokowych: poprzednie wartości stanu, poprzednie wartości pochodnej stanu Na tej podstawie należy wyznaczyć wartość stanu w następnym punkcie. Przykład Inercyjne wytracanie energii początkowej (elektrycznej, cieplnej, mechanicznej) Równanie różniczkowe i warunek początkowy opisujące taki proces ma postać: de 0.5 = E E( t0) = E0 dt T 0.4 Tempo utraty energii jest więc proporcjonalne do poziomu 0.3 0.2 tej energii, co determinuje trajektorie energii z dowolnego 0. warunku początkowego. Na rysunku przykład pola czasenergia z tendencją zmian (strzałki) i trajektorią dla E 0 0 =0.4. T=0.3; t=0:0.05:; E=-0.5:0.05:.5; plot(t,0.4*exp(-t/t),'r'), hold on; [tt,ee]=meshgrid(t,e); sc=30*sqrt(+/t^2*ee.^2); quiver(tt,ee,ones(size(tt))./sc,-/t*ee./sc,0); -0.5 0 0.2 0.4 0.6 0.8-0. -0.2-0.3-0.4

Najprostszy algorytm Eulera (o znaczeniu bardziej dydaktycznym niż praktycznym) wykorzystuje tylko informację dostępną w bieżącym punkcie (np. w punkcie startowym danym przez warunek początkowy jak na rysunkach). x Wynika stąd algorytm Eulera (ekstrapolacyjny, predykcyjny): x = k x + k t + f ( xk, tk) x 0 f(x 0,t 0 )??? Jego odmianą jest algorytm Eulera w postaci uwikłanej (interpolacyjny, korekcyjny): x = x + t f x, t ( ) k+ k k+ k+ Wzory te można też wyprowadzić z rozwinięcia ( ) xt wokół punktu t = t k w szereg Taylora (co można dalej uogólnić dla wyższego rzędu). x t 0 x 0 f(x 0,t 0 ) t 0 t 0 + t??? t 0 + t t t Wadą algorytmu Eulera jest kumulacja błędów w kolejnych krokach i konieczność stosowania małych kroków symulacji t z powodu zgrubnego oszacowania kierunku z pierwszej pochodnej. Dla naszego prostego przykładu z inercyjną utratą energii możemy zapisać wzór iteracyjny: T t T ekstrapolacja: Ek+ = Ek interpolacja: Ek Ek T = + T + t

Grupa algorytmów Rungego-Kutty wykorzystuje dodatkową informację w pośrednich punktach próbnych. Przybliżenie rozwiązania jest uśrednieniem wartości wynikających ze wszystkich punktów próbnych. Zależności zostały opracowane na zasadzie najlepszego przybliżenia schematu wynikającego z rozwinięcia Taylora odpowiedniego rzędu (ale bez użycia pochodnych) patrz np. Mathews Numerical Methods, Buchanan Numerical Methods and Analysis. Ilość punktów próbnych decyduje o rzędzie metody. Przykładowo metoda RK rzędu czwartego ma postać: x k x + k ( d 2d2 2d3 d4) 6 x gdzie: d = t f x, t 2 3 2 4 k 3 ( k k) ( k 2, k 2) ( k 2, k 2) (, ) d = t f x + d t + t d = t f x + d t + t d = t f x + d t + t k Algorytmy z tej grupy są najczęściej wykorzystywane w symulacjach. Tak jak metoda Eulera są to metody samostartujące ponieważ nie wykorzystują informacji z historii trajektorii stanu, w przeciwieństwie do dalej opisanych. x k t k t k + t t

Dopuszczając wykorzystanie informacji dostępnej w poprzednio wyznaczonych punktach trajektorii, tzn. informacji o stanie i informacji o pochodnej, możemy zdefiniować całą rodzinę algorytmów o ogólnej postaci: x I (, ) x = ax + t b f x t k+ i k+ i j k+ j k+ j i= j= 0 J x k-3??? t k-3 t k-2 t k- t k t Dobór współczynników wynika z aproksymacji wielomianowej trajektorii stanu. Tak więc metoda będzie dawała dokładne wyniki gdy trajektorię dokładnie opisuje wielomian zmiennej czasowej. Będą to algorytmy niesamostartujące, ponieważ potrzebują do działania historii trajektorii dłuższej niż ostatnio wyznaczony punkt. Wybierając rodzaj wykorzystywanej informacji (stan czy pochodne) i używane punkty (z bieżącym lub bez) uzyskujemy algorytmy predykcyjne (ekstrapolacyjne) Adamsa-Bashfortha, korekcyjne (interpolacyjne) Adamsa-Moultona, predykcyjny Geara.

Pierwsza grupa, tj. metody Adamsa-Bashfortha mają charakter ekstrapolacyjny, tzn. współczynnik b 0 =0 (nie dają równania uwikłanego). Przykładowo, metoda Adamsa-Bashfortha rzędu trzeciego ma wzór: t xk+ = xk + ( 23 fk 6 fk + 5 fk 2) 2 Metody Adamsa-Moultona to metody interpolacyjne, wykorzystujące informację o pochodnej w szacowanym punkcie stanu, wymagają więc rozwiązania równania uwikłanego. Przykładowo, metoda Adamsa-Moultona rzędu trzeciego ma wzór: t x = x + 5f + 8f f ( ) k+ k k+ k k 2 Do wystartowania tych metod kilka pierwszych wartości stanu wyznacza się metodą samostartującą (np. Euler albo RK). Szczególnie efektywna i stabilna dla rozwiązywania układów sztywnych (źle uwarunkowane równania stanu) okazała się metoda Geara. Jest to algorytm uwikłany, który korzysta tylko z poprzednich wartości stanu i z wartości pochodnej stanu w szacowanym punkcie. Przykładowo metoda Geara rzędu czwartego ma wzór: xk+ = ( 48 xk + 36 xk + 6 xk 2 + 3 xk 3+ 2 t fk+ ) 25 Oczywiście jest to również metoda niesamostartująca.

Algorytmy predykcyjno-korekcyjne Algorytmy korekcyjne (interpolacyjne, z zależnością uwikłaną) dają się czasami dla konkretnych symulowanych systemów przekształcić do postaci jawnej, jak w przykładzie z rozpraszaniem energii. Nie jest to jednak metoda ogólna. Numeryczne rozwiązanie problemu uwikłanego można uzyskać metodami poszukiwania zera funkcji nieliniowej np. iteracją Newtona. Inne rozwiązanie ( i+ ) ( i) to iteracja prosta wg zależności xk+ = F( xk+, tk+ ). Iteracja jednak kosztuje dużo czasu. Efektywne czasowo jest stosowanie par algorytmów predykcyjno-korekcyjnych. Algorytm predykcyjny oszacowuje następny punkt trajektorii, a algorytm korekcyjny dokonuje poprawki z wykorzystaniem cennej (bo najnowszej) informacji o pochodnej w oszacowanym punkcie. Często stosowana para to Adams-Bashforth + Adams-Moulton czwartego rzędu. Kontrola dokładności i algorytmy adaptacyjne Wszystkie wymienione algorytmy mają określone własności redukcji błędu ze zmianą kroku symulacji (co nie było podawane a jest w każdej książce nt. obliczeń numerycznych). Korzystając z tej informacji można poprzez porównanie wyników metody dla kroku bieżącego i dwukrotnie mniejszego oszacować bieżącą dokładność (dokładnie tak samo jak w algorytmach całkowania). Porównanie może równie dobrze dotyczyć wyników metod przy zmienianym rzędzie (jak w algorytmie adaptacyjnym Runge-Kutta-Fehlberg RK45). Celem kontroli dokładności jest adaptacyjny, w zależności od lokalnej dynamiki trajektorii, dobór długość kroku symulacji.

Symulacja systemów dynamicznych w Matlabie i Simulinku W Matlabie symulacje można prowadzić przy opisie transmitancyjnym lub w postaci liniowych równań stanu funkcjami wyznaczającymi odpowiedź na standardowe wymuszenie skokowe (step) i impulsowe (impulse). Obydwie opierają swoje działanie na transformacji modelu do postaci dyskretnej i iteracyjne wyznaczanie odpowiedzi układu dyskretnego. Dobór kroku czasowego i zakresu czasu symulacji jest dokonywany przez analizę części rzeczywistych wartości własnych macierzy dynamiki A. Podobnie działa funkcja wyznaczania odpowiedzi na zadane wejście lsim. W przypadku opisu systemu nieliniowego można wykorzystać funkcje Matlaba odeset, ode23, ode45 z generowaniem wejścia wewnątrz funkcji. W przypadku układów złożonych, które trudno opisać jedną transmitancją/równaniem stanu trzeba skorzystać ze środowiska dedykowanego Simulinka. Simulink oferuje do symulacji metody stało i zmiennokrokowe: Eulera Rungego-Kutty Adamsa-Bashfortha-Moultona NDF (podobna do metody Geara, dla układów sztywnych) Symulację można uruchamiać w środowisku Simulinka lub offline z Matlaba z użyciem funkcji simset (określenie metody, dokładności, itp.) i funkcji sim (symulacja). Modele symulacyjne można budować z modeli bibliotecznych (bloczków) lub programowo w postaci s-funkcji.

Przykład budowy s-funkcji model układu Sample&Hold Wejściowy sygnał Sample/Hold steruje procesem próbkowania i podtrzymania przez zmianę rezystancji klucza R k : R kz rezystancja klucza zamkniętego R ko rezystancja klucza otwartego Równanie różniczkowe opisujące sygnał wyjściowy ma postać: U wy = ( αuwy + RmUwe ) β Współczynniki równania różniczkowego są zależne od sygnału sterującego, więc jest to model o parametrach zmiennych z czasem. Jeśli Sample/Hold = 0 (próbkowanie) to α = Rs + Rkz + Rm β = ( Rs + Rkz ) RmCm w przeciwnym razie (podtrzymanie) α = Rs + Rko + Rm β = ( R + R ) R C s ko m m

Implementacja modelu w postaci s-funkcji (stary format) function [sys, x0] = sandhold(t,x,u,flag,rko,rkz,cm,rm,rs) if abs(flag) == % Zwraca wartosc pochodnych ciaglych zmiennych stanu SH = u(2); U = u(); if SH == 0 a=rs+rkz+rm; b=(rs+rkz)*rm*cm; else a=rs+rko+rm; b=(rs+rko)*rm*cm; end sys = (Rm*U-a*x)/b; end elseif flag == 3 % Zwraca wartosc sygnalu wyjsciowego sys = x; elseif flag == 0 % Zwraca status obiektu: sys = [ 0 0 0]; x0 = 0; else % Obiekt ciagly nie odpowiada na inne flagi sys = []; end Tak utworzony model zapisujemy do pliku, podpinamy do bloczka s-function z biblioteki Simulinka, ewentualnie maskujemy, żeby nadać mu łatwą do użytkowania formę i już możemy go używać jak każdy model-bloczek Simulinka, np. wstawiając go do modelu toru pomiarowego.