cursmn

Upload: catanescu-alexandru-laurentiu

Post on 09-Mar-2016

214 views

Category:

Documents


0 download

DESCRIPTION

cursmn

TRANSCRIPT

  • Daniel Ioan, Irina Munteanu

    -1

    -0.5

    0

    0.5

    1

    1.5

    -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

    C0C1C2C3C4

    Metode Numerie

    Algoritmi fundamentali si apliatii ^n

    ingineria eletria

    Editura

    Buuresti, 2000

  • Daniel Ioan, Irina Munteanu

    Catedra de Eletrotehnia, Universitatea \Politehnia" din Buuresti

    Metode Numerie

    Algoritmi fundamentali si apliatii ^n

    ingineria eletria

    Editura

    Buuresti, 2000

  • Daniel Ioan, Irina Munteanu

    Metode Numerie. Algoritmi fundamentali si apliatii ^n ingineria eletria

    Referenti stiintii: xxx

    yyy

    Editura, Buuresti, 2000

    Adresa editura

  • Cuprins

    0 Introduere 1

    0.1 Obietul ursului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    0.2 Loul metodelor numerie ^n ingineria eletria . . . . . . . . . . . . . . . 2

    1 Algoritmi si struturi de date 5

    1.1 Strutura sistemelor de alul . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.2 Studiul algoritmilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.3 Generarea algoritmilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.3.1 Reprezentarea algoritmilor . . . . . . . . . . . . . . . . . . . . . . 11

    1.3.2 Validarea si depanarea algoritmilor . . . . . . . . . . . . . . . . . 20

    1.3.3 Analiza si evaluarea algoritmilor . . . . . . . . . . . . . . . . . . . 21

    1.3.4 Implementarea algoritmilor . . . . . . . . . . . . . . . . . . . . . 26

    1.4 Reprezentarea datelor ^n alulatoarele numerie . . . . . . . . . . . . . . 26

    1.4.1 Tipuri fundamentale de date . . . . . . . . . . . . . . . . . . . . . 27

    1.4.2 Agregarea datelor. Tipuri abstrate de date . . . . . . . . . . . . 31

    1.4.3 Struturi dinamie de date . . . . . . . . . . . . . . . . . . . . . . 34

    2 Erori de alul si instabilitati numerie 41

    2.1 Caraterizarea erorilor de alul . . . . . . . . . . . . . . . . . . . . . . . 41

    2.2 Erorile de rotunjire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    2.3 Erori de trunhiere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    2.4 Propagarea erorilor de alul . . . . . . . . . . . . . . . . . . . . . . . . . 52

  • iv CUPRINS

    3 Rezolvarea sistemelor de euatii algebrie liniare 61

    3.1 Formularea problemei. Conditionarea numeria . . . . . . . . . . . . . . 61

    3.2 Metoda de eliminare Gauss . . . . . . . . . . . . . . . . . . . . . . . . . 64

    3.2.1 Desrierea algoritmului . . . . . . . . . . . . . . . . . . . . . . . 64

    3.2.2 Obtinerea solutiei prin substitutie regresiva . . . . . . . . . . . . 66

    3.2.3 Strategia de pivotare . . . . . . . . . . . . . . . . . . . . . . . . . 67

    3.2.4 Rezolvarea sistemelor simultane. Inversarea matrielor . . . . . . 69

    3.2.5 Apliatie la analiza unui iruit rezistiv liniar prin metoda nodala 73

    3.3 Fatorizarea LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    3.3.1 Desrierea algoritmului de fatorizare Crout . . . . . . . . . . . . 79

    3.3.2 Algoritmul de fatorizare Choleski . . . . . . . . . . . . . . . . . . 81

    3.3.3 Fatorizarea LU prin metoda Gauss . . . . . . . . . . . . . . . . . 82

    3.4 Sisteme liniare u matrie rare . . . . . . . . . . . . . . . . . . . . . . . . 85

    3.4.1 Sisteme tridiagonale si u matrie banda . . . . . . . . . . . . . . 85

    3.4.2 Shema de memorare a matrielor rare . . . . . . . . . . . . . . . 87

    3.4.3 Umplerea matrielor rare . . . . . . . . . . . . . . . . . . . . . . 88

    3.4.4 Pivotarea ^n azul matrielor rare . . . . . . . . . . . . . . . . . . 94

    3.5 Rezolvarea iterativa a sistemelor liniare . . . . . . . . . . . . . . . . . . 98

    3.5.1 Metoda deplasarilor simultane (Jaobi) . . . . . . . . . . . . . . . 102

    3.5.2 Metoda deplasarilor su

    esive (Gauss - Seidel) . . . . . . . . . . . 103

    3.5.3 Convergenta metodelor Jaobi si Gauss-Seidel . . . . . . . . . . . 105

    3.5.4 Metoda suprarelaxarii su

    esive (Frankel - Young) . . . . . . . . . 110

    3.5.5 Metoda iteratiei blo . . . . . . . . . . . . . . . . . . . . . . . . . 116

    3.5.6 Alte metode iterative . . . . . . . . . . . . . . . . . . . . . . . . . 118

    3.6 Rezolvarea sistemelor liniare prin metode semiiterative . . . . . . . . . . 119

    3.6.1 Metode semiiterative de tip Ceb^sev . . . . . . . . . . . . . . . . . 119

    3.6.2 Metoda gradientilor onjugati . . . . . . . . . . . . . . . . . . . . 126

    3.6.3 Preonditionarea gradientilor onjugati . . . . . . . . . . . . . . . 130

  • CUPRINS v

    4 Interpolarea si aproximarea funtiilor 135

    4.1 Formularea problemei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

    4.2 Interpolarea polinomiala. Metoda Lagrange . . . . . . . . . . . . . . . . 139

    4.3 Metoda Newton de interpolare polinomiala. Diferente divizate. . . . . . . 148

    4.4 Interpolarea polinomiala u pas onstant. Diferente nite. . . . . . . . . 151

    4.5 Alegerea nodurilor de interpolare. Metoda Ceb^sev. . . . . . . . . . . . . 156

    4.6 Interpolarea polinomiala pe portiuni (\spline") . . . . . . . . . . . . . . . 157

    4.6.1 Interpolarea liniara pe portiuni . . . . . . . . . . . . . . . . . . . 157

    4.6.2 Interpolarea pe portiuni u polinoame de grad superior . . . . . . 160

    4.6.3 Analiza erorilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

    5 Derivarea numeria a funtiilor reale 171

    5.1 Derivarea funtiilor tabelare . . . . . . . . . . . . . . . . . . . . . . . . . 172

    5.1.1 Derivarea numeria folosind interpolarea liniara pe portiuni . . . 173

    5.1.2 Derivarea numeria folosind interpolarea pe portiuni a polinoame-

    lor de grad superior . . . . . . . . . . . . . . . . . . . . . . . . . . 176

    5.1.3 Derivate de ordin superior . . . . . . . . . . . . . . . . . . . . . . 181

    5.1.4 Calulul derivatelor partiale ale funtiilor de mai multe variabile 182

    5.2 Derivarea funtiilor unosute prin od . . . . . . . . . . . . . . . . . . . 184

    5.3 Rezolvarea numeria a euatiei Laplae . . . . . . . . . . . . . . . . . . . 190

    6 Integrarea numeria a funtiilor reale 199

    6.1 Formularea problemei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

    6.2 Cuadratura bazata pe interpolare polinomiala. Formulele Newton { Cotes. 208

    6.3 Metode de uadratura de tip Gauss . . . . . . . . . . . . . . . . . . . . . 217

    6.4 Cuadratura ompusa bazata pe interpolarea polinomiala pe portiuni . . . 225

    6.5 Metode de integrare numeria prin extrapolare. Metoda Romgerg. . . . . 231

    6.6 Integrale improprii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

    6.7 Integrale pe domenii nemarginite . . . . . . . . . . . . . . . . . . . . . . 242

    6.8 Integrale multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

    6.8.1 Produsul artezian al regulilor de uadratura . . . . . . . . . . . . 250

  • vi CUPRINS

    6.8.2 Reguli de uadratura exate pentru monoame . . . . . . . . . . . 254

    6.8.3 Reguli ompuse pentru integrale multiple . . . . . . . . . . . . . . 257

    6.8.4 Metoda Monte Carlo de integrare numeria . . . . . . . . . . . . . 258

    6.9 Integrare automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

    6.10 Transformari integrale. Serii Fourier . . . . . . . . . . . . . . . . . . . . . 268

    6.11 Analiza ^n freventa a sistemelor liniare.

    Transformatele Fourier si Laplae. . . . . . . . . . . . . . . . . . . . . . . 276

    6.12 Transformata Fourier disreta.

    Metoda transformarii Fourier rapide. . . . . . . . . . . . . . . . . . . . . 284

    7 Sisteme de euatii algebrie neliniare 289

    7.1 Introduere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

    7.2 Existenta si uniitatea solutiilor . . . . . . . . . . . . . . . . . . . . . . . 294

    7.3 Rezolvarea numeria a euatiilor neliniare unidimensionale . . . . . . . . 298

    7.4 Complexitatea si analiza erorilor ^n metodele iterative . . . . . . . . . . . 309

    7.5 Metode iterative pentru rezolvarea sistemelor algebrie neliniare . . . . . 311

    7.6 Metoda iteratiei simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

    7.7 Metoda Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

    7.8 Metoda Newton disreta . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

    7.9 Metode quasi - Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

    7.10 Metode de relaxare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

    7.11 Metoda parametrului suplimentar . . . . . . . . . . . . . . . . . . . . . . 329

    7.12 Metode de minimizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

    7.13 Metoda aproximarii liniare pe portiuni . . . . . . . . . . . . . . . . . . . 338

    7.14 Analiza numeria a iruitelor rezistive neliniare . . . . . . . . . . . . . . 342

    7.14.1 Caraterizarea metodei . . . . . . . . . . . . . . . . . . . . . . . . 342

    7.14.2 Prinipiul metodei . . . . . . . . . . . . . . . . . . . . . . . . . . 342

    7.14.3 Pseudoodul metodei . . . . . . . . . . . . . . . . . . . . . . . . . 344

    7.14.4 Analiza neesarului de memorie si a efortului de alul . . . . . . 347

  • CUPRINS vii

    8 Euatii diferentiale ordinare 265

    8.1 Formularea oreta a problemelor u onditii initiale . . . . . . . . . . . . 266

    8.2 Disretizarea euatiilor diferentiale . . . . . . . . . . . . . . . . . . . . . 268

    8.3 Metode numerie u un pas . . . . . . . . . . . . . . . . . . . . . . . . . 278

    8.3.1 Metoda seriei Taylor . . . . . . . . . . . . . . . . . . . . . . . . . 278

    8.3.2 Metoda Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . 279

    8.3.3 Controlul automat al marimii pasului de integrare . . . . . . . . . 288

    8.4 Metode de integrare multipas . . . . . . . . . . . . . . . . . . . . . . . . 291

    8.4.1 Metoda expliita Adams-Bashforth . . . . . . . . . . . . . . . . . 293

    8.4.2 Metoda impliita Adams-Moulton . . . . . . . . . . . . . . . . . 295

    8.4.3 Metoda Milne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

    8.4.4 Consistenta, stabilitatea si onvergenta metodelor multipas . . . 299

    8.5 Algoritmul preditor-oretor . . . . . . . . . . . . . . . . . . . . . . . . 309

    8.6 Reprezentarea anonia a metodelor multipas . . . . . . . . . . . . . . . 312

    8.7 Metode u valori multiple . . . . . . . . . . . . . . . . . . . . . . . . . . 316

    8.7.1 Reprezentarea Nordsiek . . . . . . . . . . . . . . . . . . . . . . . 317

    8.7.2 Controlul automat al ordinului si marimii pasului ^n metodele u

    valori multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

    8.8 Integrarea numeria a euatiilor de tip sti . . . . . . . . . . . . . . . . . 324

    8.8.1 Euatii diferentiale de tip sti . . . . . . . . . . . . . . . . . . . . 324

    8.8.2 Stabilitatea numeria a euatiilor sti . . . . . . . . . . . . . . . . 327

    8.8.3 Algoritmul Gear pentru rezolvarea euatiilor sti . . . . . . . . . 333

    8.8.4 Alte metode numeri sti stabile . . . . . . . . . . . . . . . . . . 337

    8.9 Analiza numeria a iruitelor eletrie ^n regim tranzitoriu . . . . . . . . 339

    8.9.1 Prinipiul metodei . . . . . . . . . . . . . . . . . . . . . . . . . . 340

    8.9.2 Pseudoodul metodei modelului disretizat . . . . . . . . . . . . . 341

    8.9.3 Analiza algoritmului . . . . . . . . . . . . . . . . . . . . . . . . . 342

    ANEXE 345

    A 345

    Bibliograe si Webograe 348

    Index 352

  • viii CUPRINS

  • Capitolul 8

    Euatii diferentiale ordinare

    Euatiile si sistemele de euatii diferentiale ordinare au un rol entral ^n modelarea

    fenomenelor zie, himie, soiologie, biologie sau de alta natura, araterizate de un

    numar nit de marimi de stare variabile ^n timp. Exemplul tipi ^n ingineria eletria

    ^l reprezinta iruitele eletrie ^n regim tranzitoriu, are sunt araterizate de sisteme

    de astfel de euatii. De altfel, teoria sistemelor u o multitudine de apliatii ^n ingineria

    eletria, este bazata pe astfel de euatii.

    Forma anonia a sistemelor de euatii diferentiale este:

    8

    >

    >

    >

    >

    >

    >

    >

    :

    dx

    1

    dt

    = f

    1

    (x

    1

    ; x

    2

    ; : : : ; x

    n

    ; t)

    dx

    2

    dt

    = f

    2

    (x

    1

    ; x

    2

    ; : : : ; x

    n

    ; t)

    .

    .

    .

    dx

    n

    dt

    = f

    n

    (x

    1

    ; x

    2

    ; : : : ; x

    n

    ; t);

    sau sub forma ompata:

    dx

    dt

    = f(x; t); (8.1)

    unde f : R

    n+1

    ! R

    n

    este o funtie vetoriala u valori ^n spatiul eulidian n-dimensional,

    x 2 R

    n

    vetorul solutie, funtie de variabila salara, t 2 R.

    ^

    In ontinuare, atuni a^nd aest luru nu genereaza onfuzii, vetorul solutie va notat

    si u x, derivata u x

    0

    , iar funtia u f , astfel ^na^t relatia x

    0

    = f(x; t) este ehivalenta

    u (8.1).

    Trebuie remarat a o euatie diferentiala arbitrara de ordin superior: x

    (n)

    =

    f(x; x

    0

    ; : : : ; x

    (n1)

    ; t) poate adusa la forma anonia prin simpla notatie:

    (

    x

    0

    i

    (t) = x

    it

    (t); i = 1; 2; : : : ; n

    f

    0

    n

    (t) = f(t; x

    1

    (t); x

    2

    (t); : : : ; x

    n

    (t)):

  • 266 Euatii diferentiale ordinare

    Dupa um se va onstata ulterior, pentru a aest sistem sa aiba solutie unia este

    neesara adaugarea unor onditii suplimentare impuse solutiei, numite onditii initiale

    daa se refera la o valoare partiulara a variabilei t, sau onditii biloale, daa se refera

    la doua valori partiulare ale variabilei independente.

    8.1 Formularea oreta a problemelor u onditii

    initiale

    Abordarea euatiei (8.1) prin metode numerie este lipsita de sens, daa problema nu

    este bine formulata din punt de vedere matemati. Pentru euatiile are nu au solutie

    sau au mai multe solutii, hiar si ele mai \performante" metode de rezolvare numeria

    nu fa alteva dea^t sa genereze un sir de numere lipsite de semniatie.

    Din aest motiv, analiza alitativa a euatiei are trebuie rezolvata, din puntul de

    vedere al bunei formulari a problemei asoiate, este esentiala si trebuie efetuata ^naintea

    rezolvarii numerie.

    ^

    In formularea sa lasia, datorata lui Cauhy, problema reazolvarii

    euatiilor diferentiale onsta ^n determinarea funtiei vetoriale x =

    ^

    x(t) de variabila

    reala t;

    ^

    x : [t

    0

    ; t

    m

    ! R

    n

    ; funtie ontinua si derivabila are satisfae euatia (8.1) pe

    intervalul [t

    0

    ; t

    m

    si onditia:

    ^

    x(t

    0

    ) = x

    0

    ; (8.2)

    u x

    0

    2 R

    n

    dat, numita onditie initiala.

    Conditia a problema lui Cauhy sa aiba solutie este data de teorema lui Peano, are

    impune ^n prinipiu doar ontinuitatea funtiei f ^n puntul (x

    0

    ; t

    0

    ):

    Teorema 8.1 de existenta a lui Peano

    Daa funtia f(x; t) este ontinua pe multimea:

    D : jjx x

    0

    jj a; t

    0

    t t

    m

    ;

    si are ^n plus satisfae onditia initiala (8.2), atuni exista el putin o funtie

    ^

    x(t), are

    satisfae euatia diferentiala (8.1) pe un interval nevid:

    t

    0

    t t

    0+h

    t

    m

    :

    Teorema lui Peano nu garanteaza uniitatea solutiei i doar existenta aesteia. Intervalul

    pe are este asigurata existenta solutiei nu este nemarginit i are o lungime data de:

    h = min

    t

    m

    t

    0

    ;

    a

    M

    ; (8.3)

    unde M este o margine superioara a valorii absolute a lui f(x; t) pe D. Din aest motiv,

    teorema lui Peano este o teorema de existenta loala.

    Demonstratia teoremei lui Peano este prezentata ^n [20, [30.

    Pentru a obtine uniitatea solutiei este neesara ^ntarirea onditiilor din teorema lui

    Peano, pa^na la o onditie de tip Lipshitz.

  • 8.1. Formularea oret

    a a problemelor u onditii initiale 267

    Denitia 8.1 O funtie f(x; t) : R

    n+1

    ! R satisfae onditia Lipshitz fata de x pe o

    multime ^nhisa D R

    n+1

    , daa exista o onstanta L, astfel ^na^t:

    jjf(x

    0

    ; t) f(x

    00

    ; t)jj Ljjx

    0

    x

    00

    jj; (8.4)

    pentru orie (x

    0

    ; t) 2 D si (x

    00

    ; t) 2 D:

    Funtiile are satisfa onditia Lipshitz sunt funtii ontinue, nu neaparat derivabile,

    dar a aror \viteza de restere" este marginita. Funtiile u derivata ontinua satisfa

    onditia Lipshitz dar nu si reipro. De exemplu, funtiile ontinue, liniare pe portiuni

    satisfa denitia anterioara, dar nu sunt ^n mod neesar derivabile. Figura 8.1a reprezinta

    graul unei funtii Lipshitz reale de o singura variabila reala iar gura 8.1b reprezinta o

    funtie are nu satisfae aeasta onditie deoaree panta tangentei ^n x

    0

    este nemarginita.

    f

    xx0 x0 x

    f

    b)a)Figura 8.1: a) Funtie Lipshitziana; b) Funtie are nu satisfae onditia Lipshitz

    Teorema 8.2 de existenta si uniitate a lui Piard

    Daa funtia f(x; t) este ontinua pe multimea:

    D : jjx x

    0

    jj a; t

    0

    t t

    m

    ;

    si satisfae onditia Lipshitz ^n raport u x pe D, atuni exista o funtie unia

    ^

    x(t),

    are satisfae euatia diferentiala (8.1) pe un interval nevid t

    0

    t t

    0

    + h t

    m

    si

    onditia initiala (8.2).

    La fel a teorema anterioara, si teorema lui Piard are un arater loal.

    ^

    Intarirea onditiilor impuse funtiei f(x; t) asigura nu numai uniitatea i si dependenta

    ontinua a solutiei

    ^

    x(t) de datele initiale x

    0

    si t

    0

    :

    Aest luru este important mai ales a^nd se urmareste obtinerea unei solutii numerie,

    are porneste de la date initiale obtinute pe ale experimentala, dei suseptibile de erori.

    Demonstratia toeremei de existenta si uniitate a lui Piard este prezentata ^n [20, [30.

    Pentru a obtine existenta solutiei pe un interval de timp oria^t de mare, este neesara

    impunerea unor onditii si mai severe pentru funtia f(x; t), asa um rezulta din teorema

    urmatoare.

  • 268 Euatii diferentiale ordinare

    Teorema 8.3 de existenta globala a lui Wintner

    Daa funtia f(x; t) este ontinua pe ^ntregul spatiu (n+1)- dimensional R

    n+1

    si exista

    o funtie reala de variabila reala L(r) u proprietatea

    Z

    1

    0

    dr

    L(r)

    =1, astfel ^na^t:

    jf

    i

    (x

    1

    ; x

    2

    ; :::; x

    n

    ; t)j < L(r); i = 1; 2; :::; n; (8.5)

    oriare ar r = jjxjj 2 [0;1); atuni solutia euatiei diferentiale (8.1) u onditia (8.2)

    exista pentru orie t 2 R:

    Teorema lui Wintner impune funtiei f(x; t) o restere moderata spre innit. Cu toate

    a polinoamele de gradul doi sau mai mare nu satisfa aeasta onditie, totusi funtiile

    ontinue, liniare pe portiuni, satisfa aeasta onditie, dei asigura existenta globala a

    solutiei.

    ^

    In teoria iruitelor eletrie, prezinta interes nu numai problemele u onditii initiale

    i si ele u onditii biloale. Un exemplu de astfel de onditie la limita o reprezinta

    onditia de periodiitate:

    x(t

    0

    ) = x(t

    0

    + T ): (8.6)

    Din paate, ^n azul ^n are f(x; t) nu este liniara fata de x aeasta problema nu are

    solutie ^n general unia.

    ^

    In shimb, daa integrala pe o perioada a funtiei f(x; t) satisfae

    onditia Lipshitz

    Z

    t

    0

    +T

    t

    0

    [f(x

    0

    ; t) f(x

    00

    ; t)dt

    Ljjx

    0

    x

    00

    jj u onstanta L < 1, atuni

    solutia euatiei (8.1) u onditia (8.2) este unia.

    8.2 Disretizarea euatiilor diferentiale

    Determinarea numeria a solutiei euatiei diferentiale (8.1) u onditia initiala (8.2)

    presupune disretizarea intervalului [t

    0

    ; t

    m

    u pasi de timp relativ mii:

    t

    0

    ; t

    1

    = t

    0

    + h

    0

    ; t

    2

    = t

    1

    + h

    1

    ; :::; t

    k+1

    = t

    k

    + h

    k

    ; :::; t

    m

    :

    Daa pasul de timp are valoare onstanta h

    k

    = h, atuni se obtine o retea uniforma de

    disretizare:

    t

    0

    ; t

    1

    = t

    0

    + h; t

    2

    = t

    0

    + 2h; :::; t

    k+1

    = t

    0

    + (k + 1)h; :::; t

    n

    = t

    0

    + nh:

    O metoda numeria de rezolvare reprezinta un algoritm are permite determinarea nu-

    meria a unei aproximari a solutiei ^n nodurile retelei de disretizare:

    ^

    x(t

    0

    );

    ^

    x(t

    1

    );

    ^

    x(t

    2

    ); :::;

    ^

    x(t

    k+1

    ); :::;

    ^

    x(t

    m

    ):

  • 8.2. Disretizarea euatiilor diferentiale 269

    Deoaree valorile solutiei numerie nu sunt riguros egale u solutia exata, ele vor

    notate u:

    x

    0

    ; x

    1

    ; x

    2

    ; :::; x

    k

    ; :::; x

    m

    :

    Abaterile solutiei numerie x

    k

    de la pasul de timp t

    k

    , fata de solutia exata x(t

    k

    ) la

    aelasi moment de timp pot araterizate prin eroarea absoluta:

    "

    k

    = jj

    ^

    x(t

    k

    ) x

    k

    jj: (8.7)

    Aeasta eroare este datorata, ^n prinipal a doua auze:

    aproximarea are sta la baza algoritmului, are determina o omponenta a erorii

    numita eroare de trunhiere;

    faptul a ^n alulator numerele reale sunt reprezentate prin aproximari rationale,

    u un numar nit de ifre semniative, eea e determina erori numite de rotu-

    njire.

    Prima ategorie de erori depinde de metoda numeria folosita iar a doua ategorie este

    dependenta de sistemul de alul utilizat.

    ^

    In alegerea algoritmilor se urmareste a erorile de orie natura sa e a^t mai mii.

    Majoritatea algoritmilor asigura o sadere a erorii de trunhiere pe masura e pasul de

    disretizare a timpului, numit si pas de integrare, sade. Proprietatea unui algoritm

    de a asigura limita nula a erorii de trunhiere "

    k

    ! 0 pentru orie k = 1; 2; : : : ; m,

    atuni a^nd h ! 0 poarta numele de onvergenta.

    ^

    In aeasta denitie se presupune

    a solutia numeria ^ndeplineste exat onditia initiala ("

    0

    = jj

    ^

    x(t

    0

    ) x

    0

    jj = 0) si

    h=max(h

    k

    ).

    Modul ^n are depinde eroarea de trunhiere de marimea pasului poate araterizat de

    ordinul metodei. Daa exista un numar p, real si pozitiv astfel ^na^t eroarea de trunhiere

    este majorata de:

    "

    k

    Ch

    p

    ; (8.8)

    ^n are onstanta C este independenta de pasul de timp h, atuni se spune a metoda

    este de ordinul p si se srie a "

    k

    = O(h

    p

    ): Este de asteptat a metodele de ordin

    superior sa asigure o eroare mai mia dea^t ele de ordin inferior, atuni a^nd pasul de

    timp se misoreaza.

    Datorita araterului reursiv al metodelor numerie de integrare a euatiilor diferentiale,

    ^n are x

    k

    este alulat de regula ^n funtie de x

    k1

    erorile aparute la pasul k se propaga

    la pasii ulteriori, afeta^nd ^ntreaga solutie. Pentru a studia propagarea erorii ^n proesul

    de alul se onsidera solutia numeria z

    k

    a euatiei diferentiale u onditia initala z

    0

    ,

    perturbata astfel ^na^t: jjx

    0

    z

    0

    jj = "

    0

    :

  • 270 Euatii diferentiale ordinare

    O metoda de rezolvare se numeste numeri stabila, pentru un pas de timp h, daa

    abaterea dintre ele doua solutii este marginita:

    jjx

    k

    z

    k

    jj = C"

    0

    ; (8.9)

    ^n az ontrar metoda se numeste instabila numeri.

    Daa o metoda numeria determina \ampliarea" erorii ^n proesul de alul, atuni ea

    nu poate utilizata prati ^n vederea obtinerii unor solutii numerie u eroare rezonabila.

    O metoda de rezolvare se numeste numeri absolut stabila pentru un pas de timp dat

    h si pentru o euatie data, daa o perturbatie la pasul de timp k : jjx

    k

    z

    k

    jj =

    k

    , nu

    se amplia la pasii de timp urmatori m > k :

    jjx

    m

    z

    m

    jj

    k

    : (8.10)

    Din paate, denitia stabilitatii numerie nu depinde numai de algoritm i si de euatia

    de rezolvat. Din aest motiv este neesara introduerea unei \euatii test" pe are sa se

    verie stabilitatea absoluta. Se alege a euatie test ea mai simpla euatie diferentiala

    liniara salara:

    dx

    dt

    = x; (8.11)

    ^n are 2 C, deoaree multe sisteme liniare si hiar prima aproximatie a elor neliniare

    se pot redue la euatii de aest tip, printr-o shimbare onvenabila de variabile. Se va

    numi regiune de stabilitate numeria absoluta multimea valorilor pe are le poate

    lua pasul de timp h, la o valoare data a parametrului , astfel ^na^t o perturbatie a

    solutiei numerie la pasul k va produe modiari ulterioare are nu res de la pas la

    pas. Un exemplu de astfel de perturbari ^l onstituie impreizia u are sunt unosute

    datele initiale sau erorile de rotunjire are intervin la eare pas de integrare ^n timp.

    Pe masura e pasul de timp h sade, alulele sunt efetuate u valori din e ^n e mai

    apropiate (x

    k+1

    ! x

    k

    ) iar ponderea erorilor de rotunjire reste. Efetul umulativ al

    erorilor de trunhiere si rotunjire este prezentat alitativ ^n gura 8.2. Se onstata a ^n

    realitate pasul de timp nu trebuie sa sada sub o valoare minima h

    min

    deoaree erorile

    de rotunjire tind sa reasa din nou.

    ^

    In onluzie, se poate arma a prezinta interes prati doar aele metode are sunt

    onvergente si numeri stabile, u onditia a pasul de integrare sa nu e mai mi dea^t

    limita impusa de eroarea de rotunjire.

    ^

    In ontinuare va studiata ea mai simpla metoda de disretizare (de integrare numeria)

    a euatiilor diferentiale ordinare, si anume metoda de ordinul unu, unosuta si sub

    numele de metoda Euler. Aeasta se obtine prin aproximarea solutiei exate u primii

    doi termeni din seria Taylor ^n are aeasta se poate desompune ^n eare punt al unei

    retele uniforme de disretizare:

  • 8.2. Disretizarea euatiilor diferentiale 271

    Figura 8.2: Variatia erorii globale ^n funtie de pasul h

    ^

    x(t

    k+1

    ) =

    ^

    x(t

    k

    ) + (t

    k+1

    t

    k

    )

    dx

    dt

    t=t

    k

    + : : : (8.12)

    sau tina^nd seama de euatia de rezolvat si de notatiile introduse, rezulta:

    x

    k+1

    = x

    k

    + hf(x

    k

    ; t

    k

    ): (8.13)

    ^

    In fond, aeasta relatie se obtine din euatia de rezolvat aproxima^nd derivata u formula

    progresiva u diferente nite de ordinul ^nta^i. Relatia (8.13) deneste o metoda Euler

    expliita, deoaree permite alulul diret al solutiei numerie x

    k+1

    , fara sa e neesara

    rezolvarea vreunei euatii sau sistem de euatii.

    Relatia (8.13) poate obtinuta si prin integrarea euatiei diferentiale (8.1) pe ultimul

    pas de timp

    ^

    x(t

    k+1

    )

    ^

    x(t

    k

    ) =

    Z

    t

    k+1

    t

    k

    f(x; t)dt; (8.14)

    si aproximarea integralei prin metoda dreptunghiurilor u valoarea integrandului din

    momentul initial t

    k

    , al intervalului.

    Daa, ^n shimb, se foloseste pentru evaluarea integralei valoarea din momentul nal

    t

    k+1

    , atuni se obtine relatia:

    x

    k+1

    = x

    k

    + hf(x

    k+1

    ; t

    k+1

    ) (8.15)

    arateristiametodei Euler impliite. Aeasta relatie se obtine aproxima^nd derivata

    din euatia de rezolvat u diferente nite regresive.

    ^

    In aest ultim az, neunosuta x

    k+1

    ,

    este prezenta ata^t ^n membrul sta^ng a^t si ^n el drept iar pentru determinarea ei este

    neesara rezolvarea unui sistem de euatii neliniare. Efortul de alul ^n azul metode-

    lor impliite este mai mare, dar se va onstata a el este reompensat de o stabilitate

    numeria superioara a solutiei.

  • 272 Euatii diferentiale ordinare

    Semniatia geometria a metodei Euler expliita este reprezentata ^n gura 8.3, pentru

    azul unei funtii f(x; t) u x 2 R. Se onstata a solutia este aproximata u o dreapta

    are tree prin puntul initial (x

    k

    ; t

    k

    ) si a arei panta este data de valoarea funtiei f(x; t)

    ^n puntul initial. Pe masura e pasul de timp h sade, are lo si o sadere a erorii de

    trunhiere "

    k

    :

    x(t)

    t t

    k+1x

    xkf(x ,t )panta

    k k+1

    k k

    Figura 8.3: Semniatia geometria a metodei Euler expliite

    Pentru a determina ordinul de onvergenta al metodei se onsidera euatia test (8.11)

    u 2 R, a arei solutie este:

    x^(t) = x

    0

    e

    t

    ;

    si are, ^n nodurile x

    k

    = kh ale unei retele regulate are valorile:

    x^(t

    k

    ) = x

    0

    e

    ht

    :

    Solutia numeria se obtine folosind reursiv relatia (8.13):

    x

    k+1

    = x

    k

    + hx

    k

    = x

    0

    (1 + h)

    k+1

    :

    Daa se noteaza:

    = e

    h

    = 1 + h+

    (h)

    2

    2

    e

    h

    ; 0 < < 1 si (8.16)

    = 1 + h ;

    rezulta urmatoarele expresii pentru solutia exata si ea numeria:

    x^(t

    k

    ) = x

    0

    k

    ; (8.17)

    x

    k

    = x

    0

    k

    : (8.18)

    Eroarea de trunhiere are la pasul k valoarea:

    "

    k

    = jx^(t

    k

    ) x

    k

    j = x

    0

    j

    k

    k

    j = x

    0

    j j j

    k1

    +

    k2

    + :::+

    k1

    j:

  • 8.2. Disretizarea euatiilor diferentiale 273

    Lua^nd ^n onsideratie (8.16),rezulta:

    "

    k

    x

    0

    (h)

    2

    2

    e

    h

    k

    k1

    x

    0

    h

    2

    k

    2

    e

    kh

    ; (8.19)

    Fixa^nd valoarea lui t

    k

    = kh, rezulta evaluarea:

    e

    k

    hx

    0

    2

    t

    k

    e

    t

    k

    = O(h); (8.20)

    are evidentiaza faptul a metoda Euler este onvergenta u ordinul 1. Relatia (8.20)

    evalueaza eroarea umulata pe toti pasii de timp pa^na la t

    k

    , motiv pentru are ea se

    numeste eroare globala. Eroarea de trunhiere efetuata la eare pas, presupuna^nd

    valoarea solutiei la pasul anterior a exata, se numeste eroare loala si se poate alula

    folosind relatia (8.20) ^n are se partiularizeaza k = 1 :

    e

    1

    x

    0

    h

    2

    2

    e

    h

    = O(h

    2

    ): (8.21)

    Se onstata a eroarea loala este u un ordin de marime mai mare dea^t ea globala.

    Presupuna^nd a funtia f(x; t) satisfae onditia Lipshitz si a solutia are derivata dubla

    marginita, se obtin [47 aeleasi rezultate privind ordinul erorii metodei Euler si ^n azul

    general al euatiei (8.1).

    Pentru a studia stabilitatea numeria a metodei Euler se onsidera solutia euatiei de

    test (8.11) si solutia euatiei u onditii initiale perturbate:

    z

    k

    = z

    0

    k

    :

    Abaterea solutiei perturbate:

    jx

    k

    z

    k

    j = jx

    0

    z

    0

    j

    k

    "

    0

    k

    = "

    0

    e

    hk

    = "

    0

    e

    t

    k

    (8.22)

    este marginita de abaterea onditiei initiale "

    0

    = jx

    0

    z

    0

    j si tinde atre 0 atuni a^nd

    "

    0

    ! 0:

    ^

    In onseinta, se poate arma a metoda Euler este numeri stabila pentru orie valoare

    a pasului de integrare. Metoda este numeri stabila nu numai pentru euatiile stabile

    (Re[ < 0) i si pentru ele instabile, a aror solutie nu este asimptoti marginita.

    Aeasta armatie este adevarata si ^n azul euatiei diferentiale (8.1).

    ^

    In aest az [26,

    abaterea elor doua solutii este marginita de:

    jjx

    k

    z

    k

    jj "

    0

    e

    Lh

    ;

    unde L este onstanta Lipshitz a funtiei f(x; t).

    Stabilitatea numeria a unei metode nu presupune onvergenta aesteia. De exemplu

    \metoda de ordin 0", obtinuta prin retinerea primului termen din seria Taylor (8.13):

    x

    1

    = x

    0

    ; x

    2

    = x

    1

    ; x

    3

    = x

    2

    ; :::; x

    k+1

    = x

    k

    ; :::

  • 274 Euatii diferentiale ordinare

    este numeri stabila (hiar si absolut stabila) dar nu este onvergenta.

    Pentru a asigura stabilitatea numeria absoluta este neesar a ^n (x

    1

    ) sa e

    ^ndeplinita onditia:

    jx

    k

    z

    k

    j jx

    0

    z

    0

    j;

    sau ehivalent

    jj

    k

    = j1 + hj

    k

    1; (8.23)

    eea e orespunde ^n planul omplex h unui er de raza unitate, u entrul ^n (1; 0):

    Aest er (gura 8.4) reprezinta domeniul de stabilitate numeria absoluta pentru me-

    toda Euler.

    Im[ h]

    Re[ h]-1.0

    1.0

    0

    -1.0-2.0 0

    Figura 8.4: Domeniul de stabilitate numeria absoluta pentru o metoda numeria

    Daa se onsidera spre exemplu euatia unui iruit eletri liniar de ordinul 1, u on-

    stanta de timp , are este de forma euatiei de test (8.11) u = 1=:

    ^

    In aest az

    onditia de stabilitate numeria absoluta este 2 h 0. Daa se onsidera pasul de

    timp limita h =

    2

    = 2 , atuni solutia numeria obtinuta prin metoda Euler este

    x

    k

    = (1 + h)x

    k1

    = (1)

    k

    x

    0

    :

    x0-

    x0

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

    0

    Figura 8.5: Solutia numeria Euler a unui iruit liniar de ordinul 1, pentru h = 2

  • 8.2. Disretizarea euatiilor diferentiale 275

    Aeasta are un arater osilator (gura 8.5), ^n timp e solutia exata tinde atre zero

    ^n a^tiva pasi de timp. Daa pasul de timp depaseste aeasta limita, atuni osilatiile se

    amplia, solutia numeria devine instabila si se ^ndeparteaza u eare pas de integrare

    de solutia exata a euatiei de rezolvat. Pentru a obtine o variatie monotona a solutiei

    numerie, asa um variaza solutia exata, este neesar a pasul de integrare h sa e mai

    mi dea^t onstanta de timp a iruitului.

    Pentru a arateriza eroarea de rotunjire se onsidera un sistem de alul are opereaza

    u q ifre semniative. La eare operatie aesta introdue o eroare relativa de rotunjire

    r 2 [1=2; 1=2 10

    q

    . Daa pe aest sistem se implementeaza metoda Euler pentru

    euatia (8.11) u x

    0

    = 1 si 1=2, atuni eroarea de rotunjire la pasul t

    k

    = este:

    "

    r

    = Nr

    =

    h

    10

    q

    ;

    deoaree au fost efetuati N = =h pasi. Eroarea de trunhiere la aelasi pas se obtine

    pe baza relatiilor (8.19), (8.20):

    "

    t

    =

    h

    2

    2

    e

    1

    =

    h

    :

    Suma aestor erori:

    " = "

    t

    + "

    r

    =

    h

    +

    h

    10

    q

    ;

    are minimul dat de euatia:

    "

    h

    1

    h

    2

    10

    q

    = 0;

    eea e orespunde unei valori optime a pasului de timp:

    h =

    p

    10

    q

    :

    De exemplu, pentru azul uzual ^n are q = 6, rezulta a pasul metodei Euler trebuie

    ales mai mare de 1/1000 din onstanta de timp maxima din iruit dar mai mi dea^t

    onstanta de timp minima din iruit.

    Rezolvarea prin metoda Euler expliita este desrisa de urmatorul pseudood:

    proedura euler exp (x0, xmax, y0, h, y)

    real x0, ;nod initial

    xmax, ;nod final

    y0, ;onditia initiala

    h ;pasul de integrare

    tablou real y(N) ;vetorul solutiei

    ;numerie

    t = x0

    y(1) = y0

    n = (xmax - x0)/h ;nr. de pasi

  • 276 Euatii diferentiale ordinare

    pentru i = 2,n ;evalueaza funtia

    ;^n ele n noduri

    y(i) = y(i-1) + hfun(t,y(i-1))

    t = t + h

    retur

    Proedura are urmatorii parametri :

    de intrare

    { x0 = limita inferioara a intervalului de integrare;

    { xmax = limita superioara a intervalului de integrare;

    { y0 = onditia initiala;

    { h = pasul de integrare.

    de iesire

    { y(N) = vetorul solutie.

    Proedura apeleaza funtia \fun" e evalueaza funtia f(t; y) din membrul drept al

    euatiei (8.1) pentru nodul i.

    Rezolvarea prin metoda Euler impliita este desrisa de urmatorul pseudood:

    proedura euler imp (x0, xmax, y0, h, err, itmax, y)

    real x0, ;nod initial

    xmax, ;nod final

    y0, ;onditia initiala

    h, ;pasul de integrare

    err ;eroarea maxim admisa

    ^ntreg itmax ;nr. max. de iteratii

    tablou real y(N) ;vetorul solutiei

    t = x0

    y(1) = y0

    n = (xmax - x0)/h ;nr. de pasi

    pentru i = 2,n ;evalueaza funtia

    ;^n ele n noduri

    t = t + h ;pas nou

    ;prima evaluare se fae u metoda expliita

    ynou = y(i-1)+hfun(t,y(i-1))

    j = 0 ;ontor iteratii

    repeta

  • 8.2. Disretizarea euatiilor diferentiale 277

    yvehi = ynou

    ynou = y + hfun(t,yvehi)

    ;evaluare noua

    j = j + 1

    eps = abs(yvehi - ynou)

    ;evaluare eroare

    pa^na a^nd ( abs(eps) err sau j > itmax )

    y(i) = ynou

    retur

    Fata de metoda Euler expliita, proedura de mai sus are doi parametri suplimentari:

    de intrare

    { err = eroarea maxima admisa;

    { itmax = nr. maxim de iteratii admis.

    Dei, metoda de rezolvare a euatiei neliniare (8.5) este o metoda iterativa, la are

    initializarea este fauta prin valori date de relatia expliita (8.3).

    ^

    In gurile 8.6 { 8.8 sunt prezentate solutia exata si solutiile numerie prin metodele

    Euler expliita si impliita, la rezolvarea euatiei diferentiale a unui iruit RC serie:

    Figura 8.6: Tensiunea la bornele ondensatorului pentru h = =10

    (

    RC

    du

    dt

    + u = E;

    u(0) = 0:

    pentru valorile pasului de disretizare temporala h = =10; h = si respetiv h =

    2 .

    Se onstata a metoda Euler impliita este mult mai robusta, ind mai putin sensibila

    la marimea pasului.

  • 278 Euatii diferentiale ordinare

    Figura 8.7: Tensiunea la bornele ondensatorului pentru h =

    Figura 8.8: Tensiunea la bornele ondensatorului pentru h = 2

    Un alt fenomen interesant este aela a, pentru o valoare suient de mia a pasului,

    solutia exata este ^nadrata de ele doua solutii numerie (solutia obtinuta prin metoda

    Euler expliita ind ^ntotdeauna mai mare, iar ea obtinuta prin metoda Euler impliita

    ind ^ntotdeauna mai mia dea^t ea exata). Aeasta observatie permite rezolvarea

    unei euatii diferentiale ordinare u ontrol al erorii, prin utilizarea ambelor metode.

    8.3 Metode numerie u un pas

    8.3.1 Metoda seriei Taylor

    Pentru a obtine ^mbunatatirea onvergentei fata de metoda Euler, se foloses metode ^n

    are din seria Taylor a solutiei se retin mai mult de doi termeni.

    ^

    In urma trunhierii

    seriei Taylor la primii (p+ 1) termeni se obtine relatia:

    x

    k+1

    = x

    k

    + hf(x

    k

    ; t

    k

    ) +

    h

    2

    2!

    f

    (1)

    (x

    k

    ; t

    k

    ) + :::+

    h

    p

    p!

    f

    (p1)

    (x

    k

    ; t

    k

    ): (8.24)

    Daa se aplia aeasta metoda euatiei test (8.11) u 2 R, atuni solutia numeria se

  • 8.3. Metode numerie u un pas 279

    obtine de forma:

    x

    k

    = x

    0

    1 + h+

    (h)

    2

    2!

    + :::+

    (h)

    p

    p!

    !

    k

    : (8.25)

    Folosind notatiile:

    = 1 + h +

    (h)

    2

    2!

    + :::+

    (h)

    p

    p!

    ;

    = e

    h

    = +

    (h)

    p+1

    p!

    eh ;

    ^n are 2 (0; 1), rezulta urmatoarele expresii pentru solutia exata si ea numeria:

    x^(t

    k

    ) = x

    0

    k

    ; (8.26)

    x

    k

    = x

    0

    k

    : (8.27)

    Eroarea de trunhiere satisfae majorarile:

    "

    k

    = jx^(t

    k

    ) x

    k

    j = x

    0

    j

    k

    k

    j x

    0

    j jk

    k1

    x

    0

    (h)

    p+1

    p!

    e

    h

    ke

    h(k1)

    h

    p

    x

    0

    jj

    p

    t

    k

    e

    t

    k

    : (8.28)

    Rezulta a aeasta metoda este onvergenta si are ordinul p, eroarea de trunhiere ind

    de tipul:

    "

    k

    = O(h

    p

    ):

    ^

    In aeasta metoda, misorarea erorii se poate realiza ata^t prin misorarea pasului de

    timp h a^t si prin marirea ordinului p al metodei. Misorarea exesiva a pasului h due

    la resterea erorii de rotunjire; resterea ordinului la valori mai mari de 1 presupune

    alulul numeri sau analiti al valorilor funtiei f(x; t), fapt e sporeste sensibil efortul

    de alul si este suseptibil de erori suplimentare. Din aest motiv metoda seriei Taylor

    trunhiata este folosita ^n pratia doar pentru ordinul p = 1.

    8.3.2 Metoda Runge-Kutta

    O lasa de metode de ordin superior, are asigura aeeasi omportare a erorii a metoda

    Taylor, dar nu pretinde alulul derivatelor funtiei f(x; t) este unosuta sub numele

    Runge- Kutta. Pentru a asigura aelasi ordin al erorii, metodele Runge-Kutta evalueaza

    funtia f(x; t) de mai multe ori, ^ntr-un numar p de punte ^n veinatatea puntului

    initial (x

    k

    ; t

    k

    ).

    Metoda Runge-Kutta de ordinul doi utilizeaza relatia de reurenta:

    x

    k+1

    = x

    k

    + h[a

    1

    f(x

    k

    ; t

    k

    ) + a

    2

    f(x

    k

    + b

    1

    hf(x

    k

    ; t

    k

    ); t

    k

    + b

    2

    h); (8.29)

  • 280 Euatii diferentiale ordinare

    ^n are, onstantele a

    1

    ; a

    2

    ; b

    1

    si b

    2

    se determina astfel ^na^t eroarea de trunhiere sa e

    de tipul O(h

    2

    ): Daa se noteaza:

    g

    1

    = f(x

    k

    ; t

    k

    );

    g

    2

    = f(x

    k

    + b

    1

    hg

    1

    ; t

    k

    + b

    2

    h);

    relatia (8.29) devine:

    x

    k+1

    = x

    k

    + h[a

    1

    g

    1

    + a

    2

    g

    2

    :

    Deriva^nd funtia f(x; t) fata de timp:

    f

    (1)

    (x

    k

    ; t

    k

    ) =

    f

    x

    f(x

    k

    ; t

    k

    ) +

    f

    t

    ; (8.30)

    rezulta prin retinerea primilor termeni ai dezvoltarii ^n serie Taylor a funtiei g

    2

    :

    g

    2

    = f(x

    k

    ; t

    k

    ) +

    f

    x

    f(x

    k

    ; t

    k

    )b

    1

    h+

    f

    t

    b

    2

    h +O(h

    2

    );

    iar prin substitutie ^n (8.29), rezulta:

    x

    k+1

    = x

    k

    + h(a

    1

    + a

    2

    )g

    1

    + h

    2

    a

    2

    b

    1

    f

    x

    g

    1

    + h

    2

    a

    2

    b

    2

    f

    t

    +O(h

    3

    ): (8.31)

    Identia^nd termenii expresiei (8.31) u ei ai expresiei (8.24) partiularizata pentru

    p = 2:

    x

    k+1

    = x

    k

    + hg

    1

    +

    h

    2

    2

    "

    f

    x

    g

    1

    +

    f

    t

    #

    ;

    rezulta sistemul de euatii:

    a

    1

    + a

    2

    = 1; a

    2

    b

    1

    = 1=2; a

    2

    b

    2

    = 1=2: (8.32)

    Cele trei relatii obtinute nu pot determina ^n mod uni ei patru parametri si unul

    dintre aestia trebuie ales arbitrar. Indiferent de aeasta alegere, metoda obtinuta este

    onvergenta u o eroare de trunhiere de ordinul doi "

    k

    = O(h

    2

    ). Se onstata a ^n

    metoda Runge -Kutta de ordinul doi, la eare pas de timp se evalueaza funtia f(x; t)

    de doua ori, o data ^n puntul initial (g

    1

    ) si apoi ^ntr-un punt intermediar (g

    2

    ), plasat pe

    diretia g

    1

    , urma^nd a valoarea a

    eptata pentru solutia numeria sa medieze ponderat

    ele doua evaluari.

    ^

    In pratia se foloses mai des urmatoarele variante ale metodei Runge-Kutta de ordinul

    doi:

  • 8.3. Metode numerie u un pas 281

    tk

    k+1x

    xk

    xk

    panta k kf(x ,t + h/2)

    k kkk

    t + h/2k t =t +hk+1 k

    x =x + h/2 f(x , t )

    x

    t

    Figura 8.9: Semniatia geometria a metodei Euler { Cauhy

    metoda Euler-Cauhy, obtinuta pentru a

    2

    = 1:

    x

    k+1

    = x

    k

    + hf

    x

    k

    +

    h

    2

    f(x

    k

    ; t

    k

    ); t

    k

    +

    h

    2

    !

    ; (8.33)

    ^n are se evalueaza funtia f(x; t) la jumatatea pasului de timp, ^ntr-un punt

    median, de pe segmentul de panta f(x

    k

    ; t

    k

    ), e porneste din puntul initial

    (semniatia geometria este prezentata ^n gura 8.9);

    metoda Henn, obtinuta pentru a

    2

    = 1=2:

    x

    k+1

    = x

    k

    +

    h

    2

    [f(x

    k

    ; t

    k

    ) + f(x

    k

    + hf(x

    k

    ; t

    k

    ); t

    k

    + h); (8.34)

    ^n are se utilizeaza media aritmetia a valorilor funtiei f(x; t) ^n puntul initial

    (x

    k

    ; t

    k

    ) si el nal (x

    k

    + hf(x

    k

    ; t

    k

    ); t

    k

    + h), ^n sensul indiat de metoda Euler

    (semniatia geometria este prezentata ^n gura 8.10);

    tk

    f + f1 22

    k+1x

    xkpanta

    k+1

    x

    t

    t

    f 21 f - Euler

    Figura 8.10: Semniatia geometria a metodei Henn

    metoda Ralston, obtinuta pentru a

    2

    = 3=4:

    x

    k+1

    = x

    k

    +

    h

    4

    f(x

    k

    ; t

    k

    ) + 3f

    x

    k

    +

    2

    3

    hf(x

    k

    ; t

    k

    ); t

    k

    +

    2

    3

    h

    ; (8.35)

  • 282 Euatii diferentiale ordinare

    ^n are se utilizeaza o medie ponderata a valorii initiale (pondere 1/4) si a valorii din

    puntul situat la 2/3 din pasul h (pondere 3/4). Aeasta alegere asigura minimul

    erorii de trunhiere [26.

    Folosind o tehnia asemanatoare se obtine metoda Runge-Kutta de ordinul trei u

    o eroare de trunhiere de tipul O(h

    3

    ) si neesita trei evaluari ale funtiei f(x; t) la

    eare pas de timp.

    ^

    In aest az numarul oeientilor se ridia la opt iar numarul

    euatiilor obtinute prin identiarea u seria Taylor este doar de sase, dei doi

    parametri rama^n nedeterminati [2, [26.

    Dintre toate variantele metodei Runge-Kutta, ea mai des folosita ^n pratia este ea

    de ordinul patru:

    x

    k+1

    = x

    k

    + h[a

    1

    g

    1

    + a

    2

    g

    2

    + a

    3

    g

    3

    + a

    4

    g

    4

    ; (8.36)

    u

    g

    1

    = f(x

    k

    ; t

    k

    );

    g

    2

    = f(x

    k

    + b

    1

    g

    1

    h; t

    k

    +

    1

    h);

    g

    3

    = f(x

    k

    + b

    2

    g

    h

    1

    + b

    3

    g

    h

    2

    ; t

    k

    +

    2

    h);

    g

    4

    = f(x

    k

    + b

    4

    g

    h

    1

    + b

    5

    g

    h

    2

    + b

    6

    g

    h

    3

    ; t

    k

    +

    3

    h):

    ^

    In urma dezvoltarii ^n serie Taylor a funtiilor e intervin ^n expresia (8.36) si a iden-

    tiarii u relatia (8.24), partiularizata pentru p = 4, rezulta un sistem de 11 euatii

    satisfaute de ei 13 oeienti a

    1

    a

    4

    ; b

    1

    b

    6

    ;

    1

    4

    :

    Cel mai des utilizata este varianta Runge, ^n are se alege b

    6

    = 1 si

    1

    = 1=2:

    x

    k+1

    = x

    k

    + h(g

    1

    + 2g

    2

    + 2g

    3

    + g

    4

    )=6 (8.37)

    u

    g

    1

    = f(x

    k

    ; t

    k

    );

    g

    2

    = f

    x

    k

    +

    h

    2

    g

    1

    ; t

    k

    +

    h

    2

    ;

    g

    3

    = f

    x

    k

    +

    h

    2

    g

    2

    ; t

    k

    +

    h

    2

    ;

    g

    4

    = f(x

    k

    + hg

    3

    ; t

    k

    + h):

    Aeasta metoda aluleaza panta g

    1

    , ^n puntul initial (x

    1

    ; t

    1

    ), pe are o foloseste pentru

    a avansa u jumatate de pas h=2, ^n vederea alulului pantei g

    2

    . Valoarea g

    2

    astfel

    alulata este folosita pentru a realula panta g

    3

    la jumatatea pasului. Aesta panta

    este folosita pentru alulul valorii f(x; t) a funtiei g

    4

    la sfa^rsitul pasului de timp. Cele

    patru valori obtinute sunt apoi mediate u ponderile 1/6, 2/6, 2/6 si respetiv 1/6, ^n

    vederea alulului noii stari x

    k+1

    .

    Aeasta metoda are avantajul unei erori de trunhiere relativ mii, de tipul O(h

    4

    ) si a

    faptului a permite o implementare simpla ^n limbajele de programare. Efortul onsta,

    ^n prinipal, ^n evaluarea funtiei f(x; t) de patru ori la eare pas de timp.

    Folosirea metodelor de tip Runge-Kutta de ordin mai mare de 4 nu este justiata,

    deoaree pentru obtinerea unei erori de tip O(h

    5

    ) este neesara evaluarea funtiei f(x; t)

  • 8.3. Metode numerie u un pas 283

    de sase ori. Metodele de ordin 6, 7 si 8 neesita un numar de 7, 9 si respetiv 11 evaluari

    ale funtiei f(x; t) [?.

    Pentru studiul stabilitatii numerie absolute se onsidera din nou euatia test (8.11),

    la are f(x; t) = x. Metoda Runge-Kutta de ordinul doi, apliata aestei euatii,

    ondue la:

    x

    k+1

    = x

    k

    + h[a

    1

    x

    k

    + a

    2

    (x

    k

    + b

    1

    hx

    k

    ) = x

    k

    "

    1 + h+

    (h)

    2

    2

    #

    ; (8.38)

    si respetiv pentru solutia perturbata:

    z

    k+1

    = z

    k

    "

    1 + h +

    (h)

    2

    2

    #

    :

    Perturbatia de la pasul k,

    k

    = z

    k

    x

    k

    , se propaga la pasul k + 1, sub forma:

    k+1

    = z

    k+1

    x

    k+1

    =

    "

    1 + h+

    (h)

    2

    2

    #

    k

    :

    Conditia a aeasta perturbatie sa se atenueze de la un pas la altul este:

    "

    1 + h +

    (h)

    2

    2

    #

    1; (8.39)

    eea e orespunde ^n planul omplex h unei regiuni de stabilitate absoluta de forma

    elei reprezentate ^n gura 8.11a. Daa se analizeaza ^n mod asemanator metoda Runge-

    Kutta de ordinul patru, rezulta onditia:

    "

    1 + h +

    (h)

    2

    2

    +

    (h)

    3

    6

    +

    (h)

    4

    24

    #

    1; (8.40)

    are este reprezentata gra ^n gura 8.11b.

    Prin ompararea regiunilor de stabilitate numeria absoluta, rezulta a metodele de ordin

    superior admit, pentru aeeasi euatie, valori mai mari ale pasului maxim admisibil h,

    dea^t metodele de ordin inferior.

    Metoda Runge-Kutta de ordinul patru prezinta avantaje fata de metoda Euler. De

    exemplu, pentru un pas de integrare h = 0:1 , metoda Runge-Kutta asigura o eroare

    u trei ordine de marime mai mia dea^t metoda Euler u aelasi pas. Pentru a obtine

    o eroare omparabila, pasul ^n metoda Euler trebuie misorat la h = 10

    4

    , eea e

    nu numai a sporeste efortul de alul de a^teva sute de ori, dar si determina o restere

    inadmisibila a erorilor de rotunjire. Aeasta armatie se dovedeste a adevarata ^n azul

    ^n are se urmares erori mii de trunhiere. Daa toleranta erorii este mare, metoda

    Euler poate mai avantajoasa din puntul de vedere al efortului de alul.

    Urmatorul algoritm rezolva un sistem de N euatii diferentiale de ordinul unu prin

    metoda Runge-Kutta de rang 4.

  • 284 Euatii diferentiale ordinare

    Re[ h]

    Im[ h]

    a)-2 -1 0 1

    -1.8

    -1.4

    -1.0

    -0.6

    -0.2

    0.2

    0.6

    1.0

    1.4

    1.8

    Re[ h]

    Im[ h]

    b)

    -2.8 -2.4 -2.0 -1.6 -1.2 -0.8 -0.4 0 0.4-3

    -2

    -1

    0

    1

    2

    3

    Figura 8.11: Domeniile de stabilitate absoluta pentru metodele Runge-Kutta de ordinul 2 (a)

    si 4 (b).

    proedura runge 4 (t0,tf,h,y) ;Rezolva sistem de N euatii

    ;diferentiale de ordin I,

    ;prin metoda Runge-Kutta de

    ;rang 4.

    real t0, ;moment initial

    tf, ;limita interval de integrare

    h ;pas de integrare

    tablou real y[N, s[N, z[N, g[N ;N-dimensiune

    ;sistem

    t = t0

    a^t timp t < tf

    pentru i = 1,N

    g(i) = fun (i,y(i),t) ;evaluare g1

    t = t + h/2

    pentru i = 1,N

    z(i) = y(i) + hg(i)/2 ;argument pentru g2

    s(i) = g(i) ;salveaza g1

    pentru i = 1,N

    g(i) = fun (i,z(i),t) ;evaluare g2

    pentru i = 1,N

    z(i) = y(i) + hg(i)/2 ;argument pentru g3

    s(i) = s(i) + 2g(i) ;salvez g1+2g2

    pentru i = 1,N

    g(i) = fun (i,z(i),t) ;evaluare g3

    t = t + h/2

    pentru i = 1,N

    z(i) = y(i) + hg(i) ;argument pentru g4

    s(i) = s(i) + 2g(i) ;salvez

  • 8.3. Metode numerie u un pas 285

    ;g1+2g2+2g3

    pentru i = 1,N

    g(i) = fun (i,z(i),t) ;evaluare g4

    pentru i = 1,N

    y(i) = y(i) + h(s(i) + g(i))/6 ;solutie finala

    srie y(i) ;salveaza solutie

    retur

    ^

    In gurile 8.12 { 8.14 sunt prezentate solutia exata si solutiile numerie prin metoda

    Runge-Kutta de ordinul patru. Se onstata a metoda este robusta, ^n mod asemanator

    u metoda Euler impliita (vezi gurile 8.6 { 8.8). Totusi, metoda Runge-Kutta asigura

    erori mult mai mii dea^t metoda Euler expliita, asa um rezulta din tabelul 8.3.2, ^n

    are sunt prezentate eroarea loala la primul pas si eroarea globala, la rezolvarea euatiei

    diferentiale

    Figura 8.12: Tensiunea la bornele ondensatorului pentru h = =10

    Figura 8.13: Tensiunea la bornele ondensatorului pentru h =

    y

    t

    = y;

    y(0) = 1;

  • 286 Euatii diferentiale ordinare

    Figura 8.14: Tensiunea la bornele ondensatorului pentru h = 2

    Tabela 8.1: Erori la rezolvarea euatiei diferentiale dy=dt = y; y

    0

    = 1 h 2 [0; 4

    Euler expliit R{K ord.4

    h e

    l

    e

    g

    e

    l

    e

    g

    0.001 4:9 10

    7

    9:8 10

    1

    0 5:3 10

    15

    0.01 4:9 10

    5

    9:8 10

    1

    8:3 10

    13

    6:2 10

    12

    0.1 4:8 10

    3

    9:8 10

    1

    8:2 10

    8

    6:6 10

    8

    1 3:7 10

    1

    9:8 10

    1

    7:1 10

    3

    1:5 10

    3

    2 1:13 9:8 10

    1

    1:9 10

    1

    9:3 10

    2

    pe intervalul [0; 4.

    Graele la rezolvarea u metoda Runge-Kutta de ordinul patru a sistemelor de euatii

    orespunzatoare iruitului din gura 8.15 sunt prezentate ^n gurile 8.16 { 8.18.

    Ciruitul din gura 8.15 este araterizat de sistemul de euatii:

    (

    Li

    0

    + u+R

    i

    = E;

    Cu

    0

    = i;

    sistem are poate adus la forma:

    "

    u

    0

    i

    0

    #

    =

    "

    o

    1

    1

    L

    R

    L

    # "

    u

    i

    #

    +

    "

    E

    0

    #

    :

  • 8.3. Metode numerie u un pas 287

    E=10VR

    L=1mH C=10 F

    Figura 8.15: Ciruit de ordinul II

    Figura 8.16: Solutia iruitului din gura 8.15 pentru R = 1

    Figura 8.17: Solutia iruitului din gura 8.15 pentru R = 20

    Figura 8.18: Solutia iruitului din gura 8.15 pentru R = 30

  • 288 Euatii diferentiale ordinare

    8.3.3 Controlul automat al marimii pasului de integrare

    Criteriile prezentate privind alegerea pasului de integrare pot apliate ^n analiza iru-

    itelor eletrie simple.

    ^

    In azul iruitelor omplexe, parametrie sau neliniare, onstan-

    tele de timp nu sunt unosute apriori sau nu pot denite.

    ^

    In aeste azuri prezinta

    interes tehniile de alegere automata a pasului ^n timpul integrarii. De obiei se

    urmareste resterea pasului de integrare pa^na la limita la are erorile de trunhiere sunt

    ^na admisibile.

    O metoda relativ simpla pentru alegerea pasului si pentru ontrolul erorii de integrare

    onsta ^n dublarea (sau ^njumatatirea) pasului de timp h, astfel ^na^t eroarea de integrare

    sa e uprinsa permanent ^ntre doua limite impuse "

    m

    < " < "

    M

    . Pentru estimarea erorii

    de integrare " se aplia relatiile (8.37) pentru doi pasi su

    esivi:

    e

    x

    k+1

    = R(x

    k

    ; t

    k

    ; h);

    e

    e

    x

    k+2

    = R(x

    k+1

    ; t

    k+1

    ; h);

    si apoi pentru un pas de lungime dubla:

    e

    e

    x

    k+2

    = R(x

    k

    ; t

    k

    ; 2h):

    Daa erorile de integrare sunt neglijabile, valorile

    e

    x

    k+2

    si

    e

    e

    x

    k+2

    astfel alulate trebuie

    sa e egale. Diferenta dintre aeste valori poate onsiderata a o masura a erorii de

    integrare:

    " = jj

    e

    x

    k+2

    e

    e

    x

    k+2

    jj: (8.41)

    Daa " > "

    M

    atuni pasul de timp h se ^njumatateste iar daa " < "

    m

    atuni pasul de

    timp se dubleaza.

    Aeasta metoda neesita un efort de alul sporit, la eare pas de timp ind neesare ^n

    medie 5.5 evaluari ale funtiei f(x; t).

    ^

    In implementarea algoritmului trebuie aordata o

    atentie deosebita modului ^n are se aluleaza norma erorii. Fieare omponenta trebuie

    ponderata ^n mod orespunzator, de exemplu daa o omponenta reprezinta urentul

    printr-o bobina si alta sarina unui ondensator, atuni aestea trebuie raportate la

    valoarea tipia a urentului din bobina si respetiv la sarina tipia din ondensator.

    ^

    In

    aest fel eroarea obtinuta are un arater relativ. Eroarea maxima "

    M

    reomandata

    este de ira 10

    3

    iar eroarea minima "

    m

    nu trebuie sa e mai mia dea^t eroarea de

    rotunjire (se reomanda valori "

    m

    = 10

    5

    , daa se lureaza ^n simpla preizie).

    O ^mbunatatire a erorii de alul se poate obtine daa se adopta pentru solutia numeria

    valoarea alulata prin extrapolare Rihardson, pornind de la

    e

    x

    k+2

    = r(t

    k+2

    ; h) si

    e

    e

    x

    k+2

    =

    r(t

    k+2

    ; 2h). Extrapola^nd funtia r(t

    k+2

    ; y) pentru y = 0 se obtine:

    x

    k+2

    = r(t

    k+2

    ; 0) = 2

    e

    x

    k+2

    e

    e

    x

    k+2

    :

    Proedeul de extrapolare Rihardson poate generalizat u bune rezultate la ordine mai

    mari, folosind simultan mai multe retele de disretizare u pasii h; h=2; h=4; h=6; h=8:::

  • 8.3. Metode numerie u un pas 289

    [26.

    ^

    In aest sop, se onsidera a solutia numeria admite, pentru valori mii ale marimii

    pasului h, o aproximare polinomiala:

    x

    (h)

    k

    = r(t

    k

    ; h) = y

    0

    + y

    1

    h+ y

    2

    h

    2

    + :::

    Este de asteptat a valoarea aestei aproximari pentru h = 0 sa e mai aproape de solutia

    exata dea^t pentru h 6= 0: Coeientii extrapolarii, din are intereseaza mai ales y

    0

    , se

    determina u relatiile Aitken- Lagrange folosind retele din e ^n e mai ne, pa^na a^nd

    abaterea dintre doua solutii sade sub toleranta impusa.

    Utiliza^nd extrapolarea rationala ^n loul elei polinomiale, Bulirsh si Stoer au obtinut

    una din ele mai eiente metode de mare auratete pentru rezolvarea numeria a

    euatiilor diferentiale [2, [26.

    Pentru a asigura pemanent o valoare optima a pasului de integrare Gear [26 propune o

    metoda bazata pe o singura eroare impusa "

    M

    . Valoarea pasului de timp h

    k

    se modia

    la eare etapa de integrare onform relatiei

    h

    k+1

    = 0; 99h

    k

    15"

    M

    jjx

    k

    jj

    "

    !

    1

    5

    ;

    are asigura o eroare de trunhiere a^t mai apropiata de "

    M

    . Daa "=jjx

    k

    jj depaseste

    toleranta 15"

    M

    atuni alulul se reia u noul pas de timp. Valoarea adoptata pentru

    solutia numeria este o medie ponderata a solutiilor obtinute u ei doi pasi de timp:

    x

    k+2

    = (16

    e

    x

    k+2

    e

    e

    x

    k+2

    )=15:

    O metoda ingenioasa de modiare a pasului este propusa de Zonnenveld [2. Aesta

    adopta a masura a erorii norma ultimului termen din seria Taylor trunhiata, respetiv:

    q

    k

    =

    h

    p

    k

    p!

    x

    (p)

    k

    : (8.42)

    Se urmareste alulul aestui termen ^n funtie de evaluarile deja efetuate ale funtiei

    f(x; t).

    ^

    In azul metodei Runge-Kutta de ordinul doi (8.29) se determina oeientii d

    1

    si d

    2

    astfel ^na^t:

    h

    2

    2!

    x

    (2)

    k

    = h[d

    1

    g

    1

    + d

    2

    g

    2

    : (8.43)

    Utiliza^nd relatiile (8.30), (8.31) rezulta:

    h

    2

    2

    "

    f

    x

    g

    1

    +

    f

    t

    #

    = hg

    1

    (d

    1

    + d

    2

    ) + h

    2

    f

    x

    g

    1

    b

    1

    d

    2

    +

    f

    t

    b

    2

    d

    2

    ;

    eea e impune onstantelor d

    1

    si d

    2

    relatiile:

    d

    1

    + d

    2

    = 0 ; d

    2

    b

    1

    = 1=2 ; d

    2

    b

    2

    = 1=2: (8.44)

  • 290 Euatii diferentiale ordinare

    Alega^nd, de exemplu, varianta Heun a metodei Runge-Kutta, rezulta d

    1

    = 1=2; d

    2

    =

    1=2, dei eroarea de la pasul k poate masurata prin:

    q

    k

    =

    h

    k

    2

    jjf(x

    k

    ; t

    k

    ) f(x

    k

    + hf(x

    k

    ; t

    k

    ); t

    k

    + h)jj : (8.45)

    Folosind o tehnia asemanatoare se obtine norma ultimului termen si ^n azul metodei

    Runge-Kutta de ordinul patru (8.37):

    q

    k

    =

    h

    4

    k

    4!

    x

    (4)

    k

    = h

    k

    2

    3

    g

    1

    + 2g

    2

    + 2g

    3

    + 2g

    4

    16

    3

    g

    5

    ; (8.46)

    u

    q

    5

    = f

    x

    k

    +

    h

    32

    (5g

    1

    + 7g

    2

    + 13g

    3

    g

    4

    ); t

    k

    +

    3

    4

    h

    !

    :

    Se onstata a ^n azul metodei de ordinul patru este neesara o evaluare suplimentara

    a funtiei f(x; t). Eroarea q

    k

    de la pasul urent este omparata u:

    k

    = h

    k

    ["

    1

    jjf(x

    k

    ; t

    k

    )jj+ "

    2

    ; (8.47)

    unde "

    1

    si "

    2

    sunt doua valori limita date, impuse erorii.

    Daa q

    k

    k

    atuni valoarea (x

    k+1

    ) alulata la pasul urent este a

    eptata a ind

    oreta si se tree la pasul urmator h

    k+1

    , are se majoreaza fata de pasul urent. Daa

    eroarea q

    k

    depaseste toleranta admisa (q

    k

    >

    k

    ), atuni pasul urent h

    k

    se misoreaza si

    se realuleaza valoarea x

    k+1

    u noul pas.

    Pentru oeientul de oretie al pasului, Zonnenveld propune valoarea:

    k

    =

    k

    k

    + q

    k

    + 0:45: (8.48)

    Daa rezultatul este eronat (q

    k

    <

    k

    ) atuni pasul este oretat la valoarea

    k

    h

    k

    (u

    0:45 <

    k

    < 0:95 ). Daa rezultatul este a

    eptat, atuni oeientul de oretie satisfae

    inegalitatile 0:95

    k

    1:45. Pentru a evita o marire hazardata a pasului, Zonnenveld

    propune strategia data de relatia:

    h

    k+1

    =

    (

    k

    h

    k

    ; pentru k = 0;

    h

    k

    h

    h

    k

    h

    k1

    (1 +

    k

    )

    k1

    i

    ; pentru k > 0:

    (8.49)

    O varianta a metodei Runge-Kutta de ordinul patru, optimizata din puntul de vedere

    al efortului de alul (si al numarului de registre proesor utilizate ) se datoreaza lui Gill,

    are alege ^n aest sens ^n (8.36), b

    6

    = 1 + 1=

    p

    2 si

    1

    = 1=2.

    ^

    In varianta sa nala,

  • 8.4. Metode de integrare multipas 291

    algoritmul lui Gill are forma [48, [26:

    g

    1

    = hf(x

    k

    ; t

    k

    );

    q

    1

    = q

    0

    + 3(g

    1

    2q

    0

    )=2 g

    1

    =2;

    y

    1

    = x

    k

    + (g

    1

    2q

    0

    )=2;

    g

    2

    = hf(y

    1

    ; t

    k

    + h=2);

    q

    2

    = q

    1

    + 3(1 1=

    p

    2)(q

    2

    q

    1

    ) (1 1=

    p

    2)q

    2

    ;

    y

    2

    = y

    1

    + (1 1=

    p

    2)(q

    2

    q

    1

    );

    g

    3

    = hf(y

    2

    ; t

    k

    + h=2);

    q

    3

    = q

    2

    + 3(1 + 1=

    p

    2)(q

    3

    q

    2

    ) (1 + 1=

    p

    2)q

    3

    ;

    y

    3

    = y

    2

    + (1 + 1=

    p

    2)(q

    3

    q

    2

    );

    g

    4

    = hf(y

    3

    ; t+ h);

    q

    4

    = q

    3

    + 3(q

    4

    2q

    3

    )=6 q

    4

    =2;

    x

    k+1

    = y

    4

    = y

    3

    + (q

    4

    2q

    3

    )=6:

    (8.50)

    El asigura un numar minim de operatii si folosirea u eienta maxima a memoriei. Mai

    mult, aeasta metoda permite ompensarea partiala a erorii de rotunjire, de la un pas

    la altul.

    ^

    In aest sop se alege initial q

    0

    = 0 iar daa preizia ar innita ar trebui sa

    rezulte q

    4

    = 0.

    ^

    In realitate aest luru nu este adevarat si q

    4

    reprezinta ira triplul

    erorii de rotunjire de are este afetat rezultatul y

    4

    . Pentru a ompensa aeasta eroare,

    ^n pasul urmator se initializeaza q

    0

    u valoarea q

    4

    de la pasul preedent.

    ^

    In implementarea algoritmului Runge-Kutta-Gill, data ^n [48, ontrolul erorii si al

    pasului se realizeaza u ajutorul relatiei (8.41), limita inferioara a erorii ind aleasa

    "

    m

    = "

    M

    =50.

    8.4 Metode de integrare multipas

    Metodele Taylor si Runge-Kutta fa parte din ategoria metodelor de integrare a

    euatiilor diferentiale u un pas, deoaree permit estimarea solutiei x

    k

    , la pasul de timp

    k, folosind doar valoarea x

    k1

    de la pasul anterior. Trebuie observat a pe parursul in-

    tegrarii, sunt deja unosute valorile solutiei ^ntr-o serie de pasi anteriori x

    k1

    ; x

    k2

    ; : : :,

    valori are la metodele u un pas nu sunt luate ^n onsiderare. Utilizarea aestor valori

    ^n alulul solutiei de la pasul urent poate due la resterea preiziei fara un efort de

    alul suplimentar. Metodele are ^n determinarea solutiei foloses informatiile de la mai

    multi pasi, anteriori pasului urent se numes metode multipas. Aeste metode nu au

    autostart, deoaree la primul pas este unosuta doar onditia initiala x

    0

    . Din aest mo-

    tiv, integrarea trebuie demarata u o metoda u un pas, de regula u Runge-Kutta are

    este utilizata la integrarea euatiei pe un numar de pasi, si apoi se ontinua integrarea

    folosind metode multipas.

    Se onsidera o retea uniforma de disretizare a variabilei independente:

    t

    0

    ; t

    1

    = t

    0

    + h; t

    2

    = t

    o

    + 2h; : : : ; t

    k

    = t

    0

    + k

    h

    ; : : :

  • 292 Euatii diferentiale ordinare

    si se presupun unosute valorile solutiei numerie ^n primele noduri ale retelei:

    x

    0

    ; x

    1

    ; x

    2

    ; : : : ; x

    k1

    ;

    preum si valorile derivatelor

    x

    0

    0

    = f(x

    0

    ; t

    0

    ); x

    0

    1

    = f(x

    1

    ; t

    1

    ); : : : ; x

    0

    k1

    = f(x

    k1

    ; t

    k1

    ):

    Pentru obtinerea relatiei de reurenta speia metodelor impliite se integreaza derivata

    solutiei pe un numar de n pasi su

    esivi:

    x^(t

    k

    ) x^(t

    kn

    ) =

    Z

    t

    k

    t

    kn

    x^

    0

    (t)dt: (8.51)

    Folosind o metoda de uadratura numeria, integrala va aproximata printr-o ombinatie

    liniara de valori ale integrandului de pe ultimile p noduri ale retelei de disretizare:

    x

    k

    x

    kn

    = h

    p

    X

    i=1

    b

    i

    x

    0

    ki

    ;

    eea e genereaza relatia de reurenta:

    x

    k

    = x

    kn

    + h[b

    1

    f(x

    k1

    ; t

    k1

    ) + : : :+ b

    p

    f(x

    kp

    ; t

    kp

    ): (8.52)

    Relatia (8.52) poate generalizata sub forma:

    x

    k

    =

    p

    X

    i=1

    (a

    i

    x

    ki

    + b

    i

    hx

    0

    ki

    ); (8.53)

    ^n are trebuie determinati oeientii a

    1

    ; a

    2

    ; : : : ; b

    1

    ; b

    2

    ; : : :. Aesti oeienti, ^n numar

    de 2p, pondereaza valorile solutiei si respetiv ale derivatei aesteia pe ultimii p pasi de

    integrare. Relatia (8.53) pune ^n evidenta araterul expliit al aestei lase de metode.

    Pentru metodele multipas, parametrul p din (8.53) india numarul de pasi ai metodei,

    dar ^n partiular daa se alege p = 1 se obtine pentru a

    1

    = b

    1

    = 1 metoda u un pas, de

    tip Euler expliit.

    Daa ^n aproximarea integralei (8.51) se foloseste inlusiv valoarea integrandului din

    puntul nal t

    k

    , se obtine:

    x

    k

    x

    kn

    = h

    p

    X

    i=0

    b

    i

    x

    0

    ki

    ;

    relatie are poate srisa ^n general, sub forma impliita:

    p

    X

    i=0

    (a

    i

    x

    ki

    + b

    i

    hx

    0

    ki

    ) = 0: (8.54)

  • 8.4. Metode de integrare multipas 293

    Relatia (8.54) generalizeaza relatia (8.53), are se poate obtine prin alegerea a

    0

    =

    1; b

    0

    = 0. Spre deosebire de (8.53), relatia (8.54) ontine un singur termen suplimentar

    x

    0

    k

    = f(x

    k

    ; t

    k

    ).

    Daa se normeaza (8.54), astfel ^na^t a

    0

    = 1, rezulta

    x

    k

    = b

    0

    hf(x

    k

    ; t

    k

    ) +

    p

    X

    i=1

    [a

    i

    x

    ki

    + b

    i

    hf(x

    ki

    ; t

    ki

    ): (8.55)

    Se arata a (8.55) evidentiaza araterul impliit al lasei de metode obtinute. Solutia

    numeria x

    k

    de la pasul k intervine ata^t ^n primul membru a^t si sub funtia f(x; t)

    din membrul doi. Daa f(x; t) este o funtie neliniara, atuni determinarea solutiei

    x

    k

    presupune rezolvarea unui sistem de euatii neliniare (8.55). Apliarea metodelor

    impliite neesita dei un efort de alul sporit fata de ele expliite.

    8.4.1 Metoda expliita Adams-Bashforth

    Metoda Adams-Bashforth se bazeaza pe relatia de reurenta expliita (8.52), ^n are se

    alege n = 1, eea e orespunde alegerii a

    1

    = 1; a

    2

    = 0; a

    3

    = 0 : : : ^n relatia (8.53).

    Coeientii b

    i

    se pot determina prin alulul integralei (8.51) u metoda de extrapolare

    polinomiala de tip Newton, bazata pe diferente regresive.

    ^

    In ontinuare, aesti oeienti

    vor determinati, pentru azul p = 2 (u doi pasi), totusi u metoda seriei Taylor

    trunhiate, pentru a evidentia si ordinul erorii de trunhiere. Alega^nd ^n (8.53) p = 2 si

    a

    2

    = 0, rezulta:

    x

    k

    = a

    i

    x

    k1

    + hb

    1

    x

    0

    k1

    + hb

    2

    x

    0

    k2

    ; (8.56)

    iar pe baza dezvoltarilor Taylor:

    x^(t

    k

    ) = a

    1

    "

    x^(t

    k

    ) hx^

    0

    (t

    k

    ) +

    h

    2

    2

    x^

    0

    (t

    k

    ) +O(h

    3

    )

    #

    +

    +hb

    1

    h

    x^

    0

    (t

    k

    ) hx^

    0

    (t

    k

    ) +O(h

    2

    )

    i

    +

    +hb

    2

    h

    x^

    0

    (t

    k

    ) 2hx^

    0

    (t

    k

    ) +O(h

    3

    )

    i

    : (8.57)

    Identia^nd termenii ^n h

    0

    ; h

    1

    ; h

    2

    , rezulta sistemul:

    2

    6

    4

    1

    0

    0

    3

    7

    5

    =

    2

    6

    4

    1 0 0

    1 1 1

    1

    2

    1 2

    3

    7

    5

    2

    6

    4

    a

    1

    b

    1

    b

    2

    3

    7

    5

    ; (8.58)

    are are solutia a

    1

    = 1; b

    1

    =

    3

    2

    ; b

    2

    =

    1

    2

    , eea e orespunde relatiei de integrare numeria

    Adams-Bashforth u doi pasi:

  • 294 Euatii diferentiale ordinare

    Tabela 8.2: Coeientii metodei Adams-Bashforth

    p i 1 2 3 4 5 6

    1 b

    i

    1

    2 2b

    i

    3 -1

    3 12b

    i

    23 -16 5

    4 24b

    i

    55 -59 37 -9

    5 720b

    i

    1901 -2774 2616 -1274 251

    6 1440b

    i

    4277 -7293 9982 -7298 2877 -475

    x

    k+1

    = x

    k

    +

    h

    2

    [3x

    0

    k

    x

    0

    k1

    : (8.59)

    Relatia (8.57) evidentiaza eroarea loala de trunhiere a metodei u doi pasi, are este de

    tipul O(h

    3

    ). Relatia (8.56) trebuie sa e satisfauta identi de un polinom de gradul doi,

    dei de funtiile x = 1; s; s

    2

    u s = (t t

    k

    )=h. Aeasta este ehivalenta u onditia a

    primii trei termeni ai seriei Taylor sa se anuleze, dei onditiile de interpolare polinomiala

    vor ondue la aeleasi valori (8.59) ale oeientilor.

    ^

    In general se onsidera funtia polinomiala:

    x^(t) = s

    n

    ; x^

    0

    (t) =

    ns

    n1

    h

    ;

    unde s = (t t

    k1

    )=h si n = 1; 2; : : : p, are se substituie ^n x

    k

    = x

    k1

    + h

    P

    p

    i=1

    b

    i

    x

    0

    ki

    si se obtine:

    1 = n

    p

    X

    i=1

    b

    i

    s

    n1

    t=t

    k

    h

    = n

    p

    X

    i=1

    (1 i)

    n1

    b

    i

    : (8.60)

    Coeientii b

    i

    satisfa dei sistemul de euatii:

    2

    6

    6

    6

    6

    6

    6

    6

    6

    4

    1 1 1 1 : : : 1

    0 1 2 3 : : : (p 1)

    0 1 4 9 : : : (p 1)

    2

    0 1 8 27 : : : (p 1)

    3

    : : : : : : : : : : : : : : : : : :

    0 (1)

    p1

    (2)

    p1

    (3)

    p1

    : : : (1 p)

    p1

    3

    7

    7

    7

    7

    7

    7

    7

    7

    5

    2

    6

    6

    6

    6

    6

    6

    6

    6

    4

    b

    1

    b

    2

    b

    3

    b

    4

    : : :

    b

    p

    3

    7

    7

    7

    7

    7

    7

    7

    7

    5

    =

    2

    6

    6

    6

    6

    6

    6

    6

    6

    4

    1

    1=2

    1=3

    1=4

    : : :

    1=p

    3

    7

    7

    7

    7

    7

    7

    7

    7

    5

    ; (8.61)

    are pentru diferite ordine are solutiile din tabelul 8.2:

    Se poate arma a la metoda Adams-Bashforth u p pasi eroarea loala de trunhiere

    satisfae inegalitatea:

    " = jjx(t

    k

    ) x

    k

    jj C

    p

    h

    p+1

    ; (8.62)

  • 8.4. Metode de integrare multipas 295

    dei " = O(h

    p+1

    ) [9,[4, ava^nd ordinul p+ 1, urma^nd a eroarea globala sa aiba ordinul

    egal u numarul de pasi.

    Se onstata a pentru a obtine o omportare a erorii de trunhiere omparabila u

    ea data de metoda Runge-Kutta de ordinul patru, trebuie apliata metoda Adams-

    Bashforth u patru pasi:

    x

    k+1

    = x

    k

    +

    h

    24

    [55f(x

    k

    ; t

    k

    ) 59x

    0

    k1

    + 37x

    0

    k2

    9x

    0

    k3

    ; (8.63)

    eea e presupune o singura evaluare a funtiei f(x; t) ^n puntul (x

    k

    ; t

    k

    ), urma^nd a

    elorlalte trei valori x

    0

    ki

    = f(x

    ki

    ; t

    ki

    ); i = 1; 2; 3 sa fost memorate la pasii anteriori.

    ^

    In onseinta, efortul de alul este de ira patru ori mai mi dea^t la metoda Runge-

    Kutta. Pentru a putea demara, algoritmul generat de (8.63) are nevoie de o initializare,

    are presupune apliarea metodei Runge-Kutta pe primii trei pasi: t

    1

    = t

    0

    +h; t

    2

    = t

    0

    +

    2h; t

    3

    = t

    0

    + 3h, ^n vederea alului valorilor x

    0

    k3

    = f(x

    0

    ; t

    0

    ); x

    0

    k2

    = f(x

    1

    ; t

    1

    ); x

    0

    k1

    =

    f(x

    2

    ; t

    2

    ) si x

    k

    = f(x

    3

    ; t

    3

    ): pentru k = 3.

    8.4.2 Metoda impliita Adams-Moulton

    Metoda Adams-Moulton, ind impliita, se bazeaza pe relatia (8.55), ^n are a si ^n

    azul anterior se alege a

    1

    = 1 si a

    2

    = a

    3

    = : : : = a

    p

    = 0, eea e orespunde alegerii

    n = 1, speie metodelor de tip Adams:

    x

    k

    = x

    k1

    + h

    p

    X

    i=1

    b

    i

    x

    0

    ki

    : (8.64)

    Daa relatia (8.64) este satisfauta identi de un polinom arbitrar de gradul (p + 1),

    atuni eroarea loala de trunhiere are un ordin u o unitate mai mare dea^t gradul

    polinomului O(h

    p+2

    ). Dupa um s-a aratat ^n paragraful anterior, aeasta onditie este

    ehivalenta u anularea primilor (p+2) termeni din seria Taylor asoiata solutiei exate.

    Daa se substituie ^n (8.64) polinoamele:

    x^(t) = s

    n

    ; u n = 1; 2; : : : ; (p + 1);

    se obtine sistemul de euatii satisfaut de b

    i

    :

    p

    X

    i=0

    (1 i)

    n1

    b

    i

    = 1=n; n = 1; 2; : : : ; (p+ 1)

    sau dezvoltat:

    2

    6

    6

    6

    6

    6

    6

    4

    1 1 1 1 : : : 1

    1 0 1 2 : : : (p 1)

    1 0 1 4 : : : (1 p)

    2

    : : : : : : : : : : : : : : : : : :

    1 0 (1)

    p1

    (2)

    p1

    : : : (1 p)

    p1

    3

    7

    7

    7

    7

    7

    7

    5

    2

    6

    6

    6

    6

    6

    6

    6

    4

    b

    0

    b

    1

    b

    2

    .

    .

    .

    b

    p

    3

    7

    7

    7

    7

    7

    7

    7

    5

    =

    2

    6

    6

    6

    6

    6

    6

    6

    4

    1

    1=2

    1=3

    .

    .

    .

    1=(p + 1)

    3

    7

    7

    7

    7

    7

    7

    7

    5

    (8.65)

  • 296 Euatii diferentiale ordinare

    Tabela 8.3: Coeientii metodei Adams-Moulton

    p i= 0 1 2 3 4 5

    0 b

    i

    1

    1 2b

    i

    1 1

    2 12b

    i

    5 8 -1

    3 24b

    i

    9 19 -5 1

    4 720b

    i

    251 646 -264 106 -19

    5 1440b

    i

    475 1427 -798 482 -173 27

    Partiulariza^nd sistemul (8.65) pentru azul p = 1:

    (

    b

    0

    + b

    1

    = 1;

    b

    0

    = 1=2;

    se obtin valorile oeientilor b

    0

    = b

    1

    = 1=2. Relatia de integrare Adams-Moulton u un

    pas:

    x

    k+1

    = x

    k

    +

    h

    2

    [f(x

    k

    ; t

    k

    ) + f(x

    k+1

    ; t

    k+1

    ) (8.66)

    este ehivalenta u metoda trapezelor apliata integralei (8.51). Aeasta varianta a me-

    todei asigura o eroare loala de trunhiere de tipul O(h

    3

    ), dei o omportare mai buna a

    erorii dea^t la metoda Euler impliita, are se obtine formal pentru p = 0 si are neesita

    prati aelasi efort de alul. Metoda trapezelor ind u un singur pas are autostartul

    asigurat, dar neesita rezolvarea la eare pas de timp a euatiei (8.66), ^n vederea de-

    terminarii solutiei x

    k+1

    . Daa se utilizeaza rezolvarea iterativa, atuni se reomanda a

    initializarea sa se faa u valoarea data de metoda Euler expliita. Se onstata ^n aest

    az a prima iteratie are valoarea orespunzatoare metodei Runge-Kutta de ordinul doi

    ^n varianta Heun.

    ^

    In azul metodei impliite u doi pasi (p = 2) se obtine b

    0

    = 5=12; b

    1

    = 8=12; b

    2

    = 1=12,

    eea e orespunde la:

    x

    k+1

    = x

    k

    +

    h

    12

    [5f(x

    k+1

    ; t

    k+1

    ) + 8f(x

    k

    ; t

    k

    ) f(x

    k1

    ; t

    k1

    ); (8.67)

    relatie pe doi pasi are asigura o eroare loala de trunhiere de tipul O(h

    4

    ). Tabelul 8.3

    ontine oeientii metodei Adams-Moulton pa^na la variantele u ini pasi.

    ^

    In metoda Adams-Moulton eroarea loala de trunhiere satisfae inegalitatea:

    " = jjx^(t

    k

    ) x

    k

    jj C

    p

    h

    p+2

    ; (8.68)

  • 8.4. Metode de integrare multipas 297

    dei ordinul metodei impliite este u o unitate mai mare dea^t el al metodei expliite

    u aelasi numar de pasi. Pentru a obtine o omportare a erorii de trunhiere de aelasi

    tip u metoda Runge-Kutta de ordinul patru este suienta apliarea metodei impliite

    u trei pasi:

    x

    k+1

    = x

    k

    +

    h

    24

    [9f(x

    k+1

    ; t

    k+1

    ) + 19x

    0

    k

    5x

    0

    k1

    + x

    0

    k2

    : (8.69)

    Efortul de alul ^n metoda Adams-Moulton este mult mai mare dea^t el din me-

    toda Runge-Kutta, deoaree presupune rezolvarea euatiei (8.69) ^n vederea determinarii

    solutiei numerie x

    k+1

    . Pentru demararea integrarii prin relatia (8.69) este neesara

    apliarea pe primii doi pasi de timp t

    0

    + h; t

    1

    + h a metodei Runge-Kutta ^n vederea

    determinarii funtiilor x

    0

    k2

    = fx

    0

    ; t

    0

    ; x

    0

    k1

    = f(x

    1

    ; t

    1

    ) si x

    0

    k

    = f(x

    2

    ; t

    2

    ):

    O metoda eienta pentru rezolvarea euatiei impliite onsta ^n alulul iterativ al

    solutiei pe baza relatiei (8.69), pornind de la o anumita initializare pentru x

    k+1

    . Su

    esul

    aestei metode depinde de initializare. Daa pentru initializare se foloseste valoarea data

    de o metoda expliita, atuni numarul iteratiilor neesare se poate redue la una sau el

    mult doua. Algoritmul bazat pe folosirea ombinata a metodelor expliite si impliite

    este unosut sub numele \preditor-oretor". Din aest motiv metodele impliite

    se numes metode de oretie. Daa se aplia metoda preditor-oretor u un preditor

    de tip Adams-Bashforth pe trei pasi:

    x

    (k+1)p

    = x

    k

    +

    h

    12

    [23f(x

    k

    ; t

    k

    ) 16x

    0

    k1

    + 5x

    0

    k2

    (8.70)

    si un oretor de tip Adams-Moulton pe aelasi numar de pasi:

    x

    k+1

    = x

    k

    +

    h

    24

    [9f(x

    (k+1)p

    ; t

    k+1

    ) + 19x

    0

    k

    5x

    0

    k1

    + x

    0

    k2

    (8.71)

    se onstata a este neesara evaluarea doar de doua ori a funtiei f(x; t), o data pentru

    preditor si a doua oara pentru oretor (sau el mult de trei ori daa este neesara o

    reiterare), fata de patru ori a^t era neesar ^n metoda Runge-Kutta, pentru asigurarea

    unei erori omparabile. Mai mult, diferenta dintre valoarea prezisa si ea oretata ofera

    o masura sigura a erorii de trunhiere:

    " = jjx

    (k+1)p

    x

    k+1

    jj (8.72)

    ^

    In onseinta se poate arma a metoda preditor-oretor este mai avantajoasa din

    punt de vedere al efortului de alul si al ontrolului erorii dea^t metoda Runge-Kutta.

  • 298 Euatii diferentiale ordinare

    Tabela 8.4: Coeientii metodei Milne

    p i= 0 1 2 3 4 5

    1 b

    i

    0 2

    3 3b

    i

    0 8 -4 8

    5 10b

    i

    0 33 -42 78 -42 11

    2 3b

    i

    1 4 1

    4 45b

    i

    14 64 24 64 14

    8.4.3 Metoda Milne

    Metoda Milne uzuala este o metoda impliita u doi pasi ^n are se alege n = 2, sau

    ehivalent ^n euatia (8.55), a

    1

    = 0; a

    2

    = 1:

    x

    k

    = x

    k2

    + h[b

    0

    x

    0

    k

    + b

    1

    x

    0

    k1

    + b

    2

    x

    0

    k2

    : (8.73)

    Pentru determinarea elor trei oeienti b

    0

    ; b

    1

    ; b

    2

    se impune onditia a relatia (8.73) sa

    e satisfauta identi de un polinom arbitrar de gradul trei. Daa se alege:

    x^(t) = s

    n

    u s = (t t

    k2

    )=2h si n = 1; 2; 3, rezulta prin substitutie ^n (8.73):

    b

    0

    + b

    1

    + b

    2

    = 2

    b

    0

    + b

    1

    =2 = 1

    b

    0

    + b

    1

    =4 = 2=3

    sistem are admite solutia b

    0

    = 1=3; b

    1

    = 4=3, si b

    2

    = 1=3.

    ^

    In onseinta metoda Milne

    se bazeaza pe relatia reursiva:

    x

    k+1

    = x

    k1

    +

    h

    3

    [f(x

    k+1

    ; t

    k+1

    ) + 4x

    0

    k

    + x

    0

    k1

    (8.74)

    si asigura o omportare a erorii de trunhiere de tipul O(h

    4

    ). Metodele de tip Milne

    au pentru oeientii din relatia (8.55) valorile a

    i

    = 0 u i 6= p si a

    p

    = 1. Tabelul

    8.4 ontine valorile oeientilor b

    i

    pentru diferite ordine.

    ^

    In azul metodelor expliite

    ordinele impare 2p

    0

    1 ofera aeeasi eroare a ele pare 2p

    0

    , dei sunt preferabile.

    ^

    In

    azul impliit ordinele pare 2p

    0

    ofera aeeasi eroare a ele de ordin 2p

    0

    + 1, dei sunt

    preferate. [7

    ^

    Inerarea de a onsidera a

    2

    6= 0 ^n metoda expliita (8.53) determina variante instabile

    numeri ale metodelor multipas. De exemplu, daa se presupune p = 2 ^n (8.53) se

    obtine:

    x

    k

    = a

    1

    x