C06_Sisteme_e

download C06_Sisteme_e

of 38

Transcript of C06_Sisteme_e

  • 8/2/2019 C06_Sisteme_e

    1/38

    1

    METODENUM

    ERICENINGINER

    IE

    TUDOR PAUNESCU

    MN4

    6.REZOLVAREAN

    UMERICASISTEM

    ELOR

    GENERALITI DESPRE SISTEME DE ECUAII

    METODE DE REZOLVARE NUMERIC A SISTEMELOR

    BIBLIOGRAFIE

    REZOLVAREA NUMERIC A SISTEMELOR N MATCAD

  • 8/2/2019 C06_Sisteme_e

    2/38

    2

    [MOR04] C. Morariu, T.Punescu. Informatic aplicat n inginerie. Mathcad 2001. Ed. Univ. Bv. 2004.

    [SCH08] E. Scheiber. Analiz numeric. Brasov.

    [POS94] M. Postolache. Metode Numerice. Ed. Sirius, Bucureti, 1994.

    [BEU92] T.Beu. Analiz numeric n Pascal. Ed. Micro inf. Cluj-Napoca. 1992.

    [SAL72] M.G.Salvadori, M.L.Baron. Metode numerice n tehnic. Edit. Tehnic, Bucureti, 1972.

    [LAR89] D.Larionescu. Metode numerice.Ed. Tehnic, Bucureti, 1989.[MAR76] Gh. Marinescu. Probleme de analiz numeric rezolvarte cu calculatorul. Ed. Acad RSR, Bucureti, 1987.

    [DOD76] Gh.Dodescu, M.Toma. Metode de calcul numeric. Ed. did. i pedag. Bucureti, 1976.

    [LIX79] L.Gr. Lixaru. Metode numerice pentru ecuaii difereniale cu aplicaii. Ed. Acad RSR, Bucureti, 1979.

    [MEM80 ] ***, Mic enciclopedie matematic, traducere din limba german. Edit. Tehnic,Bucureti, 1980.

    [DOR76] W.S.Dorn, D.D.Mc.Cracken. Metode numerice cu programe in Fortran IV. Ed.Tehhnica. Buc. 76.

    [HAU53] A.S.Hauseholder. Principles of Numerical Analysis. Mc Graw-Hill, New Zork, 1953.

    [CON80] S.D.Conte- Elementary Numerical Analysis - An Algorithmic Approach, McGraw-Hill 3rd, 1980.

    [PHI96] G. M. M. Phillips, P.J. Taylor. Theory and Applications of Numerical Analysis 2nd ed, Elsevier, 1996

    [HOF01] J.F. Hoffman. Numerical Methods for Engineers and Scientists 2nd ed. Elsevier, 2001.

    [NOC99] J.Nocedad. Numerical Optimization.Springer,1999.

    BIBLIOGRAFIE

  • 8/2/2019 C06_Sisteme_e

    3/38

    3

    1. GENERALITI DESPRE SISTEME DE ECUAII

    Funcie de natura ecuaiilorcomponente sistemele de ecuaii (SE) pot fi liniare (SEL) sau nu (SEN),

    ultimele pot fi algebrice (SEAN) sau transcendente (SET).

    SEAL

    3x+5y=2

    x-4y=8

    SEAN

    x2-x+y2=0

    x2

    -y2

    -y=0

    SET

    ex+y=2

    ey

    -x=3

    b

    cFig. 1a.

  • 8/2/2019 C06_Sisteme_e

    4/38

    4

    Sisteme de ecuaii algebrice liniare

    Un sistem de ecuaii liniare are forma:

    coninndmecuaii cu n necunoscutexk

    n formalism matriceal sistemul se mai poate scrie: A .X = B, unde A este matricea coeficienilor, X

    iB sunt vectorii coloan ai necunoscutelor, respectiv ai termenilor liberi.

    Dac sistemul admite cel puin o soluie este compatibil, n caz contrar incompatibil.

    Dac admite o singursoluie se spune c este compatibil determinaticompatibil nedeterminatdac admite mai multe soluii.

    n

    k

    hkhk bxa

    1

    n...1,km,...1h,

    3x+2y -5z = 2

    4x+y +7z = 0 2x+5y = -7

  • 8/2/2019 C06_Sisteme_e

    5/38

    5

    Regula lui CRAMER(PRE)

    Dac m = ni D0 (determinant nenul) sistemul este compatibil determinat. Soluia sistemului este:

    DDx kk / unde Dkeste determinantul obinut din D prin nlocuirea coloanei k cu B.

    Sub form matriceal soluia se scrie: X = A-1 B.

    Teorema KRONEKER-CAPELLI(PRE)

    A1 este matricea obinut din A prin bordarea la dreapta cu coloana B.

    a. Sistemul este compatibil daci numai dacAiA1 au acelai rangr.

    Dr este determinantul principal, cel care d rangulr al sistemului.b. Dacn=r sistemul este compatibil determinat, se aplic regula Cramer.

    c. Dac r < n sistemul se rezolv ca la b, n prealabil se trec n dreapta necunoscutele secundare.

    Soluia depinde de valorile celor n-r necunoscute secundare, se spune c sistemul are n-rsoluii.

    3x+2y -5z = 2

    4x+y +7z = 0 2x+5y = -7

  • 8/2/2019 C06_Sisteme_e

    6/38

    6

    Fiind dat un sistem liniar de ecuaii,soluiile se pot ncadra n trei categorii: soluieunic (fig. 2a), sistemul

    nu are soluie(fig. 2b), sistemul are o infinitate de soluii (fig. 2c).

    bFig. 2a.

    c

  • 8/2/2019 C06_Sisteme_e

    7/38

    7

    Sisteme de ecuaii algebrice liniare bine i ru condiionate

    Deseori sistemele de ecuaii liniare

    modeleaz fenomene a cror

    caracteristici au fost msurate

    experimental. n aceste situaii apar

    inevitabil erori de msurare a

    caracteristicilor care se reflect asupra

    soluiilor. Dac mici variaii ale

    coeficienilor sistemului au ca efect

    variaii relativ mari ale valorilor

    soluiilorspunem c sistemul este ru

    condiionat.

    Sistemul 2 este ru condiionat

    deoarece la o mic variaie acoeficientului 6.917 la 6.912 variaiile

    valorilor soluiilor sunt mult mai mari.

    Se observ ca acest fapt se datoreaz

    ecuaiilor foarte apropiate. Pt. astfel

    de ecuaii metodele numerice pot da

    erori relativ mari.

    Exemplul 1 Salt la slide 13

  • 8/2/2019 C06_Sisteme_e

    8/38

    8

    Exemple de sisteme liniare perturbate la nivelul vectorului termenilor liberi i la nivelul coeficienilor variabilelor

    Ex.2

    Ex.3

  • 8/2/2019 C06_Sisteme_e

    9/38

    9

    Ex.4

    Fie o matrice nesingulari II II o norm a matricei A.Numrul real

    cond(A) = II A II . II A -1II (0)

    Se numete numr de condiionare (NC) a maricei A. NC este prin definiie maximum posibil al

    mrimii raportului dintre eroarea relativ a soluieii eroarea relativ a termenului liber.

    Daccond(A) este mare atunci sistemul este rucondiionat (este sensibil la mici perturbaii), n caz

    contrar este bine condiionat (este relativ insensibil la mici perturbaii).

    Valori mari ale numrului de condiionareindic faptul c matricea este aproape singular, deci

    precizia de calcul, a soluiilorsistemului de ecuaii algebrice liniare, este slab. Inversa unei matrice

    ptrate care are un numrde condiionare mare este dificil de calculat, este afectat de erori.

  • 8/2/2019 C06_Sisteme_e

    10/38

    10

    (S)

    (S)

    (S)

    (1)

    (1)

  • 8/2/2019 C06_Sisteme_e

    11/38

    11

    Calculul normelor vectorilor i matricelor (S)

    Normele sunt scalari care dau o msur a mrimii elementelor unei matrice sau vector. n biblioteca Mathcad exist patrutipuri de norme care se aplic unor matrice ptrate:- Funcia norm1(A) returneaz norma L1 a matricei A, calculnd cea mai mare sum a modulelor elementelor de pecoloan.

    - Funcianorm2(A)returneaz norma L2 a matricei A, calculeaz cea mai mare valoaresingular a matricei A.- Funcianorme(A)returneaz normaeuclidian a matricei A.- Funcia normi(A) returneaz norma infinit a matricei A, calculnd cea mai mare sum a modulelor elementelor de pelinie.

  • 8/2/2019 C06_Sisteme_e

    12/38

    12

    Exemplul 5(S)

  • 8/2/2019 C06_Sisteme_e

    13/38

    13

    Se observc numerele de condiionare ale matricelor coeficienilorecuaiilor rucondiionate au valori

    mari comparativ cu valorile asociate ecuaiilorbine condiionate.

    Exemplul 6 de calcul a numerelor de condiionare disponibilen biblioteca de funcii Mathcad 14 pentru ex. 1.

    Saltex.1

  • 8/2/2019 C06_Sisteme_e

    14/38

    14

    2. METODE DE REZOLVARE NUMERIC A SISTEMELOR DE ECUAII

    Dup cum s-a amintit n cap.1 metodele de rezolvare a sistemelor de ecuaii liniare sunt directe sau iterative.

    Pe de alt parte sistemele de ecuaii pot fi liniare (SEAL) sau neliniare (SEAN), n particular pentru ultimele

    transcendente (SET).

    Metodele directe permit rezolvarea SE, obinndu-se teoretic o soluie exact, practic una afectat de erorile

    trunchiere, rotunjire ale sistemului de calcul utilizat. n general, metodele directe sunt ineficente pentru

    rezolvarea SE mari, de unde a apruti necesitatea metodelor iterative, care dei n general nu ating soluia

    exact, sunt mult mai eficiente dpdv a efortului de calcul, implementarea lor ntr-un limbaj de programare

    este mult mai simpl.

    Metodele directe urmresc transformarea sistemului ntr-unul echivalent a crui matrice a coeficienilor

    variabilelor este o inferior sau superior triunghiular, uneori unitate, pentru care rezolvarea este banal.

    Exemplu de rezolvare a unui SEAL 3x3 prin metoda eliminrii a lui Gauss

    (4)

  • 8/2/2019 C06_Sisteme_e

    15/38

    15

    n continuare vor fi analizate metodele iterative de rezolvare a SEAL, SEAN i SET.

    2.1. Metode de rezolvare iterativ a sistemelor de ecuaii algebrice liniare

    2.1.1. Metoda iterativ Jacobi (S)[BEU92]

    Fie SEAL la care se presupune c elementele diagonalei

    matricei A sunt nenule.

    Rezolvm prima ecuaie n raport cu x1, pe cea de a doua n

    raport cu x2amd.

    Dac se noteaz cu S=[sij]nn i cu T=[ti]n sistemul 6 poate fiscris sub forma:

    X= T+S.X (7)

    care este structura de baz a procesului iterativ de rezolvarea

    SEAL.

    (5)

    (6)

  • 8/2/2019 C06_Sisteme_e

    16/38

    16

    Etape

    Aproximaia de ordin zero este coloana termenilor liberi X(0) = T.

    Aproximaia de ordin k este construit pe baza relaiei de recuren 7:

    X(k)= T+S.X(k-1) (8)Dac irul X (0), X (1), ... , X (k), ... are o limit care este soluia sistemului 5.

    Relaiile procesului iterativ sunt:

    (9)

    Se noteaz cu diferenele dintre soluii:

    (10)

    Considernd cmatricea diagonal S are elemente -1 relaiile 9 se scriu:

    (11)

  • 8/2/2019 C06_Sisteme_e

    17/38

    17

    Procesul iterativnceteaz cnd eroarea absolutmaxim devine mai mic dect o eroare admisibil,

    sau se poate folosi criteriul erorii relative:(12)

    (13)

    Convergenaiteraiilor

    TeoremDac pentru sistemul redus 9 este satisfcut cel puin una din condiiile:

    (14)

    Atunci procesut iterativ converge ctre o soluieunic, indiferent de alegerea primei aproximaii.

    n practic se utilizeaz metoda Gauss Seidel care are vitez de convergen superiar metodei

    Gauss i n plus necesiti mai puin memorie.

  • 8/2/2019 C06_Sisteme_e

    18/38

    18

    2.1.2. Metoda iterativ Gauss - Seidel (S)[BEU92]

    Metoda GS utilizeaz pentru calculul xi(k)

    aproximaiei de ordin k asoluiei sistemului componentele x1 (k) ... xi-1 (k) spre deosebire de

    metoda Jacobi care utiliza valorile din iteraia anterioar.

    Se folosesc aceleainotaii ca la metoda Jacobi:

    (15)Relaiile cu care se efectueaziteraiile sunt:

    (16)

    Procesul iterativ se poate opri dac se utilizeaz criteriul erorii

    absolute sau relative (12, 13).

    Teorema de convergen (14) i pstraz valabilitatea i pentru

    metoda G-S.

  • 8/2/2019 C06_Sisteme_e

    19/38

    19

    2.2. Metode de rezolvare iterativ a sistemelor de ecuaii neliniare

    Nu exist procedee generale directe de rezolvare a sistemelor de ecuaii neliniare, de aceea se

    utilizeaz aproape exclusiv metodele iterative: Jacobi, Newton, Newton-Kantorovici, gradientului,

    gadientului conjugat, Lovenberg-Marquardt, Gauss-Seidel neliniar.

    (17)

  • 8/2/2019 C06_Sisteme_e

    20/38

    20

    (18)

    (19)

    (20)

    Metoda Newton/tangentelor pentru rezolvarea iterativ a sistemelor de ecuaii neliniare este o generalizare

    a metodei aplicate la rezolvarea ecuaiilorneliniare monovariabile (metoda Newton unidimensional vezi

    C05 Ecuatii).Pentru nceput sconsiderm un sistem de douecuaii cu dou necunoscute (ecuaiile a dousuprafee

    implicite) [LAR89]:

    f(x,y)=0, g(x,y)=0

    derivabile ntr-o anumitvecintate a punctului (x0, y0). Valorile de start ale algoritmului sunt determinate cel

    mai uor n Mathcad prin reprezentarea grafic a celor doufuncii.n primul pas se nlocuiesc cele doufuncii neliniare cu planele tangente n vecintatea punctului iniiali se

    ia ca aproximare urmtoare punctul n care drepta de intersecie a planelor taie planul z=0.

    Ecuaiile planelor tangente n punctul (xk, yk) la suprafeelez=f(x,y), z=g(x,y) (dezvoltri n serie Taylor cu

    reinerea doar a termenilor liniari)sunt:

    S facem z=0 (intersecia planelor tangente cu planul XY) isnotmx-xk=hk, y-yk=rk.

    Se obin astfel relaiile de recuren:

    ),()(),()(),(

    ),()(),()(),(

    ''

    ''

    kkykkkxkkk

    kkykkkxkkk

    yxgyyyxgxxyxgzyxfyyyxfxxyxfz

    kkk

    kkk

    ryy

    hxx

    1

    1

    2.2.1. Metoda Newton de rezolvare iterativ a sistemelor de ecuaii neliniare

  • 8/2/2019 C06_Sisteme_e

    21/38

    21

    Unde xki rksatisfac relaiile (obinute din relaiile 19 pentru z=0 ):

    Sau scrise sub form matriceal:

    Matricea 4x4 este matricea Jacobi a sistemului neliniar:

    Dac nmulim la stnga cu J-1 ecuaia 23, cum J-1J=1 rezult:

    Generaliznd rezult funcia de de iterare sub form vectorial:

    Unde x este vectorul variabilelor, F(x) este matricea Jacobi, f(x) este vectorul funciilor sistemului.

    ),(,,

    ),(,,

    ''

    ''

    kkkkykkkxk

    kkkkykkkxk

    yxgyxgryxgh

    yxfyxfryxfh

    (21)

    (22)

    ),(

    ),(

    ,,

    ,,''

    ''

    kk

    kk

    k

    k

    kkykkx

    kkykkx

    yxg

    yxf

    r

    h

    yxgyxg

    yxfyxf

    kkykkx

    kkykkx

    kk

    kk

    k

    k

    yxgyxg

    yxfyxf

    yxg

    yxf

    r

    hJ

    ,,

    ,,J,

    ),(

    ),(''

    ''

    (23)

    ),(

    ),(1

    kk

    kk

    k

    k

    yxg

    yxfJ

    r

    h(24)

    xfxFxx 1)()( (25)

  • 8/2/2019 C06_Sisteme_e

    22/38

    22

    n consecin irul de iterare are forma:

    Exemplul 7

    Sistemul neliniar este: x=x2+y2, y=x2-y2. Pe lng soluia banal x=y=0 mai exist o soluie real n

    vecintatea punctului P0(0.8, 0.4).

    kkkk xfxFxx

    1

    1 )( (26)

    S-au definit cele dou funcii implicite, a fost introdus ofuncie care calculeaz matricea Jacobi, s-au calculatnumerele de condiionare ale funciiilor liniarizate n

    vecintateasoluiei nebanale, determinate grafic.

    Exemplul 7.1

  • 8/2/2019 C06_Sisteme_e

    23/38

    23

    Exemplul 7.2Exemplul 7.1 continuare

    Exemplul 7.2 are o generalitate mai mare decit cel din 7.1 in program a fostinclusa definirea matricei Jacobi si numele a doua functii oarecare f1, f2 caparametri formali.

  • 8/2/2019 C06_Sisteme_e

    24/38

    24

    (P) Scriei un program care s rezolve prin

    metoda Newton sisteme cu oricte ecuaii

    neliniare

    Exemplul 7.3

  • 8/2/2019 C06_Sisteme_e

    25/38

    25

    (PRE)

  • 8/2/2019 C06_Sisteme_e

    26/38

    26

  • 8/2/2019 C06_Sisteme_e

    27/38

    27

    2.2.2. Metoda de rezolvare iterativ a sistemelor de ecuaii neliniare (S)

    Se consider sisteme de douecuaii cu dou necunoscute.

    Teoria este identic cu cea a ecuaiilordac se nlocuieste R cu R2i valoarea absolut n R cu norma n R2.

    0),(

    0),(

    2

    1

    yxf

    yxf

    ).,(

    ),(

    2

    1

    yxfyy

    yxfxx

    (27)

    (28)

    Lund Dyx ),(00

    :

    ).,(

    ),(

    00201

    00101

    yxfyy

    yxfxx

    iternd(29)

    ).,(),(

    ),(),(

    221

    111

    nnnnnn

    nnnnnn

    yxgyxfyy

    yxgyxfxx

    Sub form matriceal ),( yxX ))(),(()( 21 XfXfXF ))(),(()( 21 XgXgXG )()(1 nnnn XGXFXX (30)

    22 yxX cu norma

  • 8/2/2019 C06_Sisteme_e

    28/38

    28

    3. REZOLVAREA NUMERIC A SISTEMELOR N MATCAD

    3.1. REZOLVAREA SISTEMELOR ALGEBRICE LINIARE N MATCAD

    REZOLVAREA SISTEMELOR

    ALGEBRICE LINIARE N

    MATCAD

    Rezolvare prin

    metode directe

    Rezolvare prin

    metode iterative

    Matricea invers

    Funcia lsolve

    Solve block

    funciile findi minner

  • 8/2/2019 C06_Sisteme_e

    29/38

    29

    Funcia lsolve

    Exemplul 8

    Observaii

    1. Coeficienii matricei A pot fi reali sau imginari

    2. Verificai nainte de rezolvarea sistemului dac

    acesta este bine sau ru condiionat prin calculul

    numrului de condiionare(funciile cond1, cond2

    etc)

    Exemplul 9

    Sistemul din exemplul 8 poate fi rezolvat i direct

    prin introducerea n placeholder-ele funciei lsolve

    a matricelor A i b.

    Funcia Mathcad lsolve folosete o decompoziie LU i algoritmul Crout.

  • 8/2/2019 C06_Sisteme_e

    30/38

    30

    Exemplul 10

    Sistemele liniare algebrice pot fi rezolvate i prin metodele iterative

    permise de solve block

    3.2. REZOLVAREA SISTEMELOR NELINIARE N MATCAD

    Se utilizeaz notaiile folosite n relaia 17.

    (31)I xixi-1I < TOL

  • 8/2/2019 C06_Sisteme_e

    31/38

    31

    (32)

    Aceast eroare poate fi afiat utilizndu-se variabila predefinit ERR

    DAC FUNCIA Find NU CONVERGE SPRE O SOLUIE SE POATE NCERCA CU FUNCIA minner CARE

    ESTE POSIBIL S GSEASC UN REZULTAT APROXIMATIV

  • 8/2/2019 C06_Sisteme_e

    32/38

    32

    La clic dreapta pe numele funciei Find apare meniul din figura 3. Dac este bifat

    opiuneaAutoSelect (implicit bifat) sistemul identific natura sistemului de ecuaii (liniar,

    neliniar) i aplic mai muli algoritmi pn gsete unul s converg (succesiunea este

    Levenberg-Marquardt Conjugate Gradient Quasi-Newton). Este posibil ca nici un

    algoritm sreueascsgsesc o soluieaproximativ a sistemului de ecuaii.

    Productorul indic faptul c uzual se lucreaz cu opiunea de autoselectare, dar esteposibili selectarea direct a unuia din cei trei algoritmi amintii (fig. 4). n acestvariant

    pentru algoritmii Conjugate Gradient i Quasi-Newton este posibil s fie setai i ali

    parametri (fig. 5), pentru amnunte vezi [MOR04] pg. 209.

    Blocul solve poate rezolva sisteme cu 400 de variabile reale dac se utilizeaz metodele

    Quasi-Newton sau Conjugate-Gradient. Dac se lucreaz n complex Mathcad consider

    partea imaginari cea real ca variabile separate deci limita se njumtete. n cazul

    algoritmului Levenberg-Marquardt numrul de variabile este limitat doar de memoria

    disponibil a calculatorului. Sistemele liniare pot avea maximum 8192 de restricii, cele

    neliniare 200.

    Dup cum s-a mai amintit algoritmul curent se opretedac dousoluii succesive difer

    cu mai puin de valoarea constantei predefinite TOL sau dac se atinge numrul maxim de

    iteraii. Nu se recomant setarea TOL cu valori prea mici 10 -10 ... 10 -15 din cauza erorilor

    de rotunjire.

    Fig.3

    Fig.4

    Fig.5

  • 8/2/2019 C06_Sisteme_e

    33/38

    33

    n cazul sistemelor de ecuaii, spre deosebire de TOL care controleaz procesul iterativ prin diferenele a dou soluii

    succesive, prin CTOL Constraint - TOLerance), n general, sunt controlate restriciile asociate Given, n particular pentru

    sisteme liniare, restriciile egalitate AX=b.

    Dacinegalitile dintr-un bloc solve au forma:

    h(t) < ct

    Mathcad evalueazdiferena dintre membrul stng i membrul drept al inegalitii, iar precizia de rezolvare este considerat

    corespunztoaredac:

    h(sol) ct < CTOL (33)

    unde cu sol a fost notatsoluia.

    Mesaje de eroare asociate funciilorfiindiminner

  • 8/2/2019 C06_Sisteme_e

    34/38

    34

    Valoarea variabilelor globale predefinite TOL iCTOL poate fi modificat n dou moduri:

    - direct n foia de lucru: de exemplu TOL:=10 -6;

    -prin meniul Tools WorksheetOptions tab-ul Built-in Variables.

    Exemplul 11 [MOR04]

    Etapa 1

    Etapa 2

    Dac sistemul de ecuaii neliniareare mai multe soluii, blocul solve

    trebuie utilizat de mai multe ori

  • 8/2/2019 C06_Sisteme_e

    35/38

    35

    Exemplul 12 Exemplul 13

    Sistemul de la exemplul 11 rezolvat simbolic Sistem cu soluii complexe

  • 8/2/2019 C06_Sisteme_e

    36/38

    36

    Exemplul 14

    Sistem parametrizat, parametru a

    Exemplul 15

    O alternativ la rezolvarea ecuaiilor prin funciarooteste utilizarea funciilorFindsau minner

    Exemplul 16

    Rezolvarea simbolic a ecuaieipropuse la exemplul 15

    VECTORIZARE

    continuare

  • 8/2/2019 C06_Sisteme_e

    37/38

    37

    continuare

    Solutii obtinute din rulari succesive

    Exemplul 17

  • 8/2/2019 C06_Sisteme_e

    38/38

    38

    Exemplul 18

    Rezolvarea ecuaiilor matriceale [MOR04]