Sunteți pe pagina 1din 52

CUPRINS

pag.
Capitolul 1
REZOLVAREA NUMERICĂ A ECUAŢIILOR
1.1. Introducere ..........................................................................................................1
1.2. Metoda separării rădăcinilor ...............................................................................3
1.3. Metoda bisecţiei .................................................................................................7
1.4. Metoda părţilor proporţionale .............................................................................9
1.5. Metoda Newton –Raphson .....................................................................................12
1.6. Metoda aproximaţiilor succesive ..........................................................................14

Capitolul 2
REZOLVAREA NUMERICĂ A SISTEMELOR DE ECUAŢII LINIARE

2.1. Rezolvarea sistemelor algebrice de ecuaţii liniare .............................................26


2.2. Eliminarea Gaussiană .......................................................................................30
2.3. Formularea matricială .......................................................................................35
2.4. Metoda factorizării LU .......................................................................................36

Capitolul 3
INTEGRAREA NUMERICĂ A ECUAŢIILOR DIFERENŢIALE ORDINARE
3.1. Metoda seriilor Taylor ........................................................................................47
3.2. Metoda Runge-Kutta .....................................................................................48

Capitolul 4
REZOLVAREA ECUAŢIILOR CU DERIVATE PARŢIALE
4.1. Definirea domeniului de integrare ...........................................................59
4.2. Condiţii iniţiale ...............................................................................................61
4.3. Condiţii la limită .......................................................................................61

I
Capitolul 1

REZOLVAREA NUMERICĂ A ECUAŢIILOR

1.1. INTRODUCERE

Dacă se consideră o ecuaţie de forma

𝐹(𝑥) = 0 (1.1)

Prin problema determinării rădăcinilor ecuaţiei înţelegem găsirea unei valori a variabilei
x, fie aceasta x0 , care înlocuită în ecuaţia (1.1) o transformă într-o egalitate. Deci condiţia ca
x0 să fie o rădăcină este

𝐹(𝑥0 ) = 0 (1.2)

Un exemplu simplu poate fi ecuaţia de gradul unu

𝑎𝑥 + 𝑏 = 0 (1.3)

În care a şi b sunt constante şi 𝑎 ≠ 0. Atunci rădăcina unică a ecuaţiei (1.3) este

𝑏
𝑥0 = − 𝑎 (1.4)

Ecuaţia de forma (1.1) poate să aibă una sau mai multe rădăcini, din care unele pot fi
complexe. În acest curs ne vom ocupa în general numai de rădăcinile reale. Din mulţimea de
ecuaţii numai o mică parte se pot rezolva prin metode analitice. Dintre acestea, de exemplu
ecuaţia de gradul doi de forma

1
Metode numerice de modelare,simulare şi optimizare

𝑎𝑥 2 + 𝑏𝑥 + 𝑐 = 0 (1.5)

Se poate rezolva analitic rezultând rădăcinile

−𝑏±√𝑏 2 −4𝑎𝑐
𝑥1,2 = (1.6)
2𝑎

Valorile rădăcinilor se pot calcula cu formula (1.6) dar nu întotdeauna vom obţine o
valori exactă, deoarece radicalul √𝑏 2 − 4𝑎𝑐 de cele mai multe ori nu dă o valoare exactă şi în
acest caz obţinem o rădăcină aproximativă funcţie de gradul de precizie cu care calculăm
radicalul.
În general prin rădăcină aproximativă se înţelege o valoare a lui x apropiată de rădăcina
reală a ecuaţiei.

Dacă x0 este o rădăcină a funcţiei F(x) atunci graficul funcţiei va intersecta axa OX în
punctul 𝑥 = 𝑥0 (figura 1.1) şi îndeplineşte condiţia:

𝐹(𝑥0 ) = 0 (1.7).

x0 se mai numeşte şi zero al funcţiei F(x)

Dacă 𝑥 reprezintă o rădăcină aproximativă a ecuaţiei F(x) se pot defini două tipuri de
condiţii pe care aceasta trebuie să le îndeplinească
1. |𝑥 − 𝑥0 | < 𝜀, unde 𝐹(𝑥0 ) = 0 , ε este un număr mic.

2. |𝐹(𝑥)| < 𝜀 .

2
Metode numerice de modelare,simulare şi optimizare

Fig. 1.1

1.2. METODA SEPARĂRII RĂDĂCINILOR

Pentru determinarea rădăcinilor unei ecuaţii, prima dată trebuie să stabilim intervalele
în care acestea se găsesc. Acest procedeu poată numele de metoda separării rădăcinilor unei
ecuaţii şi se bazează pe următoarea teoremă:

Teorema 1: Dacă o funcţie f(x) are valori de semne opuse la capetele intervalului [α, β],
ceea ce înseamnă 𝑓(𝛼)𝑓(𝛽) < 0, atunci există cel puţin o valoare 𝜉 ∈ (𝛼, 𝛽) astfel încât
𝑓(𝜉) = 0

Procesul de separare a rădăcinilor unei ecuaţii constă în definirea unei diviziuni, de


regulă cu pas constant Δx, astfel:

𝑥1 , 𝑥2 , 𝑥3 , … 𝑥𝑛 cu 𝑥1 = 𝑥0 ; 𝑥2 = 𝑥0 + Δ𝑥; 𝑥3 = 𝑥0 + 2Δ𝑥; …
Urmează calcularea valorilor funcţiei în punctele diviziunii şi analiza semnului funcţiei.
Dacă pentru un interval este îndeplinită condiţia:

𝑓(𝑥𝑖 )𝑓(𝑥𝑖+1 ) < 0

atunci în intervalul (𝑥𝑖 , 𝑥𝑖+1 ) există cel puţin o rădăcină a funcţiei conform teoremei 1.
3
Metode numerice de modelare,simulare şi optimizare

Pentru ca intervalul să conţină numai o singură rădăcină de regulă trebuie micşorat


pasul diviziunii Δx.

Ca exemplu este prezentată o procedură care separă rădăcinile unei ecuaţii:

namespace Separare_radacini
{
public partial class Form1 : Form
{
double[] ff, xx;
private double F(float x)
{
double f;
f = Math.Pow(x, 4f) - 9 * Math.Pow(x, 3f) - 2 * x * x + 120 * x
- 130;
return f;
}
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
float[] a, b;
a = new float[4];
b = new float[4];
float xmax = Convert.ToSingle(textBox2.Text);
float xmin = Convert.ToSingle(textBox1.Text);
float dx = Convert.ToSingle(textBox3.Text);
int n;
n = Convert.ToInt32((xmax - xmin) / dx + 1);
ff = new double[n];
xx = new double[n];
string ss = null;

// calcularea valorilor functiei

for(int k = 0; k < n; k ++)


{
float x = xmin + k * dx;
xx[k] = x;
ff[k] = F(x);
// se afiseaza valorile variabilei si a functiei in
intervalul
ss = ss + Convert.ToInt32(k + 1) + " x = " +
Convert.ToString(xx[k]) + " F(x) = " + Convert.ToString(ff[k]) + "\r\n";
}

//determinarea intervaleleor care contin radacini


int i = 0;
for (int k = 0; k < n - 1; k++)
{
if (ff[k] * ff[k + 1] < 0)

4
Metode numerice de modelare,simulare şi optimizare

{
a[i] = Convert.ToSingle(xx[k]);
b[i] = Convert.ToSingle(xx[k + 1]);
i++;
}
}
ss = ss + " \r\n";
ss = ss + " Intervalele in care se gasesc radacine";
ss = ss + " \r\n";

// textBox4.Text = ss;
// string s = null;

for (int j = 0; j<= (i - 1); j++)


{
ss = ss + Convert.ToInt32(j + 1) + " a = " +
Convert.ToString(a[j]) + " b = " + Convert.ToString(b[j]) + " \r\n";
}
textBox4.Text = ss;

// trasarea graficului
chart1.Series[0].Points.Clear();
for (int k = 0; k < n - 1; k++)
{
chart1.Series[0].Points.AddXY(xx[k], ff[k]);
}

}
}

Rezultatele obţinute pentru separarea rădăcinilor funcţiei:

𝑓(𝑥) = 𝑥 4 − 9𝑥 3 − 2𝑥 2 + 120𝑥 − 130

Valorile funcţiei pentru Xmin = - 5; Xmax = 10; Dx = 0,5 sunt:

1 x = -5 F(x) = 970
2 x = -4.5 F(x) = 519.6875
3 x = -4 F(x) = 190
4 x = -3.5 F(x) = -38.5625
5 x = -3 F(x) = -184
6 x = -2.5 F(x) = -262.8125
7 x = -2 F(x) = -290
8 x = -1.5 F(x) = -279.0625
9 x = -1 F(x) = -242
10 x = -0.5 F(x) = -189.3125
11 x = 0 F(x) = -130
12 x = 0.5 F(x) = -71.5625
13 x = 1 F(x) = -20
14 x = 1.5 F(x) = 20.1875
5
Metode numerice de modelare,simulare şi optimizare

15 x = 2 F(x) = 46
16 x = 2.5 F(x) = 55.9375
17 x = 3 F(x) = 50
18 x = 3.5 F(x) = 29.6875
19 x = 4 F(x) = -2
20 x = 4.5 F(x) = -40.5625
21 x = 5 F(x) = -80
22 x = 5.5 F(x) = -112.8125
23 x = 6 F(x) = -130
24 x = 6.5 F(x) = -121.0625
25 x = 7 F(x) = -74
26 x = 7.5 F(x) = 24.6875
27 x = 8 F(x) = 190
28 x = 8.5 F(x) = 438.4375
29 x = 9 F(x) = 788
30 x = 9.5 F(x) = 1258.1875
31 x = 10 F(x) = 1870

Intervalele în care se găsesc rădăcinile sunt:


1 a = -4 b = -3.5
2 a = 1 b = 1.5
3 a = 3.5 b = 4
4 a = 7 b = 7.5

6
Metode numerice de modelare,simulare şi optimizare

Reprezentarea grafică a funcţiei pe intervalul [-5.5;9.5] este:

1.3. METODA BISECŢIEI

Metoda bisecţiei cunoscută şi sub numele de metoda înjumătăţirii intervalului este o


metodă iterativă prin care se poate determina soluţia unei ecuaţii aflată într-un interval
determinat. Această metodă nu are condiţii de convergenţă şi conduce întotdeauna la o
soluţie.

Considerând că ecuaţia 𝑓(𝑥) = 0 are o rădăcină în intervalul [a, b] atunci funcţia 𝑓(𝑥)
îndeplineşte următoarea condiţie 𝑓(𝑎)𝑓(𝑏) < 0. Metoda bisecţiei constă în definirea unui
punct ξ plasat la jumătatea intervalului:

𝑎+𝑏
𝜉= 2

7
Metode numerice de modelare,simulare şi optimizare

Algoritmul este simplu şi constă în următoarele etape:

• Se calculează valorile funcţiei la capetele intervalului şi la jumătatea acestuia în


punctul ξ, respectiv 𝑓(𝑎), 𝑓(𝑏) şi 𝑓(𝜉);
• Dacă 𝑓(𝑎)𝑓(𝜉) < 0 atunci rădăcina se află în intervalul [a, ξ], în consecinţă se
restrânge acest interval deplasându-se limita dreaptă în punctul de la jumătatea
intervalului 𝑏 = 𝜉;
• Dacă 𝑓(𝜉)𝑓(𝑏) < 0 atunci rădăcina se află în intervalul [ξ, b], în consecinţă se
restrânge acest interval deplasându-se limita stângă în punctul de la jumătatea
intervalului 𝑎 = 𝜉;
• Se repetă aceşti paşi până la atingerea preciziei dorite.

Se observă uşor că prin repetarea algoritmului de căutare a soluţiei la fiecare pas


intervalul iniţial se micşorează

|𝑏 − 𝑎| > |𝑏1 − 𝑎1 | > ⋯ > |𝑏𝑛 − 𝑎𝑛 |

Valorile succesive ale capetelor intervalului formează două serii infinite, legătura între
termenii generali ai acestora este

1
𝑏𝑛 − 𝑎𝑛 = 2𝑛 (𝑏 − 𝑎) cu 𝜉 ∈ (𝑎, 𝑏)

Din relaţia de mai sus se poate deduce criteriul pentru oprirea calculelor în cazul
metodei bisecţiei. Aceste criterii pot fi:

|𝑏𝑛 − 𝑎𝑛 | < 𝜀 sau |𝜉𝑛 − 𝜉𝑛−1 | < 𝜀

în care cu ξn şi ξn-1 reprezintă două valori succesive ale jumătăţii intervalului.


Metoda bisecţiei este o metodă robustă care totdeauna ne conduce la aflarea soluţiei
ecuaţiei în intervalul definit. Dezavantajul constă în viteza de căutare a soluţiei care este
destul de lentă. Acest dezavantaj este compensat de viteza mare de calcul existentă pe
calculatoarele moderne.

8
Metode numerice de modelare,simulare şi optimizare

Dacă împărţirea rădăcinilor nu a fost corect făcută, iar în intervalul în care se caută
rădăcina sunt mai multe rădăcini, metoda bisecţiei nu mai funcţionează corect, ciclul prin care
se caută soluţia poate intra intr-un ciclu infinit prin faptul că condiţia de ieşire din buclă nu
este îndeplinită niciodată. Pentru e evita acest tip de incident neplăcut se impune limitarea
numărului de iteraţii prin utilizarea unui contor a cărei valoare maximă este testată la fiecare
iteraţie, iar când se atinge valoarea maximă iteraţiile se opresc automat .

1.4. METODA PĂRŢILOR PROPORŢIONALE

Această metodă mai este cunoscută şi sub denumirea de metoda coardei şi reprezintă o
metodă mai rapidă pentru căutarea rădăcinii ecuaţiei 𝑓(𝑥) = 0 pe intervalul [a, b] care
conţine o rădăcină a ecuaţiei, deci este îndeplinită condiţia 𝑓(𝑎)𝑓(𝑏) < 0.

Considerăm pentru început că 𝑓(𝑎) < 0 şi 𝑓(𝑏) > 0. În loc să împărţim segmentul [a,
b] în două pentru a căuta rădăcina ca în metoda bisecţiei, este mai logic să-l împărţim în
raportul – 𝑓(𝑎)/𝑓(𝑏).

Fig. 1.6

Se obţine astfel valoarea aproximativă a rădăcinii

𝑥1 = 𝑎 + ℎ1

9
Metode numerice de modelare,simulare şi optimizare

în care

−𝑓(𝑎)
ℎ1 = −𝑓(𝑎)+𝑓(𝑏) (𝑏 − 𝑎).

Acest procedeu se aplică unuia din segmentele [a, x1] sau [x1, b] dacă produsul valorilor
funcţiei 𝑓(𝑥) este negativ obţinându-se a doua aproximaţie a rădăcinii ecuaţiei x2, figura 1.7.

Fig. 1.7

Din punct de vedere geometric metoda părţilor proporţionale constă în înlocuirea curbei
𝑦 = 𝑓(𝑥) printr-o coardă care trece prin punctele A[a, f(a)] şi B[b, f(b)] (figura 1.6). Ecuaţia
dreptei care trece prin punctele A și B este

𝑥−𝑎 𝑦−𝑓(𝑎)
= 𝑓(𝑏)−𝑓(𝑎)
𝑏−𝑎

Din condiţiile de intersecţie ale acestei drepte cu axa OX, 𝑥 = 𝑥1 şi 𝑦 = 0 se obţine

𝑓(𝑎)
𝑥1 = 𝑎 − 𝑓(𝑏)−𝑓(𝑎) (𝑏 − 𝑎)

Formula se poate generaliza pentru aproximaţiile succesive care se efectuează, astfel

𝑓(𝑥 )
𝑛
𝑥𝑛+1 = 𝑥𝑛 − 𝑓(𝑏)−𝑓(𝑥 )
(𝑏 − 𝑥𝑛 ) unde 𝑛 = 0,1,2, … (1.8)
𝑛

rezultând astfel o serie convergentă, crescătoare către rădăcina ecuaţiei

10
Metode numerice de modelare,simulare şi optimizare

𝑎 = 𝑥0 < 𝑥1 < 𝑥2 < ⋯ < 𝑥𝑛 < 𝑥𝑛+1 < ⋯ < 𝜉

Dacă 𝑓(𝑏) < 0 (figura 1.8) formula (1.8) devine

𝑓(𝑥𝑛 )
𝑥𝑛+1 = 𝑥𝑛 − 𝑓(𝑏𝑥 (𝑥𝑛 − 𝑥𝑛 ) unde 𝑛 = 0,1,2, …
𝑛 )−𝑓(𝑏)

În acest caz aproximaţiile succesive formează o serie descrescătoare către rădăcina


funcţiei din acest interval.

𝜉 < ⋯ < 𝑥𝑛+1 < 𝑥𝑛 < ⋯ < 𝑥2 < 𝑥1 < 𝑥0 = 𝑏

Fig. 1.8

Generalizarea rezultatelor de mai sus ne conduce la următoarele concluzii:

• Extremitatea fixă a intervalului este cea pentru care semnul funcţiei 𝑓(𝑥) coincide cu
semnul derivatei a doua 𝑓"(𝑥);

• Aproximaţiile succesive 𝑥𝑛 au semn opus faţă de derivata a doua a funcţiei 𝑓"(𝑥);

• Aproximaţia 𝑥𝑛∗1 este mai aproape de rădăcina ξ, decât aproximaţia 𝑥𝑛 , şirul


aproximaţiilor succesive este monoton şi mărginit, limita acestuia fiind rădăcina
funcţiei

lim (𝑥𝑛 ) = 𝜉.
𝑛→∞

11
Metode numerice de modelare,simulare şi optimizare

1.5. METODA NEWTON –RAPHSON

Fie ξ rădăcina ecuaţiei 𝑓(𝑥) = 0 plasată în intervalul [a, b], iar 𝑓 ′ (𝑥) şi 𝑓"(𝑥) sunt
continue şi păstrează semn constant pe intervalul (a, b). Considerăm că 𝑥𝑛 reprezintă a n-a
aproximaţie a rădăcinii funcţiei. Între rădăcina funcţiei şi aproximaţie se poate scrie relaţia

𝜉 = 𝑥𝑛 + ℎ𝑛 (1.9)

unde ℎ𝑛 reprezintă cantitate mică.

Dacă dezvoltăm funcţia 𝑓(𝑥) în serie Taylor în jurul originii şi păstrăm numai primii 2
termeni obţinem:

0 = 𝑓(𝑥𝑛 + ℎ𝑛 ) ≈ 𝑓(𝑥𝑛 ) + ℎ𝑛 𝑓 ′ (𝑥𝑛 )

𝑓(𝑥 )
ℎ𝑛 = − 𝑓′ (𝑥𝑛 )
𝑛

Înlocuind valoarea lui ℎ𝑛 în formula (1.9) obţinem următoare formulă de recurenţă


cunoscută sub denumirea de formula lui Newton – Raphson
𝑓(𝑥𝑛 )
𝑥𝑛+1 = 𝑥𝑛 − (1.10)
𝑓 ′ (𝑥𝑛 )

Semnificaţia geometrică a acestei formule este prezentată în figura 1.9

12
Metode numerice de modelare,simulare şi optimizare

Fig. 1.9

Considerând că procesul începe din punctul B care are abscisa 𝑥0 = 𝑏. Tangenta la


funcţia 𝑓(𝑥) care trece prin punctul B are ecuaţia

𝑦 − 𝑓(𝑥0 ) = 𝑓 ′ (𝑥0 )(𝑥 − 𝑥0 )

Intersecţia acestei drepte cu axa OX se determină din condiţia 𝑦 = 0. Notăm acel punct
cu 𝑥1 , din ecuaţia de mai sus rezultă

𝑓(𝑥 )
𝑥1 = 𝑥0 − 𝑓′ (𝑥0 )
0

Valoarea funcţiei în punctul 𝑥1 este 𝑓(𝑥1 ) reprezentată pe grafic de punctul B1. Dacă
din acest punct se duce tangenta, intersecţia acesteia cu axa OX este 𝑥2 a cărei coordonată
este

𝑓(𝑥 )
𝑥2 = 𝑥1 − 𝑓′ (𝑥1 ).
1

Prin generalizare se ajunge la formula (1.10).

Observaţia 1

- Dacă funcţia 𝑓(𝑥) este definită şi continuă pentru −∞ < 𝑥 < +∞

- 𝑓(𝑎)𝑓(𝑏) < 0

- 𝑓 ′ (𝑥) ≠ 0 pentru 𝑎 ≤ 𝑥 ≤ 𝑏

- 𝑓"(𝑥) este continuă şi păstrează semnul constant pe intervalul [a, b]

Atunci pentru aplicarea metodei lui Newton pentru căutarea rădăcinii ecuaţiei 𝑓(𝑥) = 0
în intervalul (a, b) se poate lua pentru aproximaţia iniţială orice valoare 𝑐 ∈ [𝑎, 𝑏].
Observaţia 2

13
Metode numerice de modelare,simulare şi optimizare

Metoda Newton – Raphson se aplică dacă panta funcţiei 𝑓(𝑥) este abruptă în
vecinătatea rădăcinii funcţiei. În acest caz metoda converge rapid. Dacă panta este aproape
orizontală (valoarea primei derivate este mare) metoda converge greu, iar metoda nu este
indicată În figura 1.10 este prezentat un astfel de caz.

Fig. 1.10

Implementarea informatică a metodei Newton – Raphson este prezentată în procedura


de mai sus. Se remarcă în antetul procedurii definirea funcţiei şi a primei derivate. Procesul
iterativ se desfăşoară într-un ciclu controlat de instrucţiunile repreat - until . Acesta se opreşte
la atingerea preciziei impuse sau la atingerea valorii maxime a contorului prin care se
limitează numărul de iteraţii.

1.6. METODA APROXIMAŢIILOR SUCCESIVE

O metodă dintre cele mai importante de rezolvare numerică a ecuaţiilor este metoda
aproximaţiilor succesive care mai se mai numeşte şi metoda iteraţiilor. Considerăm ecuaţia

𝑓(𝑥) = 0

în care 𝑓(𝑥) este o funcţie continuă.

14
Metode numerice de modelare,simulare şi optimizare

Se înlocuieşte această ecuaţie cu una echivalentă de forma

𝑥 = 𝜑(𝑥) (1.11)

Se consideră 𝑥0 o aproximaţie grosieră a rădăcinii. Se determină următoarea


aproximaţie folosind formula (1.11)

𝑥1 = 𝜑(𝑥0 ).

Repetând această procedură obţinem următoarea relaţie pentru calculul aproximaţiilor


succesive ale ecuaţiei

𝑥𝑛 = 𝜑(𝑥𝑛−1 ) (𝑛 = 0,1,2, …)

Dacă șirul aproximaţiilor succesive converge, adică există o limită ξ = lim 𝑥𝑛 atunci
𝑛→∞

trecând la limită relaţia de iteraţie

lim 𝑥𝑛 = 𝜑(lim 𝑥𝑛 )
𝑛→∞ 𝑛→∞

sau

𝜉 = 𝜑(𝜉)

Geometric această metodă se explică în figura 1.11. În planul XOY se reprezintă grafic
dreapta 𝑦 = 𝑥 care reprezintă prima bisectoare şi funcţia 𝑦 = 𝜑(𝑥).

Rădăcina reală ξ a funcţiei 𝑓(𝑥) = 0 reprezintă abscisa punctului de intersecţie a primei


bisectoare cu funcţia 𝜑(𝑥). Plecând din punctul 𝑥0 reprezentat pe grafic prin litera A şi
procedând conform relaţiei de iteraţie rezultă linia poligonală care descrie procesul iterativ
A0B1A1B2A2… şi care se apropie cu fiecare iteraţie de rădăcina căutată.

15
Metode numerice de modelare,simulare şi optimizare

Fig. 1.11

Pentru ca procesul iterativ să fie convergent trebuie ca |𝜑 ′ (𝑥)| < 1. Dacă 𝜑 ′ (𝑥) este
negativă linia poligonală care se apropie de rădăcină are o configuraţie spirală, figura 1.12

Fig. 1.12

În cazul în care |𝜑 ′ (𝑥)| > 1 procesul iterativ poate să devină divergent, figura 1.13.
16
Metode numerice de modelare,simulare şi optimizare

Fig. 1.13
Teoremă Dacă funcţia 𝜑(𝑥) este definită şi derivabilă pe intervalul [a, b] şi dacă există un
număr q astfel încât |𝜑 ′ (𝑥)| ≤ 𝑞 < 1 pentru 𝑎 < 𝑥 < 𝑏 atunci:

• Procesul iterativ 𝑥𝑛 = 𝜑(𝑥𝑛−1 ) (𝑛 = 0,1,2, …) este convergent indiferent de modul


cum s-a ale valoare iniţială 𝑥0 ∈ [𝑎, 𝑏]
• Valoarea limită ξ = lim 𝑥𝑛 reprezintă unica rădăcină e ecuaţiei 𝑥 = 𝜑(𝑥) pe
𝑛→∞

segmentul [a, b]

În continuare este prezentă o procedură care utilizează metoda aproximaţiilor succesive


pentru calculul rădăcinii ecuaţiei 𝑓(𝑥) = 𝑥 2 − 0,7 = 0. Aceasta s-a transformat astfel

𝑥 = 𝑥 2 + 𝑥 − 0,7

deci

𝜑(𝑥) = 𝑥 2 + 𝑥 − 0,7.

17
Capitolul 2

REZOLVAREA NUMERICĂ A SISTEMELOR DE ECUAŢII


LINIARE

2.1 REZOLVAREA SISTEMELOR ALGEBRICE DE ECUAŢII LINIARE

O ecuaţie se numeşte liniară dacă fiecare termen conţine numai o variabilă şi fiecare
variabilă este la puterea întâi. De exemplu

2𝑥 + 𝑦 − 6𝑧 = 4 (1)

2𝑥𝑦 + 𝑦 − 𝑧 = 2 (2)

𝑥2 + 𝑦 + 𝑧 = 0 (3)

- Ecuaţia (1) este o ecuaţie liniară;

- Ecuaţia (2) nu este liniară deoarece unul din termeni conţine produsul a două variabile
“xy”;

- Ecuaţia (3) nu este liniară deoarece unul din termeni este la o putere mai mare ca 1.
Un număr de n ecuaţii liniare cu n necunoscute formează un sistem liniar de n ecuaţii
cu n necunoscute. Fie 𝑥1 , 𝑥2 , 𝑥3 , … 𝑥𝑛 o soluţie a acestui sistem, dacă înlocuim aceste valori în
ecuaţiile sistemului acestea sunt satisfăcute simultan. Fie sistemul liniar de 3 ecuaţii cu 3
necunoscute

𝑥+𝑦+𝑧 = 4

2𝑥 + 3𝑦 + 𝑧 = 9

{ 𝑥 − 𝑦 − 𝑧 = −2
26
Metode numerice de modelare,simulare şi optimizare

Soluţia acestui sistem este 𝑥 = 1; 𝑦 = 2; 𝑧 = 1. Aceasta poate fi verificată prin


înlocuirea valorilor soluţiei în ecuaţiile sistemului.
În continuare se vor analiza pe sisteme simple de ecuaţii condiţiile de existenţă şi
unicitate ale soluţiei unui sistem liniar de ecuaţii.

1. Sistemul are o soluţie unică


Fie sistemul de 2 ecuaţii cu două necunoscute

2𝑥 + 𝑦 = 4
{ (2.3)
𝑥 − 𝑦 = −1

Soluţia acestui sistem este 𝑥 = 1; 𝑦 = 2, spunem că este unică deoarece nici o altă
pereche de valori nu satisface simultan ambele valori.
În spaţiul bidimensional cele două ecuaţii ale sistemului reprezintă două drepte pe care
le-am notat cu L1 şi respectiv L2, figura 2.1. După cum se cunoaşte coordonatele oricărui
punct de pe dreapta L1 satisfac ecuaţia dreptei. Acelaşi lucru se întâmplă pentru punctele de
pe dreapta L2.
Punctele care satisfac simultan ambele ecuaţii trebuie să se găsească la intersecţia celor
două drepte.
Conform figurii se observă că în aceste caz există un singur punct de intersecţie pentru
cele două drepte. Coordonatele acestui punct de intersecţie satisfac simultan ambele ecuaţii
ele reprezentând soluţie sistemului. Concluzia pe care o tragem că un astfel de sistem are o
soluţie unică.

Fig. 2.1.

27
Metode numerice de modelare,simulare şi optimizare

Forma matriceală a sistemului (2.3) este

2 1 𝑥 4
[ ][ ] = [ ]
1 −1 𝑦 −1

𝐴𝑋 = 𝐵

Condiţia de unicitate a soluţiei sistemului se traduce printr-o condiţie asupra


determinantului sistemului astfel încât acesta trebuie să fie nenul 𝑑𝑒𝑡|𝐴| ≠ 0, adică

2 1
𝑑𝑒𝑡𝐴 = [ ] = −3 ≠ 0
1 −1

2. Sistemul nu are soluţie

Pentru a exemplifica această situaţie vom considera următorul exemplu

4𝑥 + 6𝑦 = 10
{ (2.4)
2𝑥 + 3𝑦 = 6

În acest caz graficele celor două drepte ale sistemului (2.4) sunt paralele aşa după cum
se poate observa şi în figura 2.2. Deoarece cele două drepte nu au nici un punct comun rezultă
ca sistemul nu are nici o soluţie.

Fig. 2.2.
Dacă verificăm determinatul sistemului observăm că valoarea acestuia este nulă

28
Metode numerice de modelare,simulare şi optimizare

4 6
𝑑𝑒𝑡|𝐴| = [ ]=0
2 3

În cazul în care determinantul sistemului este nul atunci sistemul nu are soluţie sau este
incompatibil.

3. Sistemul are o mulţime de soluţii

Considerăm sistemul

4𝑥 + 6𝑦 = 12
{
2𝑥 + 3𝑦 = 6

Dacă verificăm determinatul rezultă că acesta este nul

4 6
𝑑𝑒𝑡|𝐴| = [ ]=0
2 3

Pe lângă această observaţie mai remarcăm faptul că rapoartele coeficienţilor celor două
ecuaţii sunt egale

𝑎11 𝑎 𝑏
= 𝑎12 = 𝑏1
𝑎21 21 2

4 6 12
=3= =2
2 6

În acest caz cele două drepte ale sistemului coincid, fig. 3, rezultă că orice punct de pe
dreapta din figură verifică sistemul deci există o infinitate de soluţii pentru acest sistem.

29
Metode numerice de modelare,simulare şi optimizare

Fig. 2.3.

2.2. ELIMINAREA GAUSSIANĂ

Considerăm relaţiile

𝑎11 𝑥1 + 𝑎12 𝑥2 + 𝑎13 𝑥3 = 𝑏1 (2.5)

𝑎21 𝑥1 + 𝑎22 𝑥2 + 𝑎23 𝑥3 = 𝑏2 (2.6)

𝑎31 𝑥1 + 𝑎32 𝑥2 + 𝑎33 𝑥3 = 𝑏3 (2.7)

Se defineşte multiplicatorul m2 astfel

𝑎
𝑚2 = 𝑎21
11

Înmulţim ecuaţia (2.5) cu m2 şi o scădem din relaţia (2.6), rezultând

(𝑎21 − 𝑚2 𝑎11 )𝑥1 + (𝑎22 − 𝑚2 𝑎12 )𝑥2 + (𝑎23 − 𝑚2 𝑎23 )𝑥3 = 𝑏 − 𝑚2 𝑏1 (2.8)

unde

30
Metode numerice de modelare,simulare şi optimizare

𝑎
𝑎21 − 𝑚2 𝑎11 = 𝑎21 − 𝑎21 𝑎11 = 0 (2.9).
11

Prin acest procedeu s-a eliminat x1 din ecuaţia (2.5).


Dacă se introduc notaţiile


𝑎22 = 𝑎22 − 𝑚2 𝑎12


𝑎23 = 𝑎23 − 𝑚2 𝑎13 (2.10)

𝑏2′ = 𝑏2 − 𝑚2 𝑏1

ecuaţia (2.8) devine

′ ′
𝑎22 𝑥2 + 𝑎23 𝑥3 = 𝑏2′ (2.11)

Aceasta reprezintă a doua ecuaţie a sistemului (2.5)-(2.7) după ce s-a eliminate variabila
x1 din prima ecuaţie.
Procedăm în mod similar pentru eliminarea variabilei x1 şi din ecuaţia (2.7). Pentru
𝑑
acest lucru se defineşte multiplicatorul 𝑚3 = 𝑑31 . Înmulţim ecuaţia (2.5) cu multiplicatorul şi
11

o scădem din ecuaţia (2.7), rezultă

′ ′
𝑎23 𝑥2 + 𝑎33 𝑥3 = 𝑏3′ (2.12)
în care s-au utilizat notaţiile


𝑎32 = 𝑎32 − 𝑚3 𝑎12


𝑎33 = 𝑎33 − 𝑚3 𝑎13 (2.13)

𝑏3′ = 𝑏3 − 𝑚3 𝑏1

Sistemul iniţial capătă următoarea formă

31
Metode numerice de modelare,simulare şi optimizare

𝑎11 𝑥1 + 𝑎12 𝑥2 + 𝑎13 𝑥3 = 𝑏1 (2.14)

′ ′
𝑎22 𝑥2 + 𝑎23 𝑥3 = 𝑏2′ (2.15)

′ ′
𝑎23 𝑥2 + 𝑎33 𝑥3 = 𝑏3′ (2.16)

Acesta este un sistem echivalent cu sistemul original şi are în plus avantajul că din
ultimele două ecuaţii s-a eliminat necunoscuta x1.
𝑎′
Pentru a elimina x2 din ultimele două ecuaţii se defineşte multiplicatorul 𝑚3′ = 𝑚32
′ .
22

Înmulţim ecuaţia (2.15) şi obţinem


(𝑎32 − 𝑚3′ 𝑎32
′ )𝑥 ′ ′ ′ ′ ′ ′
2 + (𝑎33 − 𝑚3 𝑎23 )𝑥3 = 𝑏3 − 𝑚3 𝑏2 (2.17)

Se observă din nou că datorită modului în care s-a ales multiplicatorul, coeficientul
variabilei x2 din ecuaţia (2.17) este nul.


𝑎32 − 𝑚3′ 𝑎32

=0

Folosind notaţiile

′′ ′
𝑎33 = 𝑎33 − 𝑚3′ 𝑎32

și 𝑏3′′ = 𝑏3′ − 𝑚3′ 𝑏2′ (2.18)

obţinem următoarea formă pentru a treia ecuaţie a sistemului

′′
𝑎33 𝑥3 = 𝑏3′′ (2.19)

În acest moment ecuaţiile sistemului sunt:

𝑎11 𝑥1 + 𝑎12 𝑥2 + 𝑎13 𝑥3 = 𝑏1

′ ′
𝑎22 𝑥2 + 𝑎23 𝑥3 = 𝑏2′ (2.20)

32
Metode numerice de modelare,simulare şi optimizare

′′
𝑎33 𝑥3 = 𝑏3′′
Un astfel de sistem triunghiular se rezolvă simplu. Din ultima ecuaţie se calculează x3
apoi pe rând prin substituţie inversă se calculează toate variabilele. Soluţia sistemului prin
procedeul eliminării gaussiene este:

𝑏 ′′
𝑥3 = 𝑎′′3
33

𝑏2′ −𝑎23
′ 𝑥
3
𝑥2 = ′ (2.21)
𝑎22

𝑏1 −𝑎12 𝑥2 −𝑎13 𝑥3
𝑥1 =
𝑎11

Condiţiile în care s-a putut aplica această metodă au fost:

• 𝑎11

≠ 0, dacă această condiţie nu este îndeplinită se schimbă coloanele între ele până
când coeficientul unei variabile este nenul;

• 𝑎22
′ ′
≠ 0, dacă 𝑎22 ′
este nul se utilizează termenul 𝑎23 pentru eliminarea gaussiană;

• 𝑎33

≠ 0, dacă acest termen este nul sistemul este singular şi după cum am văzut
poate să nu mai aibă soluţie sau, din contră, o infinitate de soluţii.
Pentru generalizarea soluţiei şi trecerea la cazul unui sistem de n ecuaţii cu n
′ ′
necunoscute vom renunţa la notaţiile folosite până acum adică 𝑎22 , 𝑎23 şi 𝑏2′ se vor renota cu
𝑎22 , 𝑎23 şi respectiv 𝑏2 , deoarece valorile temporare ale acestor coeficienţi nu se reţin pe
timpul efectuării calculelor.
Pentru calculul succesiv al coeficienţilor sistemului de ecuaţii 𝑎𝑖𝑗 (i=1, 2,…,n; j=1, 2,
…n) este nevoie de o singură variabilă de tip tablou a[i, j] în care se scriu valorile iniţiale, se
fac toate operaţiile legate de procedeul de eliminare gaussiană şi se determină valorile finale.
Realizarea algoritmului se face utilizându-se 3 tipuri de operaţii fără ca acestea să
modifice soluţiile sistemului:
1. Înmulţirea ecuaţiei cu o constantă;
2. Scăderea unei ecuaţii din alta, termen cu termen;
3. Rearanjarea ecuaţiilor.

33
Metode numerice de modelare,simulare şi optimizare

Fie sistemul de n ecuaţii cu n variabile x1, x2,…,xn

𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ 𝑎1𝑗 𝑥𝑗 + ⋯ 𝑎1𝑛 𝑥𝑛 = 𝑏1


𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ 𝑎2𝑗 𝑥𝑗 + ⋯ 𝑎2𝑛 𝑥𝑛 = 𝑏2
.
.
(2.22)
𝑎𝑖1 𝑥1 + 𝑎𝑖2 𝑥2 + ⋯ 𝑎𝑖𝑗 𝑥𝑗 + ⋯ 𝑎𝑖𝑛 𝑥𝑛 = 𝑏𝑖
.
.
{𝑎𝑛1 𝑥1 + 𝑎𝑛2 𝑥2 + ⋯ 𝑎𝑛𝑗 𝑥𝑗 + ⋯ 𝑎𝑛𝑛 𝑥𝑛 = 𝑏𝑛
Pentru a elimina variabila xk prin anularea coeficientului acesteia definim
multiplicatorul

𝑎
𝑚𝑖 = 𝑎 𝑖𝑘 , 𝑖 = 𝑘 + 1, … . 𝑛
𝑘𝑘

unde 𝑎𝑘𝑘 ≠ 0, în acest caz rezultă coeficienţii variabilelor

𝑥𝑗 , 𝑗 = 𝑘, 𝑘 + 1, … . , 𝑛

𝑎𝑖𝑗 = 𝑎𝑖𝑗 − 𝑚𝑗 𝑎𝑘𝑗

𝑏𝑖 = 𝑏𝑖 − 𝑚𝑖 𝑏𝑘 .

Indicele k ia consecutive valori întregi de la 1 până la n-1 inclusiv. În momentul în care


k = n-1 se elimină xn-1 din ultima ecuaţie. Rezultă în final sistemul triunghiular de ecuaţii

𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ 𝑎1𝑗 𝑥𝑗 + ⋯ 𝑎1𝑛 𝑥𝑛 = 𝑏1


𝑎22 𝑥2 + ⋯ 𝑎2𝑗 𝑥𝑗 + ⋯ 𝑎2𝑛 𝑥𝑛 = 𝑏2
.
.
(2.23)
𝑎𝑖𝑗 𝑥𝑗 + ⋯ 𝑎𝑖𝑛 𝑥𝑛 = 𝑏𝑖
.
.
{ 𝑎𝑛𝑛 𝑥𝑛 = 𝑏𝑛

Soluţia sistemului triunghiular se obţine prin retrosubstituţie după următorul algoritm

34
Metode numerice de modelare,simulare şi optimizare

𝑏
𝑥𝑛 = 𝑎 𝑛
𝑛𝑛
.
.
𝑏𝑗 −(𝑎𝑗,𝑗+1 +⋯𝑎𝑗𝑛 𝑥𝑛 )
𝑥𝑗 = (2.24)
𝑎𝑗𝑛
.
.
1−(𝑎12 𝑥2 +⋯𝑎1𝑛 𝑥𝑛 )
{ 𝑥1 = 𝑎11

2.3. FORMULAREA MATRICIALĂ

Pentru a uşura manipularea datelor ţi realizarea automată a calculelor se prefer


formularea matriceală a sistemului de ecuaţii.
Sistemul de ecuaţii (2.22) se poate scrie sub formă matriceală astfel

𝐴∙𝑋 =𝐵 (2.25)
în care A reprezintă matricea coeficienţilor de tip nxn

𝑎11 𝑎12 ⋯ 𝑎𝑖𝑗 ⋯ 𝑎1𝑛


𝑎21 𝑎22 ⋯ 𝑎2𝑗 ⋯ 𝑎2𝑛
⋯⋯⋯⋯⋯
𝐴 = 𝑎𝑖1 𝑎𝑖2 ⋯ 𝑎𝑖𝑗 ⋯ 𝑎𝑖𝑛
⋯⋯⋯⋯⋯
𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑗 … 𝑎𝑛𝑛
[ ]

Matricele X şi B sunt matrice coloană cu n elemente

𝑥1 𝑏1
𝑥2 𝑏2
. .
𝑋 = 𝑥. 𝐵= .
𝑖 𝑏𝑖
.. ..
[𝑥𝑛 ] [𝑏𝑛 ]

35
Metode numerice de modelare,simulare şi optimizare

2.4. Metoda factorizării LU

Metoda factorizării LU constă în descompunerea matricei A, a sistemului


A∙X=B (1)
într-un produs de două matrice una inferioară triunghiulară L (Lower triangular) şi una
superior triunghiulară U (Upper triangular)
A=L∙U (2)
În urma acestei descompuneri sistemul (1) se poate scrie:
L ∙ (U ∙ X) = B (3)
Acesta este echivalent cu 2 sisteme liniare care se rezolvă succesiv rezolvând soluţia
sistemului iniţial
L∙Y=B (4)
U∙X=Y (5)
Rezolvarea sistemelor cu matrice triunghiulare (4), (5) se poate realiza eficient prin
procedee succesive similare substituţiei inverse gausiene.
Trebuie sa remarcăm faptul că factorizarea matricei sistemului se efectuează în mod
independent de determinarea soluţiei X a sistemului, nefiind necesară pentru această operaţie
cunoaşterea termenului liber. Se cunosc mai multe metode de factorizare Kholetski, Cholesky
şi Crout.
Se va prezenta în continuare metoda de factorizare a lui Crout. Matricele triunghiulare L
şi U se definesc astfel:
1 0⋯ 0
𝛼21 1 ⋯ 0
𝐿 = [𝛼 ] (6)
𝑖1 𝛼𝑖,𝑖−1 1 ⋯ 0
𝛼𝑛 0 ⋯ 𝛼𝑛,𝑛−1

𝛽11 𝛽12 ⋯ 𝛽𝑖𝑗 ⋯ 𝛽1𝑛


𝛽21 𝛽22 ⋯ 𝛽2𝑗 ⋯ 𝛽2𝑛
⋯⋯⋯⋯⋯
𝑈 = 𝛽𝑖1 𝛽𝑖2 ⋯ 𝛽𝑖𝑗 ⋯ 𝛽𝑖𝑛 (7)
⋯⋯⋯⋯⋯
𝛽𝑛1 𝛽𝑛2 … 𝛽𝑛𝑗 … 𝛽𝑛𝑛
[ ]
Fie aij un element al matricei A. Acesta poate fi determinat prin înmulţirea liniei i a

36
Metode numerice de modelare,simulare şi optimizare

matricei L cu coloana j a matricei U. Numărul de termeni ai sumei corespunzătoare este


reprezentat de minimul dintre i şi j.
∑𝑖−1
𝑘=1 𝛼𝑖𝑘 𝛽𝑘𝑗 + 𝛽𝑖𝑗 , 𝑖 ≤ 𝑗
𝑎𝑖𝑗 = { (8)
∑𝑖−1
𝑘=1 𝛼𝑖𝑘 𝛽𝑘𝑗 + 𝛼𝑖𝑗 𝛽𝑗𝑗 , 𝑖 > 𝑗

Prima sumă corespunde triunghiului superior şi permite calcularea elementelor βij ale
matricei U iar a doua sumă corespunde triunghiului inferior şi permite determinarea
elementelor matricei L
𝛽𝑖𝑗 = 𝑎𝑖𝑗 − ∑𝑖−1
𝑘=1 𝛼𝑖𝑘 𝛽𝑘𝑗 , 𝑖 = 1,2, … , 𝑗 (9)

1
𝛼𝑖𝑗 = 𝛽 [𝑎𝑖𝑗 − ∑𝑖−1
𝑘=1 𝛼𝑖𝑘 𝛽𝑘𝑗 ], 𝑖 = 𝑗 + 1, … , 𝑛 (10)
𝑖𝑗

Deoarece matricea L are elementele de pe diagonală egale cu 1 se poate utiliza un


singur tablou, care iniţial conţinea elementele matricei A pentru păstrarea celor două matrice
L şi U.
𝛽11 𝛽𝑖𝑗 𝛽1𝑛
𝐴 = [𝛼21 𝛽𝑖𝑖 𝛽2𝑛 ] (11)
𝛼1𝑛 𝛼𝑛𝑗 𝛽𝑛𝑛
Pentru calculul elementelor αij ale matricei L se utilizează pivotarea pentru cazul în care
pivotul βij este nul. În vederea evitării împărţirii la zero şi pentru a reduce erorile de rotunjire
trebuie ca pivotul sa aibă valoarea cât mai mare.
O strategie simplă de pivotare poate să fie următoarea:
- se defineşte pentru fiecare coloană j mărimile:
𝛼̅𝑖𝑗 = 𝑎𝑖𝑗 − ∑𝑖−1
𝑘=1 𝛼𝑖𝑘 𝛽𝑘𝑗 , 𝑖 = 𝑗, … , 𝑛 (12)
- se calculează mărimile:
𝛽𝑗𝑗 = 𝛼̅𝑗𝑗 (13)
𝛼
𝛼𝑖𝑗 = 𝛽𝑖𝑗 , 𝑖 = 𝑗 + 1, … , 𝑛 (14)
𝑖𝑗

Pivotul convenabil este cel cu valoarea maximă din această cauză cel mai mare dintre
elementele 𝑎̅𝑖𝑗 se aşează pe diagonala principală devenind pivot.
Determinantul matricei A se poate calcula ca produsul elementelor de pe diagonala
matricei U
𝑑𝑒𝑡𝐴 = ∏𝑛𝑗=1 𝛽𝑗𝑗 (15)

37
Capitolul 3

INTEGRAREA NUMERICĂ A ECUAŢIILOR


DIFERENŢIALE ORDINARE

Ecuaţiile care conţin derivata unei funcţii de o variabilă sunt des utilizate în domeniul
matematicii aplicate.
Un exemplu simplu de ecuaţie diferenţială ordinară este următorul

𝑑𝑦
= 𝑦 sau y’ = y (5.1)
𝑑𝑥

Această soluţie diferenţială simplă se poate integra analitic rezultând soluţia

𝑦 = 𝑎𝑒 𝑥 (5.2)

în care a reprezintă o constant arbitrară.


Valori diferite ale constantei a produc o familie de curbe care satisfac ecuaţia
diferenţială (5.2). Constanta a este unic determinată dacă pe lângă ecuaţia diferenţială (5.1) se
mai precizează o pereche de valori x, y prin care să treacă curba care reprezintă soluţia
ecuaţiei. Această condiţie se numeşte condiţie la limită. De exemplu, dacă se dă condiţia x =
0, y = 1 din ecuaţia (5.2) se poate determina valoarea constantei a, în acest caz rezultă a = 1.
În general o ecuaţie diferenţială de ordinal unu are forma

𝑦 ′ = 𝑓(𝑥, 𝑦) (5.3)

iar pentru a putea fi rezolvată mai trebuie să i se asocieze o condiţie la limită de forma

𝑦(𝑥0 ) = 𝑦0 (5.4)

46
Metode numerice de modelare,simulare şi optimizare

Dacă ecuaţia diferenţială are ordinul mai mare decât 1, de exemplu o ecuaţie de ordinul
2.
𝑦" = 𝑔(𝑦 ′ , 𝑦, 𝑥) (5.5)

se poate reduce la o ecuaţie de ordinul unu făcând următoarea substituţie

𝑧 = 𝑦 ′ ; 𝑧 ′ = 𝑔(𝑧, 𝑦, 𝑥) (5.6)

3.1. METODA SERIILOR TAYLOR

Această metodă asigură teoretic soluţie oricărei ecuaţii diferenţiale, dar are o
aplicabilitate redusă. Importanţa acestei metode constă în faptul că ea serveşte drept criteriu
de apreciere şi comparare a metodelor utilizate frecvent în practică.
Să presupunem că s-a calculat o aproximaţie pentru y(x) în intervalul 𝑥0 ≤ 𝑥 ≤ 𝑥𝑚 .
Folosind teorema lui Taylor, dezvoltăm y(x) în serie, în vecinătatea punctului x = xm.

(𝑗) (𝑗+1)(𝜉)
′ (𝑥
"
𝑦𝑚 2) 𝑦𝑚 𝑗 𝑗 𝑦𝑚 𝑗 𝑗+1
𝑦(𝑥) = 𝑦𝑚 + 𝑦𝑚 − 𝑥𝑚 ) + (𝑥 − 𝑥𝑚 +⋯+ (𝑥 − 𝑥𝑚 ) + (𝑗+1)!
(𝑥 − 𝑥𝑚 ) (5.7)
2! 𝑗!

(𝑗)
unde: 𝑦𝑚 reprezintă derivata de ordinul j a lui y(x) în punctul x = xm. Reamintim că 𝑥𝑚 ≤
𝜉 ≤ 𝑥 unde x >xm.
Înlocuim x cu xm+h iar ecuaţia (5.7) pentru aproximarea funcţiei y(x) în punctul x =
xm+1 = xm+h este

" (𝑗) (𝑗+1)(𝜉)


′ 𝑦𝑚 𝑦𝑚 𝑦𝑚
𝑦𝑚+1 = 𝑦𝑚 + ℎ𝑦𝑚 + ℎ2 + ⋯ . + ℎ𝑗 + (𝑗+1)!
ℎ 𝑗+1 (5.8)
2! 𝑗!

De regulă ultimul termen se neglijează rezultând astfel o eroare de trunchiere.


Aproximaţia va fi cu atât mai mare cu cât j este mai mare.
Ţinând cont de ecuaţia (5.3) se poate evalua derivata de ordinul 2 ţinând seama că y(x)
arată astfel

47
Metode numerice de modelare,simulare şi optimizare

𝜕𝑓(𝑥,𝑦) 𝜕𝑓(𝑥,𝑦)
𝑦" = + 𝑓(𝑥, 𝑦) = 𝑓𝑥 + 𝑓𝑓𝑦 (5.9)
𝜕𝑥 𝜕𝑦

În relaţia de mai sus s-au folosit notaţiile

𝜕𝑓 𝜕𝑓
𝑓𝑥 = 𝜕𝑥 și 𝑓𝑦 = 𝜕𝑦 (5.10)

Pentru j = 2 expresia (5.8) devine

" ′′′(𝜉)
′ 𝑦𝑚 2 𝑦
𝑦𝑚+1 = 𝑦𝑚 + 𝑦𝑚 ℎ + ℎ + ℎ3 (5.11
2 6

folosind notaţiile (5.10)

′′′(𝜉)
ℎ 𝑦
𝑦𝑚+1 = 𝑦𝑚 + ℎ [𝑓 + 2 (𝑓𝑥 + 𝑓𝑓𝑦 )] + ℎ3 (5.12)
6

Putem concluziona că pentru calculul numeric al ecuaţiei (5.3) folosind metoda seriilor
Taylor, relaţia de recurenţă este

𝑦𝑚+1 = 𝑦𝑚 + ℎ [𝑓 + 2 (𝑓𝑥 + 𝑓𝑓𝑦 )] (5.13)

în acest caz eroarea de trunchierea va fi

′′′(𝜉)
𝑦
𝑒𝑡 = ℎ3 (5.14)
6

Dacă derivata a treia este mărginită superior de o constantă k rezultă că eroarea de


trunchiere este

𝑒𝑡 ≈ 𝑘ℎ3 (5.15)

3.2. METODA RUNGE-KUTTA

Dintre metodele practice de calcul folosite pentru rezolvarea ecuaţiilor diferenţiale o


48
Metode numerice de modelare,simulare şi optimizare

clasă largă de tehnici numerice poartă numele de metoda Runge-Kutta.


Metodele Runge-Kutta au trei proprietăţi distincte:
1. Sunt metode directe. Avem nevoie numai de informaţiile existente la punctul
precedent xm, ym pentru a putea găsi valoarea ym+1;
2. Sunt identice cu seriile Taylor până la termenii hp, unde p este diferit pentru metode
diferite, fiind numit ordinul metodei;
3. Nu necesită evaluarea nici unei derivate a funcţiei f(x,y) ci numai a funcţiei în sine.
Pentru a se înţelege mai bine în ce constau metodele de tip Runge-Kutta vom prezenta
aceste metode în paralel cu interpretarea geometrică a acestora
Dorim să definim o metodă iterativă pentru integrarea ecuaţiei (5.3). Presupunem că s-a

calculat soluţia ym în punctul xm. Se poate trasa o dreaptă de pantă 𝑦𝑚 = 𝑓(𝑥𝑚 , 𝑦𝑚 ) care trece
prin punctul (ym, xm) şi intersectează perpendiculara pe Ox în punctele xm+1 şi ym+1, figura 5.1.

Fig. 5.1.
Ecuaţia acestei drepte este

𝑦 = 𝑦𝑚 + 𝑦′𝑚 (𝑥 − 𝑥𝑚 ) (5.16)

Conform notaţiilor din figura 5.1, 𝑦 ′ = 𝑓(𝑥𝑚 , 𝑦𝑚 ) și 𝑥𝑚+1 − 𝑥𝑚 = ℎ, rezultă valoarea


funcţiei în punctul xm+1 astfel

𝑦𝑚+1 = 𝑦𝑚 + ℎ𝑓(𝑥𝑚 , 𝑦𝑚 ) (5.17)

Relaţia (5.17) reprezintă o relaţie iterativă care permite rezolvarea numerică a ecuaţiei

49
Metode numerice de modelare,simulare şi optimizare

(5.3) calculând punct cu punct valorile soluţiei.


Pentru a putea fi aplicată această metodă trebuie definită valoarea funcţiei în punctul de
pornire al procesului adică la capătul intervalului. Acest lucru se realizează prin condiţia la
limită

𝑥 = 𝑥0 , 𝑦 = 𝑓(𝑥0 ) (5.18
)
dacă funcţia se poate explicita, sau

𝑥 = 𝑥0 , 𝑦 = 𝑦0 , 𝑓(𝑥0 , 𝑦0 ) = 𝐶0 (5.19)

dacă funcţia nu se poate explicita. C0 reprezintă valoarea funcţiei în punctul (𝑥0 , 𝑦0 ).


Dacă se consideră dezvoltarea în serie Taylor a soluţiei pentru j = 1, rezultă

"
𝑦𝑚

𝑦𝑚+1 = 𝑦𝑚 + 𝑦𝑚 ℎ+ ℎ2 (5.20)
2

În acest caz eroarea de trunchiere este

"(𝜉)
𝑦
𝑒𝑡 = ℎ2 ≈ 𝑘ℎ2 (5.21)
2

unde k este limita superioară a derivatei a doua a funcţiei.


Metoda iterativă definită de relaţia (5.17) poartă numele de metoda Runge-Kutta de
ordinul 1. Această metodă care se mai numeşte şi metoda Euler produce erori de trunchiere
destul de mari.
O posibilitate de îmbunătăţire a metodei constă în utilizarea unei valori medii a pantei
dreptei utilizate pentru calculul valorii ym+1.
Astfel, conform acestei metode, figura 5.2, se determină panta dreptei L1 care trece prin
punctul (𝑥𝑚 , 𝑦𝑚 ).

50
Metode numerice de modelare,simulare şi optimizare

Fig. 5.2
(1)
Se calculează punctul de intersecţie cu verticala xm+1 şi rezultă punctul (𝑥𝑚+1 , 𝑦𝑚+1 ) −
(1)
𝑦𝑚+1 care reprezintă prima aproximaţie a valorii funcţiei în punctul xm+1.

(1)
𝑥𝑚+1 = 𝑥𝑚 + ℎ, 𝑦𝑚+1 = 𝑦𝑚 + ℎ𝑓(𝑥, 𝑦) (5.22)

(1)
Se calculează panta dreptei L2 care trece prin punctul 𝑥𝑚+1 , 𝑦𝑚+1. Se defineşte panta
medie ca media pantelor dreptelor L1 şi L2 prin relaţia

1
Ψ(𝑥𝑚 , 𝑦𝑚 , ℎ) = 2 [𝑓(𝑥𝑚 , 𝑦𝑚 ) + 𝑓(𝑥𝑚 + ℎ, 𝑦𝑚 + ℎ𝑓(𝑥𝑚 , 𝑦𝑚 ))] (5.23)

Ecuaţia dreptei L cu care se calculează noua aproximaţie este

𝑦 = 𝑦𝑚 + (𝑥 − 𝑥𝑚 )Ψ(𝑥𝑚 , 𝑦𝑚 , ℎ) (5.24)

Intersecţia acestei drepte cu verticala care trece prin xm+1 permite calcularea noii
aproximaţii a funcţiei în acest punct prin formula

𝑦 = 𝑦𝑚 + ℎΨ(𝑥𝑚 , 𝑦𝑚 , ℎ) (5.25)

Înlocuind expresia pantei medii (5.22) în (5.24) rezultă

51
Metode numerice de modelare,simulare şi optimizare


𝑦𝑚+1 = 𝑦𝑚 + 2 [𝑓(𝑥𝑚 , 𝑦𝑚 ) + 𝑓(𝑥𝑚 + ℎ), 𝑦𝑚 + ℎ𝑓(𝑥𝑚 , 𝑦𝑚 )] (5.26)

Formula de mai sus poartă numele de formula Runge-Kutta de ordinul 2. În mod similar
se pot stabili formule care au o precizie ridicată. Una din cele mai folosite formule este
formula Runge-Kutta de ordinul 4, definită astfel


𝑦𝑚+1 = 𝑦𝑚 + (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 ) (5.27)
6

unde

𝑘1 = 𝑓(𝑥𝑚 , 𝑦𝑚 )

ℎ ℎ𝑘1
𝑘2 = 𝑓 (𝑥𝑚 + 2 , 𝑦𝑚 + )
2

ℎ ℎ𝑘2
𝑘3 = 𝑓 (𝑥𝑚 + , 𝑦𝑚 + )
2 2

𝑘4 = 𝑓(𝑥𝑚 + ℎ, 𝑦𝑚 + ℎ𝑘3 ).

52
Capitolul 4

REGRESII

În tehnica prelucrării datelor experimentale ne confruntăm cu date definite tabelar ce


reprezintă rezultatele unor măsurători. Acestea conțin erori. De regulă, obiectivul prelucrării
datelor experimentale constă în găsirea unei expresii analitice, a unei funcții, care să
definească comportamentul valorilor experimentale.

Astfel, trebuie să anticipăm forma funcției din unele observații referitoare la valorile
tabelare disponibile. Să presupunem că s-a găsit o formulă care stabilește relația între x și y
adică

𝑦̅ = 𝑓(𝑥) (4.1)

În figura 4.1. este prezentată o succesiune de puncte și o formă a unei funcții care
trebuie să descrie această distribuție

Fig. 4.1.

Funcția f(x) care aproximează cel mai bine distribuția de puncte x1, x2,….,xn o putem
defini ca fiind funcția care minimizează suma distanțelor punctelor față de dreaptă, definită
astfel

𝑆𝑚 = ∑𝑚 𝑚
𝑖=1|𝑑𝑖 | = ∑𝑖=1|𝑦𝑖 − 𝑦
̅𝑖 | (4.2)

35
Bazele simulării numerice în transportul, depozitarea şi distribuția hidrocarburilor

4.1. PRINCIPIUL METODEI CELOR MAI MICI PĂTRATE

Pentru a rezolva dificultățile care apar în calculul sumei distanțelor, datorită semnelor
opuse, se definește suma pătratelor abaterilor punctelor față de funcție ca fiind

𝑆𝑃𝑚 = ∑𝑚 2
̅𝑖 )2
𝑖=1 𝑑𝑖 = ∑(𝑦𝑖 − 𝑦 (4.3)

Suma pătratelor abaterilor poate fi utilizată, din punct de vedere practic, cu mai multă
ușurință.

Principiul metodei celor mai mici pătrate constă în definirea abaterilor punctelor față de
curba care reprezintă distribuția prin pătratul distanței punctelor față de curbă, calcularea
sumei pătratelor, relația (4.3), și minimizarea acesteia pentru a deduce coeficienții curbei de
distribuție.

4.2. REGRESIA LINIARĂ

În cazul în care forma funcției care descrie distribuția de puncte este liniară metoda de
calcul a coeficienților dreptei care aproximează punctele poartă numele de regresie liniară.

Se consideră distribuția de puncte din tabelul 4.1., reprezentată grafic în figura 4.2.

Tabelul 4.1.

Fig. 4.2.
36
Bazele simulării numerice în transportul, depozitarea şi distribuția hidrocarburilor

Analizând graficul din figura 4.2. presupunem că distribuția de puncte este liniară,
caracterizată de ecuația

𝑦 = 𝑎1 𝑥 + 𝑎0 (4.4)

Ordonata punctului i este yi iar ordonata calculată din ecuația dreptei (4.4) este

𝑦̅𝑖 = 𝑎1 𝑥1 + 𝑎0 (4.5)

Distanța, paralelă cu axa y1 a punctului i față de dreaptă este

𝑑𝑖 = 𝑦𝑖 − 𝑦̅𝑖 = 𝑦𝑖 − 𝑎1 𝑥1 − 𝑎0 (4.6)

Suma pătratelor distanțelor tuturor punctelor din tabelul 4.1., la dreapta care le
aproximează, este

S= ∑𝑚
𝑖=1(𝑦𝑖 − 𝑎1 𝑥𝑖 − 𝑎0 )
2
(4.7)

Pentru calculul coeficienților dreptei a1 și a0 minimizăm suma S punând condiția ca


derivatele de ordinal 1 ale sumei în raport cu a0 și cu a1 să fie nule

𝜕𝑆
= ∑𝑚
𝑖=1 2(𝑦𝑖 − 𝑎1 𝑥𝑖 − 𝑎0 ) (−1) = 0 (4.8)
𝜕𝑎0

𝜕𝑆
= ∑𝑚
𝑖=1 2(𝑦𝑖 − 𝑎1 𝑥𝑖 − 𝑎0 ) (−𝑥𝑖 ) = 0 (4.9)
𝜕𝑎1

Ordonând termenii și folosind notația simplificată ∑ în loc de ∑𝑚


𝑖=1 obținem

𝑚𝑎0 + (∑ 𝑥𝑖 )𝑎1 = ∑ 𝑦𝑖
{ (4.10)
(∑ 𝑥𝑖 )𝑎0 + (∑ 𝑥𝑖2 )𝑎1 = ∑ 𝑥𝑖 𝑦𝑖

Din rezolvarea sistemului de 2 ecuații cu 2 necunoscute a0 și a1 obținem valorile


coeficienților dreptei

∑ 𝑦𝑖 ∑ 𝑥𝑖2 −∑ 𝑥𝑖 ∑ 𝑥𝑖 𝑦𝑖
𝑎0 = 𝑚 ∑ 𝑥𝑖2 −(∑ 𝑥𝑖 )2
(4.11)
𝑚 ∑ 𝑥𝑖 𝑦𝑖 −∑ 𝑥𝑖 ∑ 𝑦𝑖
𝑎1 = 𝑚 ∑ 𝑥𝑖2 −(∑ 𝑥𝑖 )2

Exemplu de program în Delphi pentru regresii liniare

unit RegLin;

interface
type

37
Bazele simulării numerice în transportul, depozitarea şi distribuția hidrocarburilor

MatXXYY=array[1..100] of double;

procedure lin(n:integer;x:double;mx,my:MatXXYY; var y:double);

implementation

procedure lin(n:integer;x:double;mx,my:MatXXYY; var y:double);


// y = a + b*x
var sy,sx,sxy,sx2,a,b:double;
i:integer;
begin
sx:=0;
sy:=0;
sx2:=0;
sxy:=0;
for i:=1 to n do
begin
sx:=sx+mx[i];
sy:=sy+my[i];
sxy:=sxy+mx[i]*my[i];
sx2:=sx2+mx[i]*mx[i];
end;
a:=(sy*sx2-sx*sxy)/(n*sx2-sx*sx);
b:=(n*sxy-sx*sy)/(n*sx2-sx*sx);
y:=a+b*x;
end;

end.

4.3. REGRESIA POLINOMIALĂ

De multe ori distribuția punctelor experimentale nu poate fi aproximată printr-o dreaptă,


în acest caz vom analiza metoda celor mai mici pătrate aplicată unui polinom de gradul n.

Să presupunem că datele de la care pornim sunt reprezentate de un tabel de valori x1,


x2,….,xm pentru variabila x și corespunzător un alt tabel de valori y1, y2,….,ym pentru
variabila y.

Presupunem că distribuția punctelor poate fi aproximată printr-un polinom de grad n în


x. Remarcăm faptul că gradul n al polinomului trebuie stabilit înainte de a începe procedura
celor mai mici pătrate.

Fie polinomul de grad n de forma

38
Bazele simulării numerice în transportul, depozitarea şi distribuția hidrocarburilor

𝑦 = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + … … . 𝑎1 𝑥 + 𝑎0 (4.12)

Valoarea acestuia în punctul de abscisă xi este

𝑦̅𝑖 = 𝑎𝑛 𝑥𝑖𝑛 + 𝑎𝑛−1 𝑥𝑖𝑛−1 + ⋯ … . 𝑎1 𝑥𝑖 + 𝑎0 (4.13)

Suma pătratelor punctelor față de valoarea calculată cu polinomul de gradul n este

∑(𝑦𝑖 − 𝑎𝑛 𝑥𝑖𝑛 − 𝑎𝑛−1 𝑥𝑖𝑛−1 − ⋯ … . 𝑎1 𝑥𝑖 − 𝑎0 )2 (4.14)

Derivând suma pătratelor S în raport cu coeficienții polinomului a0, a1, a2,…..an și


egalând fiecare derivată parțială cu zero rezultă următorul sistem de ecuații

𝑚𝑎0 + (∑ 𝑥𝑖 )𝑎1 + ⋯ . . +(∑ 𝑥𝑖𝑛 )𝑎𝑛 = ∑ 𝑦𝑖

(∑ 𝑥𝑖 )𝑎0 + (∑ 𝑥𝑖2 )𝑎1 + ⋯ . . +(∑ 𝑥𝑖𝑛+1 )𝑎𝑛 = ∑ 𝑥𝑖 𝑦𝑖


(4.15)
………………………………………………

(∑ 𝑥𝑖𝑛 )𝑎0 + (∑ 𝑥𝑖𝑛+1 )𝑎1 + ⋯ . . +(∑ 𝑥𝑖2𝑛 )𝑎𝑛 = ∑ 𝑥𝑖𝑛 𝑦𝑖

39
Capitolul 5

INTEGRAREA NUMERICĂ A ECUAȚIILOR


DIFERENȚIALE ORDINARE

Ecuațiile care conțin derivata unei funcții de o variabilă sunt des utilizate în domeniul
matematicii aplicate.

Un exemplu simplu de ecuație diferențială ordinară este următorul

𝑑𝑦
= 𝑦 sau y’ = y (5.1)
𝑑𝑥

Această soluție diferențială simplă se poate integra analitic rezultând soluția

𝑦 = 𝑎𝑒 𝑥 (5.2)

în care a reprezintă o constant arbitrară.

Valori diferite ale constantei a produc o familie de curbe care satisfac ecuația
diferențială (5.2). Constanta a este unic determinată dacă pe lângă ecuația diferențială (5.1) se
mai precizează o pereche de valori x, y prin care să treacă curba care reprezintă soluția
ecuației. Această condiție se numește condiție la limită. De exemplu, dacă se dă condiția x =
0, y = 1 din ecuația (5.2) se poate determina valoarea constantei a, în acest caz rezultă a = 1.

În general o ecuație diferențială de ordinal unu are forma

𝑦 ′ = 𝑓(𝑥, 𝑦) (5.3)

iar pentru a putea fi rezolvată mai trebuie să i se asocieze o condiție la limită de forma

𝑦(𝑥0 ) = 𝑦0 (5.4)

Dacă ecuația diferențială are ordinul mai mare decât 1, de exemplu o ecuație de ordinul
2

𝑦" = 𝑔(𝑦 ′ , 𝑦, 𝑥) (5.5)

se poate reduce la o ecuație de ordinul unu făcând următoarea substituție

𝑧 = 𝑦 ′ ; 𝑧 ′ = 𝑔(𝑧, 𝑦, 𝑥) (5.6)

40
Bazele simulării numerice în transportul, depozitarea şi distribuția hidrocarburilor

5.1. METODA SERIILOR TAYLOR

Această metodă asigură teoretic soluție oricărei ecuații diferențiale, dar are o
aplicabilitate redusă. Importanța acestei metode constă în faptul că ea servește drept criteriu
de apreciere și comparare a metodelor utilizate frecvent în practică.

Să presupunem că s-a calculat o aproximație pentru y(x) în intervalul 𝑥0 ≤ 𝑥 ≤ 𝑥𝑚 .


Folosind teorema lui Taylor, dezvoltăm y(x) în serie, în vecinătatea punctului x = xm.

" (𝑗) 𝑗 (𝑗+1)(𝜉) 𝑗+1


′ (𝑥 𝑦𝑚 2) 𝑦𝑚 𝑗 𝑦𝑚 𝑗
𝑦(𝑥) = 𝑦𝑚 + 𝑦𝑚 − 𝑥𝑚 ) + (𝑥 − 𝑥𝑚 +⋯+ (𝑥 − 𝑥𝑚 ) + (𝑗+1)!
(𝑥 − 𝑥𝑚 ) (5.7)
2! 𝑗!

(𝑗)
unde 𝑦𝑚 reprezintă derivata de ordinul j a lui y(x) în punctul x = xm. Reamintim că 𝑥𝑚 ≤ 𝜉 ≤
𝑥unde x >xm.

Înlocuim x cu xm+h iar ecuația (5.7) pentru aproximarea funcției y(x) în punctul x =
xm+1 = xm+h este

" (𝑗) (𝑗+1)(𝜉)


′ 𝑦𝑚 𝑦𝑚 𝑦𝑚
𝑦𝑚+1 = 𝑦𝑚 + ℎ𝑦𝑚 + ℎ2 + ⋯ . + ℎ𝑗 + (𝑗+1)!
ℎ 𝑗+1 (5.8)
2! 𝑗!

De regulă ultimul termen se neglijează rezultând astfel o eroare de trunchiere.


Aproximația va fi cu atât mai mare cu cât j este mai mare.

Ținând cont de ecuația (5.3) se poate evalua derivata de ordinul 2 ținând seama că y(x)
arată astfel

𝜕𝑓(𝑥,𝑦) 𝜕𝑓(𝑥,𝑦)
𝑦" = + 𝑓(𝑥, 𝑦) = 𝑓𝑥 + 𝑓𝑓𝑦 (5.9)
𝜕𝑥 𝜕𝑦

În relația de mai sus s-au folosit notațiile

𝜕𝑓 𝜕𝑓
𝑓𝑥 = 𝜕𝑥 și 𝑓𝑦 = 𝜕𝑦 (5.10)

Pentru j = 2 expresia (5.8) devine

" ′′′(𝜉)
′ 𝑦𝑚 𝑦
𝑦𝑚+1 = 𝑦𝑚 + 𝑦𝑚 ℎ+ ℎ2 + ℎ3 (5.11)
2 6

folosind notațiile (5.10)


′′′(𝜉)
ℎ 𝑦
𝑦𝑚+1 = 𝑦𝑚 + ℎ [𝑓 + 2 (𝑓𝑥 + 𝑓𝑓𝑦 )] + ℎ3 (5.12)
6

Putem concluziona că pentru calculul numeric al ecuației (5.3) folosind metoda seriilor
Taylor, relația de recurență este
41
Bazele simulării numerice în transportul, depozitarea şi distribuția hidrocarburilor


𝑦𝑚+1 = 𝑦𝑚 + ℎ [𝑓 + 2 (𝑓𝑥 + 𝑓𝑓𝑦 )] (5.13)

în acest caz eroarea de trunchierea va fi


′′′(𝜉)
𝑦
𝑒𝑡 = ℎ3 (5.14)
6

Dacă derivata a treia este mărginită superior de o constantă k rezultă că eroarea de


trunchiere este

𝑒𝑡 ≈ 𝑘ℎ3 (5.15)

5.2. METODA RUNGE-KUTTA

Dintre metodele practice de calcul folosite pentru rezolvarea ecuațiilor diferențiale o


clasă largă de tehnici numerice poartă numele de metoda Runge-Kutta.

Metodele Runge-Kutta au trei proprietăți distincte:


1. Sunt metode directe. Avem nevoie numai de informațiile existente la punctul
precedent xm, ym pentru a putea găsi valoarea ym+1;
2. Sunt identice cu seriile Taylor până la termenii hp, unde p este diferit pentru metode
diferite, fiind numit ordinul metodei;
3. Nu necesită evaluarea nici unei derivate a funcției f(x,y) ci numai a funcției în sine.

Pentru a se înțelege mai bine în ce constau metodele de tip Runge-Kutta vom prezenta
aceste metode în paralel cu interpretarea geometrică a acestora.

Dorim să definim o metodă iterativă pentru integrarea ecuației (5.3). Presupunem că s-a

calculat soluția ym în punctul xm. Se poate trasa o dreaptă de pantă 𝑦𝑚 = 𝑓(𝑥𝑚 , 𝑦𝑚 ) care trece
prin punctul (ym, xm) și intersectează perpendiculara pe Ox în punctele xm+1 și ym+1, figura 5.1.

42
Bazele simulării numerice în transportul, depozitarea şi distribuția hidrocarburilor

Fig. 5.1.
Ecuația acestei drepte este

𝑦 = 𝑦𝑚 + 𝑦′𝑚 (𝑥 − 𝑥𝑚 ) (5.16)

Conform notațiilor din figura 5.1, 𝑦 ′ = 𝑓(𝑥𝑚 , 𝑦𝑚 ) și 𝑥𝑚+1 − 𝑥𝑚 = ℎ, rezultă valoarea


funcției în punctul xm+1 astfel

𝑦𝑚+1 = 𝑦𝑚 + ℎ𝑓(𝑥𝑚 , 𝑦𝑚 ) (5.17)

Relația (5.17) reprezintă o relație iterativă care permite rezolvarea numerică a ecuației
(5.3) calculând punct cu punct valorile soluției.

Pentru a putea fi aplicată această metodă trebuie definită valoarea funcției în punctul de
pornire al procesului adică la capătul intervalului. Acest lucru se realizează prin condiția la
limită

𝑥 = 𝑥0 , 𝑦 = 𝑓(𝑥0 ) (5.18)

dacă funcția se poate explicita, sau

𝑥 = 𝑥0 , 𝑦 = 𝑦0 , 𝑓(𝑥0 , 𝑦0 ) = 𝐶0 (5.19)

dacă funcția nu se poate explicita. C0 reprezintă valoarea funcției în punctul (𝑥0 , 𝑦0 ).

Dacă se consideră dezvoltarea în serie Taylor a soluției pentru j = 1, rezultă

"
𝑦𝑚

𝑦𝑚+1 = 𝑦𝑚 + 𝑦𝑚 ℎ+ ℎ2 (5.20)
2

În acest caz eroarea de trunchiere este

"(𝜉)
𝑦
𝑒𝑡 = ℎ2 ≈ 𝑘ℎ2 (5.21)
2

unde k este limita superioară a derivatei a doua a funcției.

Metoda iterativă definită de relația (5.17) poartă numele de metoda Runge-Kutta de


ordinul 1. Această metodă care se mai numește și metoda Euler produce erori de trunchiere
destul de mari.

O posibilitate de îmbunătățire a metodei constă în utilizarea unei valori medii a pantei


dreptei utilizate pentru calculul valorii ym+1.

Astfel, conform acestei metode, figura 5.2, se determină panta dreptei L1 care trece prin
punctul (𝑥𝑚 , 𝑦𝑚 ).
43
Bazele simulării numerice în transportul, depozitarea şi distribuția hidrocarburilor

Fig. 5.2

(1)
Se calculează punctul de intersecție cu verticala xm+1 și rezultă punctul (𝑥𝑚+1 , 𝑦𝑚+1 ) −
(1)
𝑦𝑚+1 care reprezintă prima aproximație a valorii funcției în punctul xm+1.

(1)
𝑥𝑚+1 = 𝑥𝑚 + ℎ, 𝑦𝑚+1 = 𝑦𝑚 + ℎ𝑓(𝑥, 𝑦) (5.22)

(1)
Se calculează panta dreptei L2 care trece prin punctul 𝑥𝑚+1 , 𝑦𝑚+1. Se definește panta
medie ca media pantelor dreptelor L1 și L2 prin relația

1
Ψ(𝑥𝑚 , 𝑦𝑚 , ℎ) = 2 [𝑓(𝑥𝑚 , 𝑦𝑚 ) + 𝑓(𝑥𝑚 + ℎ, 𝑦𝑚 + ℎ𝑓(𝑥𝑚 , 𝑦𝑚 ))] (5.23)

Ecuația dreptei L cu care se calculează noua aproximație este

𝑦 = 𝑦𝑚 + (𝑥 − 𝑥𝑚 )Ψ(𝑥𝑚 , 𝑦𝑚 , ℎ) (5.24)

Intersecția acestei drepte cu verticala care trece prin xm+1 permite calcularea noii
aproximații a funcției în acest punct prin formula

𝑦 = 𝑦𝑚 + ℎΨ(𝑥𝑚 , 𝑦𝑚 , ℎ) (5.25)

Înlocuind expresia pantei medii (5.22) în (5.24) rezultă


𝑦𝑚+1 = 𝑦𝑚 + 2 [𝑓(𝑥𝑚 , 𝑦𝑚 ) + 𝑓(𝑥𝑚 + ℎ), 𝑦𝑚 + ℎ𝑓(𝑥𝑚 , 𝑦𝑚 )] (5.26)

Formula de mai sus poartă numele de formula Runge-Kutta de ordinul 2. În mod similar
se pot stabili formule care au o precizie ridicată. Una din cele mai folosite formule este
formula Runge-Kutta de ordinul 4, definită astfel


𝑦𝑚+1 = 𝑦𝑚 + 6 (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 ) (5.27)

44
Bazele simulării numerice în transportul, depozitarea şi distribuția hidrocarburilor

unde

𝑘1 = 𝑓(𝑥𝑚 , 𝑦𝑚 )

ℎ ℎ𝑘1
𝑘2 = 𝑓 (𝑥𝑚 + 2 , 𝑦𝑚 + )
2

ℎ ℎ𝑘2
𝑘3 = 𝑓 (𝑥𝑚 + 2 , 𝑦𝑚 + )
2

𝑘4 = 𝑓(𝑥𝑚 + ℎ, 𝑦𝑚 + ℎ𝑘3 ).

45
Capitolul 4

REZOLVAREA ECUAŢIILOR CU DERIVATE PARŢIALE

Ecuaţiile cu derivate parţiale se utilizează de regulă pentru fenomenele care se definesc


pe un domeniu mono sau multidimensional şi care au o desfăşurare temporară.
Analiza procesului de integrare a ecuaţiilor cu derivate parţiale se va face în paralel cu
un studiu de caz referitor la mişcarea radial plană a ţiţeiului în jurul unei sonde.
Se consideră un zăcământ de grosime h în care s-a forat o sondă.

Fig 1

Ecuaţia care descrie mişcarea ţiţeiului în jurul sondei este:

1 𝜕 𝜕𝑝 𝑚𝛽𝜇 𝜕𝑝
(𝑟 )= (1)
𝑟 𝜕𝑟 𝜕𝑟 𝑘 𝜕𝜏

Prin derivarea membrului stâng aceasta devine:

1 𝜕𝑝 𝜕2 𝑝 𝑚𝛽𝜇 𝜕𝑝
+ = (2)
𝑟 𝜕𝑟 𝜕𝑟 2 𝑘 𝜕𝜏

unde:

58
Metode numerice de modelare,simulare şi optimizare

p – presiunea;
r – distanţa radială faţă de sondă;
m – porozitatea;
β – compresibilitatea;
μ – vâscozitatea;
k – permeabilitatea;
τ – timpul.

6.1. Definirea domeniului de integrare

Datorită simetriei mişcării se alege ca domeniu spaţial de integrare o porţiune dintr-o


dreaptă din planul zăcământului care trece prin axa sondei fig 2.

Fig.2

Se defineşte un segment cuprins între rs – raza sondei şi rmax – raza maximă de influenţă
a sondei care se împarte în intervale egale Δr = (rmax – rs) / np. np – reprezintă numărul de
intervale în care s-a împărţit intervalul.
Ecuaţia (1) se rescrie în diferenţe finite astfel:

𝜕𝑝 𝑝𝑖+1 −𝑝𝑖−1
≈ (3)
𝜕𝑟 2∆𝑟

𝜕2 𝑝 𝑝𝑖+1 −2pi +𝑝𝑖−1


≈ (4)
𝜕𝑟 2 ∆𝑟 2

59
Metode numerice de modelare,simulare şi optimizare

𝑛+1
𝜕𝑝 𝑝𝑖+1 −𝑝𝑖𝑛
≈ (5)
𝜕𝜏 ∆𝜏

Înlocuind relaţiile (3),(4),(5) în ecuaţia (2) obţinem:

𝑛+1
𝑝𝑖+1 −𝑝𝑖𝑛 𝑛
𝑖 𝑝𝑖+1 𝑛
−𝑝𝑖−1 𝑛
𝑝𝑖+1 −𝑝𝑖𝑛 +𝑝𝑖−1
𝑛
= 𝐵( + ) (6)
∆𝜏 𝑖∆𝑟 2∆𝑟 ∆𝑟 2

𝑘
𝐵 = 𝑚𝛽𝜇 (7)

Având în vedere că pentru exprimarea derivatei temporare s-au utilizat valorile presiunii
la două momente de timp n şi n+1 despărţite de intervalul Δτ, dacă se consideră toate valorile
presiunii din membrul drept al ecuaţiei (6) la momentul n de timp, metoda de rezolvare pentru
acest caz poartă denumirea de metoda explicită fundamentală.
Relaţia (6) scrisă pentru fiecare nod al reţelei generează un sistem liniar de n p ecuaţii np
necunoscute. În acest caz din fiecare ecuaţie se poate explicita presiunea pin+1 la n moment de
timp deoarece pentru calculul ei se utilizează numai valori cunoscute, fig.3.

Fig.3
Explicitând presiunea din relaţia (6) rezultă:

∆𝜏 ∆𝜏 1 1
𝑝𝑖𝑛+1 = 𝑝𝑖𝑛 (1 − 2𝐵 )+𝐵 𝑛
[(1 + ) 𝑝𝑖+1 𝑛
+ (1 − ) 𝑝𝑖−1 ] (8)
∆𝑟 2 ∆𝑟 2 2𝑖 2𝑖

Condiţia de stabilitate a procesului de integrare pentru metoda explicită fundamentală

60
Metode numerice de modelare,simulare şi optimizare

∆𝜏
𝐵 ∆𝑟 2 ≤ 0,5 (9)

Din această condiţie de regulă se calculează pasul de timp ce permite un proces de


integrare stabil.

6.2. Condiţii iniţiale

Pentru pornirea procesului de integrare trebuiesc cunoscute valorile presiunii la


momentul iniţial. Dacă considerăm că iniţial în zăcământ presiunea este uniformă, egală cu
presiunea statică pstatic această condiţie se scrie astfel:

pi = pstatic i = 0,1,2,...,np
6.3. Condiţii la limită
Condiţiile la limită permit individualizarea fenomenelor ce pot fi simulate de relaţia (2),
proces de extracţie, proces de injecţie, exploatare la debit constant, etc.
Domeniul de integrare fiind momodimensional sunt necesare două condiţii la limită:
a) condiţii la limită la stânga(la sondă) care pot fi:
- condiţii de tip Dirichlet – presiunea în sondă este constantă.
Fie pd pr4siunea dinamică din sondă, condiţia se exprimă:
p0 = pd
- condiţie de tip Newman – debitul extras este constant.

𝑘 𝑝1𝑛 − 𝑝0𝑛+1
𝑄 = 2𝜋𝑟0 ℎ = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡
𝜇 ∆𝑟

∆𝑟𝑄𝜇
𝑝0𝑛+1 = 𝑝0𝑛 −
2𝜋𝑟0 ℎ𝑘

b) condiţii la dreapta, pe conturul zăcământului sau la limita razei de influenţă a sondei.


Dacă se consideră un zăcământ cu frontieră impermeabilă, debitul la limita din dreapta
este nul, atunci condiţia este:
𝑝𝑛𝑛+1
𝑝
= 𝑝𝑛𝑛𝑝−1

61