Sunteți pe pagina 1din 4

0.1.

ECUATII DIFERENTIALE ORDINARE 1

0.1 Ecuatii diferentiale ordinare

Sa se rezolve cerintele urmatoare pentru exercitiile de mai jos.


a) Sa se utilizeze functia odeint pentru rezolvarea ecuatiei diferentiale ordinare. Sa se traseze graficul
solutiei numerice.
b) Sa se compare solutia numerica cu cea exacta prin reprezentarea ambelor solutii in acelasi grafic.
c) Sa se implementeze metoda numerica specificata pentru fiecare exercitiu in parte. Sa se utilizeze
aceasta metoda pentru rezolvarea ecuatiei diferentiale si sa se compare rezultatul obtinut cu cel ob-
tinut cu ajutorul functiei odeint prin reprezentarea ambelor solutii numerice in acelasi grafic.
Pentru functiile ln(x), exp(x) se vor folosi np.log(x), np.exp(x) din pachetul (import numpy as np). Pentru
trasarea graficului functiei exacte se va utiliza comanda plt.plot(t, y, ’g’, t, exact(t), ’x’) din pachetul
(import matplotlib.pyplot as plt), unde y este solutia data de apelarea functiei odeint, t reprezinta
vectorul momentelor discrete de timp si exact(t) este functia care defineste solutia exacta.
Exercitiul 1. Se da ecuatia diferentiala ordinara de ordinul intai (cu variabile separabile)

(x2 − 1)y ′ + 2xy 2 = 0, y = y(x), x ∈ [2, 10]


dy 2xy 2
⇔ = y′ = − 2
dx x −1
2xy 2
⇒ f (x, y) = − 2
x −1
cu conditia initiala
1
y(2) =
ln3
Aceasta ecuatie are solutia exacta
1
y(x) =
ln|x2 − 1|

Sa se implementeze urmatoarea metoda numerica de rezolvare a ecuatiilor diferentiale ordinare:


( )
1 1
yk+1 = yk + ∆tf yk + ∆tf (yk , xk ), xk + ∆t (0.1.1)
2 2

Acesta metoda numerica se numeste ”midpoint method”.


Exercitiul 2. Se da ecuatia diferentiala ordinara de ordinul intai (omogena)
( )
′ x+y
xy − y = (x + y)ln , y = y(x), x ∈ [1, 10]
x
( )
dy ′ (x + y)ln 1 + xy + y
⇔ =y =
dx (x )
(x + y)ln 1 + xy + y
⇒ f (x, y) =
x
cu conditia initiala
y(1) = e − 1
2 CAPITOLUL 0. SIMULAREA SISTEMELOR DINAMICE

Aceasta ecuatie are solutia exacta ( )


y(x) = x e|x| − 1

Sa se implementeze urmatoarea metoda numerica de rezolvare a ecuatiilor diferentiale ordinare:


( )
3 1
yk+1 = yk + ∆t f (yk , xk ) − f (yk−1 , xk−1 ) (0.1.2)
2 2

Acesta metoda numerica se numeste ”two-step method”.


Exercitiul 3. Se da ecuatia diferentiala ordinara de ordinul intai (omogena)

(y + xy)dx = xdy, y = y(x), x ∈ [1, 10]

dy y + xy
⇔ = y′ =
dx x

y + xy
⇒ f (x, y) =
x
cu conditia initiala
y(1) = 0
Aceasta ecuatie are solutia exacta
x x
y(x) = ln |x|
4
Sa se implementeze urmatoarea metoda numerica de rezolvare a ecuatiilor diferentiale ordinare:
( )
1 1
yk+1 = yk + ∆tf yk + ∆tf (yk , xk ), xk + ∆t (0.1.3)
2 2

Acesta metoda numerica se numeste ”midpoint method”.


Exercitiul 4. Se da ecuatia diferentiala ordinara de ordinul intai (liniara)

(xy ′ − 1)lnx = 2y, y = y(x), x ∈ [2, 10]


dy 1 1
⇔ = y′ = + 2 y
dx x xlnx
1 1
⇒ f (x, y) = + 2 y
x xlnx
cu conditia initiala
y(2) = ln2(ln2 − 1)
Aceasta ecuatie are solutia exacta
y(x) = lnx(lnx − 1)
Sa se implementeze urmatoarea metoda numerica de rezolvare a ecuatiilor diferentiale ordinare:
( )
3 1
yk+1 = yk + ∆t f (yk , xk ) − f (yk−1 , xk−1 ) (0.1.4)
2 2

Acesta metoda numerica se numeste ”two-step method”.


3

Exercitiul 5. Se da ecuatia diferentiala ordinara de ordinul intai (Bernoulli)

y ′ = ytgx + y 4 cos x, y = y(x), x ∈ [0, 10]


⇒ f (x, y) = ytgx + y 4 cos x

cu conditia initiala
y(0) = 1
Aceasta ecuatie are solutia exacta
1
y(x) = √
cos x 1 − 3tgx
3

Sa se implementeze urmatoarea metoda numerica de rezolvare a ecuatiilor diferentiale ordinare:


( )
1 1
yk+1 = yk + ∆tf yk + ∆tf (yk , xk ), xk + ∆t (0.1.5)
2 2

Acesta metoda numerica se numeste ”midpoint method”.


Exercitiul 6. Se da ecuatia diferentiala ordinara de ordinul intai (liniara)

xy ′ + (x + 1)y = 3x2 e−x , y = y(x), x ∈ [1, 10]


dy x+1
⇔ = y ′ = 3xe−x − y
dx x
x+1
⇒ f (x, y) = 3xe−x − y
x
cu conditia initiala
1
y(1) =
e
Aceasta ecuatie are solutia exacta
y(x) = x2 e−x
Sa se implementeze urmatoarea metoda numerica de rezolvare a ecuatiilor diferentiale ordinare:
( )
3 1
yk+1 = yk + ∆t f (yk , xk ) − f (yk−1 , xk−1 ) (0.1.6)
2 2

Acesta metoda numerica se numeste ”two-step method”.


Exercitiul 7. Se da ecuatia diferentiala ordinara de ordinul intai (omogena)
(y)
xy ′ − y = xtg , y = y(x), x ∈ [1, 10]
x
dy y (y)
⇔ = y ′ = + tg
dx x ( yx)
y
⇒ f (x, y) = + tg
x x
cu conditia initiala
π
y(1) =
2
4 CAPITOLUL 0. SIMULAREA SISTEMELOR DINAMICE

Aceasta ecuatie are solutia exacta


y(x) = xarcsin(x)
Sa se implementeze urmatoarea metoda numerica de rezolvare a ecuatiilor diferentiale ordinare:
( )
3 1
yk+1 = yk + ∆t f (yk , xk ) − f (yk−1 , xk−1 ) (0.1.7)
2 2

Acesta metoda numerica se numeste ”two-step method”.

S-ar putea să vă placă și