Wprowadzenie do ODEs w MATLAB-ie

Slides:



Advertisements
Podobne prezentacje
Modelowanie i symulacja
Advertisements

Rozwiązywanie równań różniczkowych metodą Rungego - Kutty
UNIWERSYTET JAGIELLOŃSKI ZAKŁAD FARMAKOKINETYKI I FARMACJI FIZYCZNEJ
Metody badania stabilności Lapunowa
Równanie różniczkowe zupełne i równania do niego sprowadzalne
Model immunologiczny.
Metody rozwiązywania układów równań liniowych
Badania operacyjne. Wykład 2
Przykład: Dana jest linia długa o długości L 0 bez strat o stałych kilometrycznych L,C.Na początku linii zostaje załączona siła elektromotoryczna e(t),
Wykład no 11.
Modelowanie i symulacja
Materiały pochodzą z Platformy Edukacyjnej Portalu
ZLICZANIE cz. II.
„METODA FOURIERA DLA JEDNORODNYCH WARUNKÓW BRZEGOWYCH f(0)=f(a)=0”
Systemy dynamiczneOdpowiedzi systemów – modele różniczkowe i różnicowe Kazimierz Duzinkiewicz, dr hab. inż.Katedra Inżynierii Systemów Sterowania 1 Systemy.
1.
Metody matematyczne w Inżynierii Chemicznej
Grupa 1 Sposoby rozwiązywania układów równań stopnia I z dwiema i z trzema niewiadomymi. Wykresy funkcji w szkole ponadgimnazjalnej.
Układ równań stopnia I z dwoma niewiadomymi
Matematyka wokół nas Równania i nierówności
Układy równań 23x - 31 y = 1 x – y = - 8 x = -1 y - x = 1 x + y = 11
Opis matematyczny elementów i układów liniowych
Wykład 11. Podstawy teoretyczne odwzorowań konforemnych
RÓWNANIA Aleksandra Janes.
MECHANIKA PŁYNÓW Uniwersytet Przyrodniczy w Poznaniu
Metody matematyczne w Inżynierii Chemicznej
Metody Lapunowa badania stabilności
Modele oddziaływań między dwiema populacjami
AUTOMATYKA i ROBOTYKA (wykład 6)
Obserwatory zredukowane
Stabilność Stabilność to jedno z najważniejszych pojęć teorii sterowania W większości przypadków, stabilność jest warunkiem koniecznym praktycznego zastosowania.
Rozważaliśmy w dziedzinie czasu zachowanie się w przedziale czasu od t0 do t obiektu dynamicznego opisywanego równaniem różniczkowym Obiekt u(t) y(t) (1a)
AUTOMATYKA i ROBOTYKA (wykład 5)
II. Matematyczne podstawy MK
dla klas gimnazjalnych
Wprowadzenie do ciągłych układów dynamicznych
MECHANIKA NIEBA WYKŁAD r.
Teoria sterowania 2011/2012Stabilno ść Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Stabilność Stabilność to jedno.
Wprowadzenie do ciągłych układów dynamicznych
Sterowanie – metody alokacji biegunów II
MECHANIKA 2 Wykład Nr 10 MOMENT BEZWŁADNOŚCI.
Drgania punktu materialnego
Równania i nierówności
Materiały pochodzą z Platformy Edukacyjnej Portalu
Metody numeryczne szukanie pierwiastka metodą bisekcji
Rozwiązywanie układów równań liniowych różnymi metodami
Przykład 1: obiekt - czwórnik RC
Metody matematyczne w Inżynierii Chemicznej
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Materiały pochodzą z Platformy Edukacyjnej Portalu
Model Lopesa da Silvy – opis matematyczny Zmienne modelu: V e (t) – średni potencjał w populacji pobudzającej E(t) – średnia częstość odpalania w populacji.
Entropia gazu doskonałego
 Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Metody sztucznej inteligencji – Technologie rozmyte i neuronoweSystemy.
Sieci rekurencyjne.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH Temat – 5 Modelowanie różniczkowe.
Treść dzisiejszego wykładu l Szeregi stacjonarne, l Zintegrowanie szeregu, l Kointegracja szeregów.
Rozwiązywanie układów równań Radosław Hołówko Konsultant: Agnieszka Pożyczka.
Modelowanie i podstawy identyfikacji
Systemy neuronowo – rozmyte
Matematyka przed egzaminem czyli samouczek dla każdego
Rozwiązywanie nierówności I-go stopnia z jedną niewiadomą
Teoria sterowania Wykład /2016
Szybkość reakcji i rzędowość reakcji
Metody matematyczne w Inżynierii Chemicznej
Analiza numeryczna i symulacja systemów
jest najbardziej efektywną i godną zaufania metodą,
MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH
Równania różniczkowe zwyczajne
Dr inż.Hieronim Piotr Janecki
2. Ruch 2.1. Położenie i tor Ruch lub spoczynek to pojęcia względne.
Zapis prezentacji:

Wprowadzenie do ODEs w MATLAB-ie Komputerowe wspomaganie w Inżynierii Materiałowej

Rozwiązaniem takiego równania nazywamy każdą funkcję Równaniem różniczkowym zwyczajnym rzędu pierwszego nazywamy równanie postaci gdzie jest daną funkcją. Rozwiązaniem takiego równania nazywamy każdą funkcję która jest różniczkowalna i spełniania równość Często rozwiązanie będziemy oznaczać także symbolem y(t), więc powyższy warunek zapiszemy jako

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.

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.

są danymi liczbami (warunek początkowy), a Zagadnieniem początkowym (zagadnieniem Cauchy’ego) nazywamy następujące równanie gdzie są danymi liczbami (warunek początkowy), a jest daną funkcją.

Przykład Jakie jest rozwiązanie zagadnienia Cauchy’ego 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 Cauchy’ego jest funkcja

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

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

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

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).

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

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 Czasami równanie to jest zapisywane równoważnie tak Stałe kinetyczne k1 oraz k2 zależą od warunków przebiegu reakcji (temperatura, ciśnienie itp.). Eksperymetalnie wyznaczono, że w zwykłych warunkach k2≈0,1.

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

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 przewidzieć czas trwania reakcji. Prawdziwa kinetyka syntezy bromowodoru. Gdyby kinetyka syntezy bromowodoru była analogiczna do syntezy chlorowodoru.

Układy równań różniczkowych zwyczajnych (ODEs) W ogólnym przypadku możemy mieć n niewiadomych funkcji y1(t),…,yn(t) oraz n równań: z warunkami początkowymi: gdzie liczby są dane.

Równania Lotki — jedna reakcja autokatalityczna Rozważmy 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:

Równania Lotki — jedna reakcja autokatalityczna Symulacje numeryczne Modelu Lotki w MATLAB-ie dla następujących parametrów: Czas symulacji przyjmiemy tend =5·105. 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:

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 y1(t), a na osi OY wartości y2(t).

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

Równania Lotki-Volterry (dwie reakcje autokatalityczne – c.d.) W układzie reakcji Lotki-Volterry zakładamy, że stężenie reagenta A jest stałe: [A]=const. Wprowadzając wygodne oznaczenia: [X]=y1(t), [Y]=y2(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 y1(0)=y10 > 0, y2(0)=y20 > 0 rozwiązania y1(t), y2(t) istnieją dla wszystkich t  0 i są funkcjami okresowymi.

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

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

Bruselator Jest to teoretyczny model dla autokatalitycznej reakcji z wszystkimi etapami nieodwracalnymi i takimi samymi stałymi szybkości k1=k2=k3=k4=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

Wprowadzamy wygodniejsze oznaczenia: Parametry a i b są dodatnimi stałymi. Niewiadomymi są funkcje y1=y1(t), y2=y2(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

Przykładowe dane do modelu Bruselator W obu przypadkach czas procesu tend = 80. Jeśli zmieniając stężenie [B] osiągniemy wartość krtytyczną [B]kr=[A]2+1, to następuje tzw. bifurkacja Hopfa. Dotychczasowy pojedynczy stan stacjonarny traci stabilność – w zakresie stężeń [B] > [A]2 + 1 obserwujemy zupełnie inne zachowanie – stabilne oscylacje stężeń [X] i [Y].

Przykładowe dane do modelu Bruselator W obu przypadkach czas procesu tend = 120. a) [B]>[B]kr=[A]2+1=2 b) [B]<[B]kr=[A]2+1=2

Oregonator Oregonator jest najprostszym realistycznym modelem opisującym dynamikę reakcji oscylacyjnych typu Biełousowa-Żabotyńskiego (BŻ). Model ten jest jednak na tyle bogaty, że pozwala symulować wiele ciekawych i złożonych zachowań takich, jak rozwiązania okresowe, cykle graniczne czy bifurkacje. Twórcami tego modelu są R. J. Field i R. M. Noyes z Uniwersytetu stanu Oregon, USA. W latach 50-tych XX wieku B. Biełousow, chemik pracujący w tajnych laboratoriach wojskowych Związku Sowieckiego, badając m.in. wpływ gazów trujących i promieniowania na organizm ludzki zauważył, że mieszanina bromianu potasu, kwasu cytrynowego i jonów ceru wykazuje okresowe zmiany koloru. Oznaczało to, że w reakcji nie następowała monotoniczna zmiana stężenia reagentów jak to ma miejsce w większości „typowych” reakcji chemicznych – tylko były to zmiany okresowe. Około dekady później A. Żabotyński dokładniej zbadał tę reakcję (zmienił też kwas cytrynowy na kwas malonowy) i zasugerował, że przyczyną zmian koloru mogą być jonu ceru na różnych stopniach utlenienia i rozpropagował temat na konferencji w Pradze, 1968. Następnie w 1972 R.J. Field, R. M. Noyes i E. Körös zaproponowali pierwszy zbliżony do realnego mechanizm reakcji BŻ. W literaturze określa się go jako mechanizm FKN. W oparciu o ten mechanizm reakcji powstał modelowy ciąg reakcji z trzema zmiennymi stężeniami – Oregonator. Określenie to oznacza zarówno mechanizm reakcji jak i układ równań różniczkowych, który je opisuje.

Model „Oregonator” Formalna postać Oregonatora przedstawia się następująco: Związek z mechanizmem FKN dla reakcji BŻ jest następujący: Przy założeniu, że [A]=const zmiennymi zależnymi od czasu stają się stężenia [X], [Y], [Z]. Stężenie [P] dotyczy tylko produktu, który nie występuje jako substrat.

Wprowadzając oznaczenia: otrzymujemy

Oregonator W ten sposób otrzymujemy słynny przykładem reakcji chemicznej z cyklem granicznym w R3. Jest układ reakcji pomiędzy HBrO2, Br oraz Ce(IV). Równania kinetyki mają postać: z przykładowymi warunkami początkowymi

Następujący układ reakcji chemicznych został zaproponowany przez H Następujący układ reakcji chemicznych został zaproponowany przez H. Robertsona w 1966 roku: Prowadzi on do układu równań Typowe testy przeprowadza się dla następujących warunków początkowych: oraz dla czasów tend = 10, 102, 103, ..., 1011.

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

Prosta implementacja w MATLAB-ie wraz z wykresem pokazującym zależność kata od czasu. Dla wygody kąt jest na wykresie podawany w stopniach. Rozwiązanie jest okresowe. Dla małych wychyleń jest to prawie sinusoida. W ogólnym przypadku tak nie jest. W szczególności okres drgań zależy do amplitudy.

Równanie van der Pola 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: 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:

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

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

Numeryczne całkowanie pojedynczego równania różniczkowego zwyczajnego 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.

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].

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:

Ewolucja populacji z uwzględnieniem dyfuzji – model Fishera Założenia: Występuje tylko jeden gatunek. Problem jest jednowymiarowy (stworzenia żyją na linii prostej) ograniczony do skończonego odcinka. Gdyby nie było tłoku, to układ rozwijał by się zgdonie z modelem logistycznym. Na skutek tłoku osobniki mają tendencję do migracji z obszarów o dużym zagęszczeniu do obszarów o mniejszym zagęszczeniu. Tempo migracji jest proporcjonalne do gradientu gęstości populacji. Współczynnik tego tempa nazywamy współczynnikiem dyfuzji i oznaczamy przez D. 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 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 z warunkami brzgowymi Ponadto zakładamy, że znamy początkowy rozkład populacji c0(x):

Dyskretyzacja równania Fishera Stąd mamy Zatem

Uwzględniając warunki brzegowe otrzymujemy ostatecznie następujący układ równań różniczkowych zwyczajnych (metoda linii) aproksymujący wyjściowe równanie Fishera: który rozwiązujemy z warunkami początkowymi Funkcja c0(x) jest dana i oznacza początkowy rozkład populacji. W powyższym równaniu nie występują wartości w węzłach x0 i xn, gdyż na mocy warunków brzegowych mamy c0=c1oraz cn=cn-1.

NDSolve[{równania, warunki}, {t, tmin, tmax}] 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, tmin, tmax}] 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}]