Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wprowadzenie do ciągłych układów dynamicznych Systemy wspomagania decyzji WSB, Nowy Sącz.

Podobne prezentacje


Prezentacja na temat: "Wprowadzenie do ciągłych układów dynamicznych Systemy wspomagania decyzji WSB, Nowy Sącz."— Zapis prezentacji:

1 Wprowadzenie do ciągłych układów dynamicznych Systemy wspomagania decyzji WSB, Nowy Sącz

2 Równaniem różniczkowym zwyczajnym rzędu pierwszego nazywamy równanie postaci gdzie Rozwiązaniem takiego równania nazywamy każdą funkcję y (t), która jest różniczkowalna i spełniania równość jest daną funkcją. Ponieważ pochodna funkcji mierzy szybkość zmiany funkcji względem jej argumentu, więc pochodna względem czasu oznacza szybkość zmiany w czasie. Możemy więc na równanie różniczkowe patrzeć jak na regułę, która opisuje ewolucję jakiejś wielkości w czasie. Uwaga. Pochodna funkcji może być też oznaczana przez d y /dt. Wtedy równanie rózniczkowe zapiszemy następujaco:

3 Przykład Rozważmy równanie Przykładowe rozwiązanie Sprawdzamy przez podstawienie Podane rozwiązanie nie jest jedyne, gdyż na przykład funkcja też spełnia to równanie.

4 Przykład Rozważmy równanie Sprawdzamy, że funkcja jest rozwiązaniem: W ogólnym przypadku każda funkcja postaci jest rozwiązaniem tego równania.

5 Powyższe przykłady pokazują, że samo równanie różniczkowe (reguła opisująca szybkość zminy) nie jest wystarczające, aby jednoznacznie zdeterminować ewolucje układu. Zagadnieniem początkowym (zagadnieniem Cauchyego) nazywamy następujące równanie gdzie są danymi liczbami (warunek początkowy), a jest daną funkcją. Warunek początkowy y (t 0 )= y 0 określa jaki był stan układu w chwili początkowej t=t 0.

6 Przykład Jakie jest rozwiązanie zagadnienia Cauchyego Rozwiązanie ogólne równania y = t y ma postać Podstawiamy warunek początkowy y(0)=2, co daje C=2. Zatem rozwiązaniem zagadnienia Cauchyego jest funkcja

7 Przykład Jakie jest rozwiązanie zagadnienia Cauchyego Rozwiązaniem problemu jest funkcja stale równa zero Ale rozwiązaniem jest także funkcja Mamy zatem przykład niejednoznaczności rozwiązania!

8 Metoda rozdzielania zmiennych Rozważmy równanie o rozdzielonych zmiennych Rozwiązywanie możemy symbolicznie opisać następująco

9 Przykład Znaleźć rozwiązanie równania co dajea więc rozwiązaniem jest

10 Ogólne równanie liniowe Rozwiązujemy najpierw równanie jednorodne: Teraz stałą uzmienniamy, czyli traktujemy jak funkcję Podstawiamy do wyjściowego równania i uzyskujemy elementarne równanie na C(t).

11 Przykład Rozwiązujemy: Uzmienniane stałej Ostatecznie

12 Równanie logistyczne Wzrost populacji można scharkteryzować podając współczynnik urodzeń b oraz współczynnik zgonów d. Wtedy współczynnik wzrostu populacji jest r=b-d. Na tej podstawie można napisać najprostrze równanie opisujące zmianę ilościową populacji: Rozwiązaniem tego równania jest funkcja Sens parametru C jest jasny: jest to początkowa wielkość populacji, C=y(0). Może więc napisać gdzie y 0 jest wielkością populacji w chwili t=0.

13 Równanie logistyczne (c.d.) Modyfikujemy założenie odnośnie współczynnika zgonów d: tzn. zakładamy, że nie jest on stały, ale rośnie wraz z liczebnością populacji. Pełne równanie dynamiczne opisujące ewolucję pupulacji ma teraz postać: Równanie to nazywa się równaniem logistycznym. Opisuje ono dość dobrze ewolucję pojedynczej populacji w środowisku o ograniczonych zasobach (np. hodowla bakterii). Wykres rozwiązania y=y(t) równania logistycznego dla a=2 oraz b=3 i czasu -3 t 5.

14 Przykładowa implementacja symulacji w środowisku Mathematica

15 Synteza bromowodoru z pierwiastków Synteza bromowodoru z pierwiastków jest reakcją złożoną o sumarycznym równaniu W roku 1906 wyznaczono eksperymetalnie następujące równanie kinetyczne tej reakcji Stałe kinetyczne k 1 oraz k 2 zależą od warunków przebiegu reakcji (temperatura, ciśnienie itp.). Eksperymetalnie wyznaczono, że w zwykłych warunkach k 20,1. Czasami równanie to jest zapisywane równoważnie tak

16 Synteza bromowodoru z pierwiastków (c.d.) Wprowadzamy oznaczenie y(t) = [HBr] oraz uwzględniamy bilans masy w równaniu co daje dodatkowe zależności Po podstawieniu do równania kinetycznego na d[HBr]/dt otrzymamy

17 Synteza bromowodoru z pierwiastków (c.d.) Przeprowadzając symulację podanego układu dynamicznego możemy precyzyjnie przewidzieć ewolucję stężenia składników – a w szczególności przewidziec czas trwania reakcji.

18 Zasadniczy fragment kodu w środowisku MATLAB, który dokonuje symulacji podanego przykładu ma postać: Synteza bromowodoru z pierwiastków (c.d.) Obliczenia wykonane są przez procedurę ode45, które implementuje jedną z najważniejszych metod numerycznych rozwiązywania układów dynamicznych – metodę Rungego-Kutty- Fehlberga 4-tego rzędu z adaptacyjnym krokiem całkowania.

19 W ogólnym przypadku możemy mieć n wielkości (niewiadomych) funkcji y 1 (t),…, y n (t), których ewolucja czasowa jest powiązana. Oznacza to, że dane jest n równań równań rózniczkowych zwyczajnych (tzn. układ równań): z warunkami początkowymi: gdzie liczbysą dane.

20 Równania Lotki jedna reakcja autokatalityczna Rozważny następującą sekwencję reakcji elementarnych: Powyższy mechanizm opisuje ostatecznie sumaryczną reakcję A B. Z postaci tego mechanizmu możemy postulować następujący układ równań różniczkowych zwyczajnych

21 Równania Lotki jedna reakcja autokatalityczna Wprowadzając wygodniejsze oznaczenia: Możemy układ ten przepisać w następującej formie: Główna część kodu w języku środowiska MATLAB do symulacji układu równań Lotki:

22 Równania Lotki jedna reakcja autokatalityczna Symulacje numeryczne Modelu Lotki w MATLAB-ie dla następujących parametrów: Czas symulacji przyjmiemy tend =5·10 5. Zastosowanie standardowej procedury ode45 (implementujacej metodę Rungego-Kutty 4-tego rzędu) z domyślnymi ustwieniami tolerancji błędów dla przypadku a) daje wyniki:

23 Równania Lotki przykładowy portret fazowy Poniżej jest przedstawiony portret fazowy układu Lotki dla danych z punktu a). Portret fazowy oznacza, że rysujemy wyniki obliczeń w układzie y1-y2. Tzn. na osi OX odkładane są wartości y 1 (t), a na osi OY wartości y 2 (t).

24 Równania Lotki-Volterry (dwie reakcje autokatalityczne) Jest to model podobny do modelu Lotki, ale tym razem występują dwie reakcje autokatalityczne: Sekwencja opisuje sumaryczną reakcję A B. Z postaci powyższego mechanizmu możemy postulować następujący układ równań różniczkowych zwyczajnych

25 Równania Lotki-Voltery (dwie reakcje autokatalityczne – c.d.) W układzie reakcji Lotki-Voltery zakładamy, że stężenie reagenta A jest stałe: [A]=const. Wprowadzając wygodne oznaczenia: [X]= y 1 (t), [Y]= y 2 (t), [A]=a możemy układ równań zapisać następująco: Układ ten ma ciekawą własność – występują w nim rozwiązania okresowe. Dokładnej, dla każdej pary warunków początkowych y 1 (0)= y 10 > 0, y 2 (0)= y 20 > 0 rozwiązania y 1 (t), y 2 (t) istnieją dla wszystkich t 0 i są funkcjami okresowymi.

26 Układ Lotki-Volterry jako prosty model drapieżnik-ofiara gdzie Ten sam układ równań może być wykorzystany do opisu prostego modelu interakcji pomiędzy dwoma populacjami: ofiar i drapieżników.

27 Układ Lotki-Volterry – przykładowe symulacje Do obliczeń weźmiemy następujące dane:

28 Przykłady zastosowań układów dynamicznych Mechanika – ruch ciał niebieskich, tory pocisków, sterowanie sonadmi kosmicznymi. Teoria obwodów elektrycznych – analiza modeli liniowych, oscylator van der Pola, generatory drgań sinusoidalnych. Modele dynamiczne w biologii – ewolucja populacji, modele drapieżnik ofiara, model Maya (ulepszony model Volterry-Lotki), model Zeemana pracy serca, potencjał czynnościowy w komórkach układu nerwowego. Modele dynamiczne w ekonomii – proste modele wzrostu, modele cyklu ekonomicznego.

29 Bruselator Jest to teoretyczny model dla autokatalitycznej reakcji z wszystkimi etapami nieodwracalnymi i takimi samymi stałymi szybkości k 1 =k 2 =k 3 =k 4 =1. Procesem sumarycznym jest: A+B D+E. Powyższy mechanizm prowadzi do następującego układu, gdy szybkość reakcji jest określona przez postacie reakcji

30 Wprowadzamy wygodniejsze oznaczenia: Parametry a i b są dodatnimi stałymi. Niewiadomymi są funkcje y 1 = y 1 (t), y 2 = y 2 (t). Równania opisujące Bruselator mają teraz postać: Powyższy układ równań generuje rozwiązania, których jakościowy charakter może istotnie się różnić w zależności od wzajemnej relacji parametrów a i b. W szczególności punkt stacjonarny tego układu staje się niestabilny gdy

31 Przykładowe dane do modelu Bruselator W obu przypadkach czas procesu t end = 120. a)b)

32 Metoda jawna Eulera: Metoda niejawna Eulera: Metoda Rungego-Kutty 2-go rzędu: Metoda Rungego-Kutty 4-go rzędu: gdzie:

33 Równania drugiego rzędu Rozważmy równanie ruchu wahadła matematycznego ( (t)=kąt wychylenia): Wprowadzając 2 = g / l otrzymujemy Zamieniamy na układ wprowadzając:

34 Równanie van der Pola gdzie y = y(t) jest funkcją czasu, a stała 0 charakteryzuje wielkość tłumienia. Równoważny układ równań pierwszego rzędu to: Równanie to zostało pierwotnie zaproponowane do opisu pewnego układu elektronicznego składającego się z obwodu rezonansowego RLC sprzężonego indukcyjnie z cewką. Przez cewkę płynie prąd zależny do napięcia nieliniowo. Dokładniej była to zależność trzeciego stopnia: Stosując prawa Kirchoffa do tego układu i wprowadzając przeskalowane nowe zmienne otrzymujemy standardowe równanie różniczkowe zwyczajne:

35 Numeryczne rozwiązywanie problemu początkowego dla równań różniczkowych w MATLAB-ie Środowisko MATLAB oferuje wiele numerycznych procedur rozwiązywania układów równań różniczkowych zwyczajnych. Do większości problemów – w szczególności takich, które nie są sztywne – wystarczy używać funkcji ode23 lub ode45. Obie funkcje implementują odpowiednie wersje metody Rungego-Kutty. W pierwszym przypadku są wykorzystywane metody RK drugiego i trzeciego rzędu, a w drugim – metody czwartego i piątego rzędu. W obu przypadkach stosowany jest zmienny krok całkowania (adaptacja kroku w zależności od lokalnie oszacowanego błędu). Dla problemów sztywnych mozna stosować np. procedurę ode23s. Układy równań mogą mieć postać jawną lub postać uwikłaną liniowo gdzie

36 Przykład Numeryczne całkowanie pojedynczego równania różniczkowego zwyczajnego Rozważmy zagadnienie początkowe Aby móc użyć procedurę ode23 lub ode45 należy zdefiniować prawą stronę równania, czyli f(t,y)=y(2-y). Można to zrobić w postaci tzw. funkcji anonimowej lub zawierając definicję funkcji w osobnym pliku. Przykład z funkcją anonimową i komendą w wierszu interpretera poleceń podany jest poniżej. Przedział całkowania to [0, 10], a warunek początkowy to y(0)=1.2.

37 Po wykonaniu poleceń w takiej formie jak widzimy na obrazie, MATLAB wyświetli rozwiązanie na wykresie, czyli zbiór punktów (t,y(t)) dla t [0, 10].

38 Drugi sposób definiowanie prawej strony zagadnienie początkowego polega na wpisaniu definicji funkcji do odrębnego pliku.m i wykorzystaniu go w procedurze ode23 (lub ode45 ). W oknie MATLAB-a klikamy ikonkę New Script i wpisujemy tam definicję funkcji, a następnie zapisujemy w bieżącym (lub wybranym przez nas) katalogu. Domyślna nazwa pliku jest taka sama jak nazwa funkcji plus rozszerzenie.m. W naszym przypadku będzie to f.m. Po zapisaniu prawej strony układu w pliku f.m możemy uruchomić procedurę numerycznego całkowania równania:

39 Ewolucja czasowa i portrety fazowe Przykładowe rozwiązania y 1 ( t ), y 2 ( t ) oraz portret fazowy dla układu Lotki-Volterry.

40 Ewolucji populacji z uwzględnieniem dyfuzji – model Fishera Niech c ( x, t ) oznacza gęstość osobników w punkcie x w momencie czasu t. Wtedy możemy rozważać model opisany równaniem Założenia: 1)Wystepuje tylko jeden gatunek. 2)Problem jest jednowymiarowy (stworzenia żyją na linii prostej) ograniczony do skończonego odcinka. 3)Gdyby nie było tłoku, to układ rozwijał by się zgdonie z modelem logistycznym. 4)Na skutek tłoku osobniki mają tendencję do migracji z obszarów o dużym zagęszczeniu do obszarów o mniejszym zagęszczeniu. 5)Tempo migracji jest proporcjonalne do gradientu gęstości populacji. Współczynnik tego tempa nazywamy współczynnikiem dyfuzji i oznaczamy przez D.

41 Niech c ( x, t ) oznacza gęstość osobników w punkcie x w momencie czasu t. Wtedy możemy rozważać model opisany równaniem Matematyczny opis modelu Fishera z warunkami brzgowymi Ponadto zakładamy, że znamy początkowy rozkład populacji c 0 ( x ):

42 Przykład 1: sol=NDSolve[{y'[t]==y[t]Cos[t+y[t]],y[0]==1}, y, {t, 0, 30}] Plot[Evaluate[y[t]/.sol], {t, 0, 30}, PlotRange->All] Przykład 2: sol=NDSolve[{x'[t] == -y[t] - x[t]^2, y'[t] == 2x[t] - y[t]^3, x[0]==y[0]==1}, {x, y}, {t, 20}] ParametricPlot[Evaluate[{x[t], y[t]} /. sol], t, 0, 20}] Ciągłe układy dynamiczne w środowisku Mathematica W środowisku Mathematica do numerycznego rozwiązywania układów dynamicznych służy funkcja NDSolve. Podstawowa składnia ma postać: NDSolve [{równania, warunki}, {t, t min, t max }]


Pobierz ppt "Wprowadzenie do ciągłych układów dynamicznych Systemy wspomagania decyzji WSB, Nowy Sącz."

Podobne prezentacje


Reklamy Google