Transcript KWIM10-14

Wprowadzenie do ODEs w MATLAB-ie

Komputerowe wspomaganie w Inżynierii Materiałowej

Równaniem różniczkowym zwyczajnym rzędu pierwszego nazywamy równanie postaci

y

  gdzie

f

:

U

R

jest daną funkcją. Rozwiązaniem takiego równania nazywamy każdą funkcję która jest różniczkowalna i spełniania równość  :

R

 

R

,   ( )   dla

t

 Często rozwiązanie będziemy oznaczać także symbolem warunek zapiszemy jako

y

(

t

), więc powyższy  ( )  dla

t

Przykład

Rozważmy równanie

y t y

, Przykładowe rozwiązanie

e t

1.

Sprawdzamy przez podstawienie   (

e t

1)  1,

t t

1, Podane rozwiązanie nie jest jedyne, gdyż na przykład funkcja 1 też spełnia to równanie.

Przykład

Rozważmy równanie

y

 

y

2 .

Sprawdzamy , że funkcja     2   1 1 

t

jest rozwiązaniem: 1 1 

t

    1 (1 

t

) 2 (1  1

t

) 2 , 1 1 

t

2  1 (1 

t

) 2 , W ogólnym przypadku każda funkcja postaci 

C

1 

t

, jest rozwiązaniem tego równania.

Zagadnieniem początkowym (zagadnieniem Cauchy’ego) nazywamy następujące równanie  

y

 

y t

0 

y

0

,

gdzie

t

0

,

y

0 

R

są danymi liczbami (warunek początkowy), a

f

: ) 

R

jest daną funkcją.

Przykład

Jakie jest rozwiązanie zagadnienia Cauchy’ego  

y

 

y

(0)

t y

,  2.

Rozwiązanie ogólne równania

y’ = t y

ma postać 

Ce

1 2

t

2 .

Podstawiamy warunek początkowy y(0)=2, co daje C=2. Zatem rozwiązaniem zagadnienia Cauchy’ego jest funkcja  2

e

1 2

t

2 .

Przykład

Jakie jest rozwiązanie zagadnienia Cauchy’ego  

y

y

(0)

y

2 / 3 ,  0.

Rozwiązaniem problemu jest funkcja stale równa zero

y t

1 ( )  0.

Ale rozwiązaniem jest także funkcja

y t

2 ( )  1 27

t

3 .

Mamy zatem przykład niejednoznaczności rozwiązania!

Metoda rozdzielania zmiennych

Rozważmy równanie o rozdzielonych zmiennych

y

  Rozwiązywanie możemy symbolicznie opisać następująco

dy

y

 

dt dy

 

dy

  

C

lub 

y

0

dy

t

0

t

Przykład

Znaleźć rozwiązanie równania

y

  2 .

co daje

y dy

dt dy y

2  sin

t dt

, 2 , 

dy y

2   sin

t dt

, cos

t

C

, a więc rozwiązaniem jest  cos

t

1 

C

.

Ogólne równanie liniowe

y

   Rozwiązujemy najpierw równanie jednorodne:

y

  

dy

 

dt

dy y

   

Ce

 

dy

 

y y

   .

const

, Teraz stałą „uzmienniamy”, czyli traktujemy jak funkcję  ( )   .

Podstawiamy do wyjściowego równania i uzyskujemy elementarne równanie na C(t).

Przykład

y ty e

t

2 2 Rozwiązujemy:

y

 0,

y

  

ty

, 

Ce

 

tdt

Ce

t

2 2 .

Uzmienniane stałej

y

  

t

2 2 .

t

2 / 2 

t

2 / 2 

e

t

2 / 2

C

  sin

t

C

  

t

2 / 2 

tCe

t

2 / 2 ( )   

e

t

2 / 2 (cos ) 

t

2 2 .

Ostatecznie 

Ce

t

2 / 2 

e

t

2 / 2

Synteza bromowodoru z pierwiastków

Synteza bromowodoru z pierwiastków jest reakcją złożoną o sumarycznym równaniu H 2  Br 2  2HBr W roku 1906 wyznaczono eksperymetalnie następujące równanie kinetyczne tej reakcji

d

[HBr]

dt

k

1 [H ][Br ] 2 2 3/ 2 [Br ] 2 

k

2 [HBr] .

Czasami równanie to jest zapisywane równoważnie tak

d

[HBr]

dt

k

1 [H ][Br ] 1  2

k

2 2 1/ 2 [HBr] [Br ] 2 .

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 2 ≈0,1.

Synteza bromowodoru z pierwiastków (c.d.)

Wprowadzamy oznaczenie

y

(

t

) = [HBr] oraz uwzględniamy bilans masy w równaniu H 2  Br 2 co daje dodatkowe zależności  2 0 2  2 0   1 2 1 2  2HBr   2 0   1 2 1 2

y

,

y

.

Po podstawieniu do równania kinetycznego na d[HBr]/dt otrzymamy

dy dt

k

1 ([H ] 2 0  [Br ] 2 0

y

2 0  (

k

2   0.5)

y

3/ 2 .

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.

d

[HBr]

dt

k

1 [H ][Br ] 2 2 3/ 2 [Br ] 2 

k

2 [HBr] .

4 3 2 1 0 0 10 20 30 40 t, czas 50 60 70 80 90 Gdyby kinetyka syntezy bromowodoru była analogiczna do syntezy chlorowodoru.

d

[HBr] 

k

1 [H ][Br ].

dt

5 2 1 4 3 0 0 10 20 30 40 t, czas 50 60 70 80 90

Układy równań różniczkowych zwyczajnych (ODEs)

W ogólnym przypadku możemy mieć n niewiadomych funkcji

y

1 (t),…,

y

n (t) oraz n równań:   

y

1  

y n

( , 1 ,

n

( , 1 , ,

y n

), ,

y n

), z warunkami początkowymi: 1 ( ) 0 

y

1 0 , ,

n

( ) 0 

y n

0 , gdzie liczby

t

0 ,

y

1 0 , ,

y n

0 

R

są dane.

Równania Lotki — jedna reakcja autokatalityczna

Rozważmy następującą sekwencję reakcji elementarnych:

A X

Y Y B X

2

Y

(produkcja X) (autokatalityczna produkcja Y) (rozkład Y) 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:     

dt dt

  [ ][ ], 

k X Y

2 [ ][ ] 

k Y

3 [ ].

Równania Lotki — jedna reakcja autokatalityczna

Symulacje numeryczne Modelu Lotki w MATLAB-ie dla następujących parametrów: ) 1  0.9,

k

2  9

k

3    4

A

X

0 

Y

0  4 ) 1  1.0,

k

2  1.0,

k

3 

A

X

0 

Y

0  2.0.

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: 14 x 10 4 5 x 10 4 12 10 8 6 4 2 0 0 1 2 3 4 x 10 5 5 4.5

4 3.5

3 2.5

2 1.5

1 0.5

0 0 1 2 3 4 x 10 5 5

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

2.5

2 1.5

1 0.5

5 x 10 4 4.5

4 3.5

3 0 0 2 4 6 8 10 12 14 x 10 4

Równania Lotki-Volterry (dwie reakcje autokatalityczne)

Jest to model podobny do modelu Lotki, ale tym razem występują dwie reakcje autokatalityczne:

A

X

2

X

(autokatalityczna produkcja X)

k X Y

2

Y

(autokatalityczna produkcja Y)

Y B

(zanik Y) Sekwencja opisuje sumaryczną reakcję A  B.

Z postaci powyższego mechanizmu możemy postulować następujący układ równań różniczkowych zwyczajnych     

dt dt

  [ ][ ], 

k X Y

2 [ ][ ] 

k Y

3

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

y

1 (t), [Y]=

y

2 (t), [A]=a możemy układ równań zapisać następująco:     

dy

1

dt dy

2

dt

  1 

k y y

2 1 2 1 2 

k y

3 2 .

, Układ ten ma ciekawą własność – występują w nim rozwiązania okresowe.

Dokładnej, dla każdej pary warunków początkowych 0 rozwiązania okresowymi.

y

1 (t),

y

2 (t) istnieją dla wszystkich

y t

1 

y

10 20 > 0 i są funkcjami

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.

 

y y

1 2 ( (

b cy

1 2 ) , 1

2 .

gdzie

y t

1 ( )  ofiary (np. zające),

y t

2 

y

1 

y

1 względna zmiana populacji zajęcy 

b

ay

2 ,

y

2 

y

2 względna zmiana populacji lisów 

cy

1 

d

.

Układ Lotki-Volterry – przykładowe symulacje

Do obliczeń weźmiemy następujące dane:

t k

1   4 1.5 10 ,

A

X

0

k

2    5

end

 8

Y

0

k

3   10000;  4 Wykres y1(t) i y2(t) Portret fazowy 15000 10000 5000 16000 14000 12000 10000 8000 6000 4000 0 0 0.5

1 1.5

2 2.5

3 3.5

4 4.5

x 10 5 2000 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000

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.

A

X

2

X B

X

3

X

E X D

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     

dt dt

A

X

2

Y

 

B X

X

2

Y B

X

Wprowadzamy wygodniejsze oznaczenia:

y

1 

y

2 

a

b

 Parametry

a

i

b

są dodatnimi stałymi. Niewiadomymi są funkcje Równania opisujące Bruselator mają teraz postać:

y

1 =

y

1 (t),

y

2 =

y

2 (t).



y y

1 2

 

by

1

y y

1 2

y y

1 2 2 2 .

y

1 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

b

a

2

1.

Przykładowe dane do modelu Bruselator

a A

B

X

0 

Y

0 

b A

B

X

0 

Y

0  W obu przypadkach czas procesu t end = 80.

X

0 

X

0   4.0;  4.0; 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

X

0 

Y

X

0 

A

B

X

0 

Y

X

0  W obu przypadkach czas procesu t end = 120.

 4.0;  4.0; 0 2.5

2 1.5

1 0 1.4

a) [B]>[B]

kr

=[A]

2

+1=2

1.2

1 0.8

20 40 60 t 20 40 60 t 80 80 100 120 100 120 3

b) [B]<[B]

kr

=[A]

2

+1=2

3 2 1 0 2 1 0 0 4 20 40 20 40 60 t 60 t 80 80 100 120 100 120

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:

 

A Y X Y k

1

k

2

X

2

P P

  2

X X k

4

Z k

5

Y k

3

2

X A

Z

Związek z mechanizmem FKN dla reakcji BŻ jest następujący:

A X  

BrO , P

3

HBrO , Y

2

Z  2Ce(IV).

  HOBr,

Br ,

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.

      

dt dt dt

 

k A Y

1 

k A X

3 [ ][ ] 

k X Y

2 [ ][ ] 

k A X

3 [ ][ ]   

k A Y

1 

k X Y

2 [ ][ ] 

k Z

5 [ ],

k Z

5 [ ].

k X

4 2 [ ] ,  0.06;

k

1  2.1,

k

2

t X

0

end

 10  100.

 10   9

Y

0 

k

3  7  4 10 , 0

k

4     8 10 ; 7

k

5  1;

Wprowadzając oznaczenia:

y

1 

y

2 

y

3  otrzymujemy       

dy

1

dt dy dt dy

3

dt

2 

k ay

1 2    3

k ay

1

k ay

1  2

k y y

 2 1 2 

k ay

3 1 

k y

4 1 2 ,

k y y

2 1 2 

k y

5 3 .

k y

5 3 ,

a

  0.06;

k

1  2.1,

k

2

t X

0

end

 10  100.

 10   9

Y

0 

k

3  7  4 10 ,

Z

0

k

4     8 10 ; 7

k

5  1,

f

 1;

Oregonator

W ten sposób otrzymujemy słynny przykładem reakcji chemicznej z cyklem granicznym w

R

3 . Jest układ reakcji pomiędzy HBrO 2 , Br  oraz Ce(IV).

Równania kinetyki mają postać: 

y

1  

y y

2 3 77, 27(

y

2 

y

1 1 77, 27 (

y

3 0,161(

y

1 

y

3 ),

y y

1 ) 2 ),  6

y

1 

y

2 )), z przykładowymi warunkami początkowymi

y

1

y

2 (0)  2,

y

3 (0)  3.

Następujący układ reakcji chemicznych został zaproponowany przez H. Robertsona w 1966 roku:

A B

B

 7

B C

B

(powolna) (bardzo szybka) (szybka) Prowadzi on do układu równań  0,04 

y

1  

y

2

y

3   0,04 3 10 7

y

1

y

1

y

2 2   10 10 4 4

y y

2

y y

2 3 3   7

y

2 2 Typowe testy przeprowadza się dla następujących warunków początkowych:

y

1

y

2 (0)  0,

y

3 (0)  0, oraz dla czasów t end = 10, 10 2 , 10 3 , ..., 10 11 .

Równania drugiego rzędu

Rozważmy równanie ruchu wahadła matematycznego (  (t)=kąt wychylenia):    

g

Wprowadzając  2 =

g

/

l

otrzymujemy 2 sin

 0.

Zamieniamy na układ wprowadzając:

y

1 

,

y

2 

 .

 

y y

1 2  

y

2 ,

2 sin

y

1 .

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.

-5 -10 -15 0 15 10 5 0 5 10 15 20 czas 25 30 35 40

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: 

gu

(1 

u

2 / 3

U

2 ).

a

Stosując prawa Kirchoffa do tego układu i wprowadzając przeskalowane nowe zmienne otrzymujemy standardowe równanie różniczkowe zwyczajne: 2

d y

  (1 

dt

2

y

2 )

dy dt

0, 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:     

dy

1

dt dy dt

2  

y

2 ,  (1 

y

1 2 )

y

2 

y

1 .

Ewolucja czasowa i portrety fazowe

Przykładowe rozwiązania

y

1 (

t

),

y

2 (

t

) oraz portret fazowy dla układu Lotki-Volterry.

  

y y

1 2  

y

1 (0) (

a

(

cy

1  

by y

 20, 2

y

) 2 1 2 (0)

a

 1,

b

 0.01,

c

  20 0.02,

d

  1

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ą

y

  lub postać uwikłaną liniowo gdzie

y

y

1     ,

M

    

m

11

m n

1

m

1

n m nn

    .

Przykład

Numeryczne całkowanie pojedynczego równania różniczkowego zwyczajnego Rozważmy zagadnienie początkowe

y

 

y y

(0)  (2

y

0  .

y

), 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 wpisaniu definicji funkcji do odrębnego pliku .m i wykorzystaniu go w procedurze

ode23

(lub

ode45

zagadnienie początkowego polega na ). 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:

1) Występuje 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

.

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 

c

   

t c x

D

 2

c

x

2 

 0, 

c

x

 ),  0.

Matematyczny opis modelu Fishera

Niech

c

(

x

,

t

) oznacza gęstość osobników w punkcie Wtedy możemy rozważać model opisany równaniem

x

w momencie czasu

t

.

z warunkami brzgowymi 

c

t

  2

c D

x

2 

c

x

 0, 

c

x

 ),  0.

Ponadto zakładamy, że znamy początkowy rozkład populacji

c

0 (

x

):  0 ( ), 0 .

Dyskretyzacja równania Fishera

c

t x t k

D

 2

c

x

2

x t k

( , )(

k

Stąd mamy

dc k dt

D c k

 1

t

c t k

( 

x

) 2 

c k

 1 

k

( , )), dla

k k

 0,1,

k

( )), dla

k

 1, ,

n

 1.

Zatem

c t

1 ( )  

x c t

0 ( )  0,

c n

 1  

x n

 0

c t

1 ( ) 

c t

0 ( ),

c n

 1 

n

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:         

dc

1

dt dc k dt dc n dt

 1  

D

D D c

2 (  

x c

) 2 1

c k

 1 

c n

 (  1  2

c k

( 

x

)  

x

) 2 2  1

c n

 2 (

c k

 1  

c

1

n

),  1

k

( 

k

), 

n

 1 ), który rozwiązujemy z warunkami początkowymi

k

 1

k

 2,

k

1 ,

n

 2

c k

(0)  0 (

k

),

k

 1, ,

n

 1.

Funkcja c 0 (x) jest dana i oznacza początkowy rozkład populacji.

W powyższym równaniu nie występują wartości w węzłach x 0 mocy warunków brzegowych mamy c 0 =c 1 oraz c n =c n-1 .

i x n , gdyż na

Ciągłe układy dynamiczne w środowisku Mathematica

W środowisku Mathematica do numerycznego rozwiązywania dynamicznych służy funkcja NDSolve. Podstawowa składnia ma postać: układów NDSolve [{równania, warunki}, {t, t

min , t max

}]

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