Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

download Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

of 14

Transcript of Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    1/14

     METODE MUMERICE – LUCRĂRI DE LABORATOR  #05

    63 

    LUCRAREA #05

     REZOLVAREA NUMERICĂ A ECUAŢIIILOR ALGEBRICE

    REZUMATUL ŞI SCOPUL LUCRĂRII

    În această lucrare de laborator se prezintă o serie de metode pentru rezolvareaecuaţiilor algebrice, polinomiale şi transcendente. 

    Există multe metode special concepute pentru a rezolva ecuaţii algebrice. Metodele de găsire a soluţiei sunt de obicei metode iterative. Aceste metode

    furnizează un şir de aproximaţii, care tinde la x*, în anumite condiţii. O metodă iterativă presupune 3 aspecte importante: 

      Alegerea unei condiţii iniţiale pentru soluţia ecuaţiei;   Relaţia de iteraţie ce stă la baza calculului şirului de aproximaţii;   Condiţii de oprire a procesului iterativ de calcul. 

    Lucrarea are drept scop elaborarea unor funcţii MatLab pentru metodelerezolvare a ecuaţiilor algebrice şi transcendente:

      metoda înjumătăţirii intervalului (metoda bisecţiei);   metoda falsei poziţii;   metoda lui Newton (metoda tangentei);

      metoda secantei.

    Însuşirea metodelor se va face pe exemple concrete de ecuaţii prin realizareaaplicaţiilor specifice.

    Pentru ecuaţiile polinomiale se prezintă funcţiile predefinite în MatLab, care se potaplica direct.

    CUPRINSUL LUCRĂRII 

    1. Consideraţii introductive 2. Metoda înjumătăţirii intervalului (metoda bisecţiei) 3. Metoda falsei poziţii4. Metoda Newton-Raphson (metoda tangentei)5. Metoda secantei6. Rezolvarea ecuaţiilor polinomiale 7. Aplicaţii de laborator 

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    2/14

     #05 Rezolvarea numerică a ecuaţiilor algebrice 

    64

    1. Consideraţii introductive 

    Se consideră f(x)=0, cu x[a,b]., în care f(x) este o funcţie continuă, f(x):[a,b] →R. Se presupune că ecuaţia admite o soluţie reală x*, izolată pe acest interval şi se

    doreşte găsirea ei. Dacă f(x) ar fi o funcţie liniară, problema este banală şi admite o soluţie analitică. Să presupunem că f(x) este neliniară. Dacă f este un polinom, atunci ecuaţia se

    numeşte polinomială, dacă nu, ecuaţia se numeşte transcendentă. Metodele de găsire a soluţiei sunt de obicei metode iterative. Aceste metode

    furnizează un şir de aproximaţii, care tinde la x*, în anumite condiţii. O metodă iterativă presupune 3 aspecte importante:

      Alegerea unei condiţii iniţiale pentru soluţia ecuaţiei;   Relaţia de iteraţie ce stă la baza calculului şirului de aproximaţii;  

    Condiţii de oprire a procesului iterativ de calcul. Se vor studia 4 metode iterative de rezolvare a ecuaţiilor şi anume: 1.  Metoda bisecţiei sau metoda înjumătăţirii intervalului; 2.  Metoda falsei poziţii; 3.  Metoda lui Newton sau metoda tangentei.4.  Metoda secantei

    2. Metoda înjumătăţirii intervalului (metoda bisecţiei) 

    Se consideră ecuaţia f(x)=0, f  : R →R continuă. Să presupunem că s-a găsit uninterval [a,b] R, pentru care: ( ) ( ) 0 f a f b , adică, există cel puţin o soluţie în acestinterval.

    Găsirea acesteia folosind metoda bisecţiei presupune aproximarea succesivă a

    rădăcinii ecuaţiei prin mijlocul intervalului [a,b] prin2

    a b x

      (fig. 5.1).

    Dacă f(x)=0, atunci x este rădăcină pentru ecuaţie. În caz contrar, se calculeazăprodusul f(a)f(x). Dacă acesta este negativ atunci rădăcina se află în continuare înintervalul [a,x], altfel rădăcina se găseşte în cealaltă jumătate a intervalului iniţial [x,b].Calculele se reiau pentru noul interval.

    Metoda este simplă şi necesită doar o evaluare de funcţie pentru fiecare iteraţie. 

    Să studiem cele 3 aspecte importante:a)  condiţii iniţiale: se calculează f(a) şi f(b) in eventualitatea că a sau b sunt

    soluţii ale ecuaţiei.b)  Relaţia de iteraţie: la fiecare pas soluţia se aproximează cu jumătatea

    intervalului rămas la pasul anterior, adică2

    i i

    i

    a b x

        (5.1)

    c)  Condiţii de oprire a procesului: b a tol  sau ( ) f x tol  pentru x [a,b].

    Variabila tol  reprezintă toleranţa cu care se calculează soluţia ecuaţiei.

    Sfârşitul procesului se poate face şi la depăşirea unui număr maxim deiteraţii. Calculul numărului maxim de iteraţii se face astfel: după un număr

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    3/14

     METODE MUMERICE – LUCRĂRI DE LABORATOR  #05

    65 

    m de iteraţii, intervalul de căutare devine( )

    2mb a

    . Numărul de iteraţii va fi

    dat de relaţia:( )

    2mb a

    tol

    . În acest fel rezultă:

    2 ( )log   b am tol

     

      (5.2)

    a=a0

    b=b0x0f(x)

    f(a)=f(a0)

    f(b)=f(b0)

    0 00 2

    a b x

     

    a1

    b1

    x1

    f(a1)

    f(b1)

    1 11 2

    a b x

     

    y

    x

    f(x0)*f(a0)

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    4/14

     #05 Rezolvarea numerică a ecuaţiilor algebrice 

    66

    atunci Exit

    sfarsit daca

    5: Calculează sol=(a+b)/2 err=abs(b-a)

    val=f(c)

    6: afişează valorile obţinute 

    Rezolvarea în MatLab:În cele ce urmează se propune o soluţie de implementare a metodei bisecţiei în

    limbajul de programare MatLab.Pentru a avea generalitate, adică pentru a putea fi folosit la orice ecuaţie algebrică,

    se implementează, după algoritmul de mai sus, o funcţie care poate fi adăugată celorlaltefuncţii MatLab. Se mai face încă o data observaţia, ca pentru a funcţiona, aceasta trebuiesalvată într-un folder, a cărui cale a fost setată cu opţiunea Set path....

    Codul de program MatLab pentru metoda bisecţiei poate fi următorul; acesta afost scris folosind multe comentarii pentru a putea fi înţeles mai uşor. 

    f unct i on [ sol ut i e, val , eroare]=mbi sect( f , a, b, t ol )echo of f ;%f unct i e pent r u r ezol var ea ecuat i i l or al gebr i ce pr i n met oda bi sect i ei%sau met oda i nj umat at i r i i i nt er val ul ui% I nt r ar i% f numel e f uncti ei descr i sa i nt r - un f i si er f uncti e% a l i mi t a st anga a i nt er val ul ui% b l i mi t a dr eapt a a i nt er val ul ui% t ol t ot er ant a de cacl ul% I esi r i% sol ut i e Sol ut i a ecuat i ei pe i nt erval ul stabi l i t% val Val oar ea f uncti ei i n "sol ut i e"

    % er oar e Er oarea est i mat a pent r u sol ut i eya=f eval ( f , a) ;yb=f eval ( f , b) ;i f ya*yb0b=sol ut i e;yb=val ;

    el sea=sol ut i e;ya=val ;

    endi f b- a

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    5/14

     METODE MUMERICE – LUCRĂRI DE LABORATOR  #05

    67 

    sol ut i e=( a+b) / 2;val =f eval ( f , sol ut i e) ;er oar e=abs( b- a) / 2;

    O dată scrisă şi salvată într-o cale definită, funcţia poate fi apelată pentru diverse

    ecuaţii şi pentru diverse intervale.

    Practic, pentru a calcula soluţiile unei ecuaţii folosind această metodă, respectivaceastă funcţie definită mai sus, se parcurg următoarele etape: 

    1. se defineşte într-un fişier function, funcţia matematică ce defineşte ecuaţia; 2. se reprezintă grafic funcţia, până când se descoperă intervalele pe care ecuaţia

    are soluţii izolate. Citirea acestor date se poate face interactiv folosind funcţia MatLab ginput;

    3. se apelează funcţia mbisect  de tot atâtea ori, câte intervale s-au descoperit lapasul anterior.

    Exemplul 5.1. Să se rezolve ecuaţia 3 3 1 0 x x .Se defineşte un fişier funcţie cu următorul conţinut: 

    f unct i on y = ex5_1( x)y = x. 3̂- 3*x+1 

    Se reprezintă grafic funcţia folosind funcţia fplot, astfel:

    f pl ot ( ‘ ex5_1’ , [ - 2, 2] )gri d

    Rezultă graficul din figura 5.2.

    -2 -1. 5 -1 -0. 5 0 0. 5 1 1. 5 2

    -1

    -0.5

    0

    0.5

    1

    1.5

    2

    2.5

    3

     Fig. 5. 2 Reprezentarea grafică a funcţiei din exemplul 5.1. 

    De pe grafic se observă că ecuaţia prezintă soluţii pe intervalele [-2;-1,5], [0;0,5],

    [1,5;2].Deci se aplică funcţia mbisect de 3 ori astfel:

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    6/14

     #05 Rezolvarea numerică a ecuaţiilor algebrice 

    68

    [ sol ut i e1, val 1, er oar e1] =mbi sect ( ' ex5_1' , - 2, - 1. 5, 0. 0001)[ sol ut i e2, val 2, er oar e2] =mbi sect ( ' ex5_1' , 0, 0. 5, 0. 0001)[ sol ut i e3, val 3, er oar e3] =mbi sect ( ' ex5_1' , 1. 5, 2, 0. 0001)

    rezultând soluţiile şi erorile de calcul: 

    sout i e1 =- 1. 8794

    val 1 =1. 6125e- 004

    er oar e1 =3. 0518e- 005

    sol ut i e2 =0. 3473

    val 2 =- 6. 3846e- 005

    er oar e2 =

    3. 0518e- 005

    sol ut i e3 =1. 5321

    val 3 =- 6. 0270e- 005

    er oar e3 =3. 0518e- 005

    Se vor scrie astfel de funcţii pentru diferite ecuaţii şi se vor experimenta la ora delaborator.

    În Matlab este, de asemenea,  implementată pentru ecuaţii de forma f(x)=0 o variantă ametodei bisecţiei prin funcţia  fzero, cu sintaxa următoare (în forma cea mai simplă): 

    x = f zer o( ’ f unct ’ , x0)x = f zer o( ’ f unct ’ , x0, t ol )x = f zer o( ’ f unct ’ , x0, t ol , t r ace)

    unde funct reprezintă numele dat de utilizator funcţiei f(x) a cărei expresie poatefi particular transcendentă, x0  este o aproximare iniţială a soluţiei ecuaţiei, x reprezintăsoluţia de aproximare a ecuaţiei dată de funcţia Matlab, tol toleranţa de calcul, iar variabilatrace controlează afişarea rezultatelor intermediare pe ecran. 

    Exemplul 5.2. Să se rezolve ecuaţia sin( ) 3 xe x  .Se defineşte fişierul function cu definiţia ecuaţiei astfel: 

    f unct i on y1=ex5_2(x)y1=exp( x) - si n( pi *x) - 3 

    Se reprezintă grafic funcţia cu: 

    f pl ot ( ' ex5_2' , [ 0. 5, 1. 5])

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    7/14

     METODE MUMERICE – LUCRĂRI DE LABORATOR  #05

    69 

    0. 5 0. 6 0.7 0.8 0. 9 1 1. 1 1. 2 1.3 1. 4 1.5-2.5

    -2

    -1.5

    -1

    -0.5

    0

    0.5

    1

    1.5

    2

    2.5

     Fig. 5. 3 Reprezentarea grafică a funcţiei din exemplul 5.2.

    Se observă că soluţia se află în intervalul [1;1,1]. Oricare din aceste două valoripoate fi folosită pentru a afla soluţia ecuaţiei cu funcţia fzero: 

    x=f zer o( ' ex5_2' , 1)x =

    1. 0476

    Rezultatele pentru apelarea funcţiei cu celelalte două sintaxe se vor vizualiza încadrul orei de laborator.

    3. Metoda falsei poziţii 

    Se consideră ecuaţia f(x)=0, f:R →R continua şi presupunem că s-a găsit un interval[a,b] R, pentru care: ( ) ( ) 0 f a f b , adică, există cel puţin o soluţie în acest interval. 

    Metoda calculului  rădăcinii aproximative se face prin interpolarea liniară afuncţiei f (x) cunoscând 2 puncte (a, f (a)) şi (b, f (b)).

    Cu alte cuvinte se împarte intervalul în două părţi prin intersecţia lui cudreapta ce trece prin punctele specificate mai sus (fig. 5.4).

    Avem în acest caz: ( )( ) ( )

    i i i

    i i i i

     x a f ab a f b f a

    , de unde rezultă formula de iteraţie:

    ( ) ( )

    ( ) ( )i i i i

    i

    i i

    a f b b f a x

     f b f a

      (5.3)

    Concluzionând, se poate observa că regula falsei poziţii este asemănătoare curegula bisecţiei, prin împărţirea intervalului în 2 subintervale, pentru care punctul de

     împărţire se calculează cu relaţia de mai sus şi păstrarea subintrevalului pentru carefuncţia schimbă semnul. După fiecare partiţionare a intervalului se reactualizează nunumai capetele intervalului, ci şi valorile corespunzătoare ale funcţiei, f (ai) şi f (bi).

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    8/14

     #05 Rezolvarea numerică a ecuaţiilor algebrice 

    70

    La final se va obţine un şir de aproximaţii ale soluţiei ecuaţiei, care converge cătresoluţia exactă a ecuaţiei. 

    y

    xai

    bi

    f(ai)

    f(bi)

    f(x)

    xi

    f(xi)

     Fig. 5. 4 Împărţirea intervalului de căutare la metoda falsei poziţii 

    Să studiem şi în acest caz cele 3 aspecte importante: a)  condiţii iniţiale: se calculează f(a) şi f(b) in eventualitatea că a sau b sunt

    soluţii ale ecuaţiei.b)  Relaţia de iteraţie: la fiecare pas soluţia se aproximează cu

    ( ) ( )

    ( ) ( )i i i i

    i

    i i

    a f b b f a x

     f b f a

     

    c)  Condiţii de oprire a procesului: în ipoteza unei toleranţe de calcul tol  se

    consideră că 1n x  este o soluţie a ecuaţiei dacă 1n n x x tol    sau 1( )n f x tol    

    pentru x[a,b].

    După cele spuse mai sus se poate construi algoritmul de rezolvare al unei ecuaţiicu metoda falsei poziţii, folosind algoritmul descris la metoda bisecţiei. Acest lucrurămâne ca exerciţiu pentru studenţi. 

    4. Metoda Newton-Raphson (metoda tangentei)

    Se consideră ecuaţia f(x)=0, f  : R →R continua şi presupunem că s-a găsit uninterval [a,b] R, pentru care: ( ) ( ) 0 f a f b , adică, există cel puţin o soluţie în acestinterval.

    Ipotezele pentru funcţia f(x) sunt următoarele:   f este continuă pe intervalul [a,b];   f este derivabilă de 2 ori pe intervalul [a,b] şi derivata a doua păstrează

    semn constant pe [a,b];

      derivata I nu se anulează pe intervalul specificat. Metoda constă în aproximarea soluţiei ecuaţiei cu punctul de intersecţie al

    tangentei la curba graficului, în punctele corespunzătoare soluţiei anterioare, cu axa Ox(fig. 5.5).

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    9/14

     METODE MUMERICE – LUCRĂRI DE LABORATOR  #05

    71 

    y

    xx

    ...xn-1 xi x0

    f(x0)

    f(xi)

    f(xn-1)

    ...

     Fig. 5. 5 Metoda lui Newton 

    Metoda este cea mai eficientă datorită convergenţei rapide a şirului de aproximaţiicătre soluţia ecuaţiei. 

    Să studiem şi în acest caz cele 3 aspecte importante: a)  condiţii iniţiale: este nevoie să se aleagă o soluţie iniţială a ecuaţiei. O bună

    metodă ar fi alegerea lui x0  astfel încât: 0''( ) ( ) 0 f x f x , pentru x0 [a,b].Pentru uşurinţă se alege unul din capetele intervalului, care respectă această

    relaţie;b)  Relaţia de iteraţie: la fiecare pas soluţia se aproximează cu

    1

    ( )

    '( )i

    i i

    i

     f x x x

     f x     (5.4)

    c)  Condiţii de oprire a procesului: în ipoteza unei toleranţe de calcul tol  seconsideră că 1n x  este o soluţie a ecuaţiei dacă 1n n x x tol   . De asemenea, se

    impune un număr maxim de iteraţii, iar funcţia ar trebui să spună dacăcondiţia de mai sus este îndeplinită după depăşirea numărului de iteraţii.

    Avantajele metodei constau în evaluarea funcţiei într-un singur punct şi eficienţa

    ei şi convergenţa rapidă spre soluţia ecuaţiei. Metoda are şi dezavantaje: necesită cunoaşterea în prealabil a derivatei I a funcţieişi rezultatele sunt eficiente doar pentru o aproximaţie iniţială x0 foarte apropiată de soluţiaexactă a ecuaţiei, altfel se poate întâmpla ca între soluţia exactă şi x0 funcţia să prezinte unpunct de extrem, caz în care se întrerupe şirul de calcule. De asemenea din condiţiainiţială, ar trebui să se cunoască chiar şi derivata a II-a.

    Să scriem, conform celor spuse mai sus algoritmul metodei lui Newton:

    Date de intrare:

    a, b unul din capetele intervalului, care va fi prima aproximaţie f – funcţia continuă şi derivabilă de 2 ori 

    f’ – prima derivateă tol – pr ecizia determinării soluţiei nr_iteraţii – numărul de iteraţii 

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    10/14

     #05 Rezolvarea numerică a ecuaţiilor algebrice 

    72

    Date de ieşire: soluţie – soluţia ecuaţiei val – valoarea funcţiei în “soluţie”  eroare – eroarea de calcul

    nr_it – numărul de iteraţii după care s-a găsit soluţia 

     pentru i=1 până la max_iteratii Calculează xi=x i-1-f(x i-1)/f’(x i-1)dacă abs(x i-x i-1)

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    11/14

     METODE MUMERICE – LUCRĂRI DE LABORATOR  #05

    73 

    f unct i on y1 = ex5_3_1( x)y1 = x. 3̂- 3*x+1

    f unct i on y2 = ex5_3_2( x)y2 = 3*x. 2̂- 3

    f unct i on y3 = ex5_3_3( x)y3 = 6*x

    Graficul funcţiei este cel din fig.  5.2. Deci, intervalele de căutare sunt cele de pegraficul respectiv.

    Apelul funcţiei se face astfel: 

    [ sol ut i e1, val 1, er oar e1, nr _i t 1] =mnewt on( ' ex5_3_1' , ’ ex5_3_2’ , - 1. 5, 20, 0. 0001)[ sol ut i e2, val 2, er oar e2, nr _i t 2] =mnewt on( ' ex5_3_1' , ’ ex5_3_2’ , 0. 5, 20, 0. 0001)[ sol ut i e3, val 3, er oar e3, nr _i t 3] =mnewt on( ' ex5_3_1' , ’ ex5_3_2’ , 1. 5, 20, 0. 0001)

    sol ut i e1 =- 1. 8794val 1 =- 3. 9968e- 014

    eroare1 =8. 3097e- 008

    nr _i t 1 =5

    sol ut i e2 =0. 3473

    val 2 =5. 7248e- 009

    eroare2 =7. 4131e- 005

    nr _i t 2 =3

    sol ut i e3 =1. 5321

    val 3 =1. 4189e- 011

    eroare3 =1. 7570e- 006

    nr _i t 3 =3

    Comparaţi rezultatele obţinute cu metoda newton şi metoda bisecţiei. 

    5. Metoda secantei

    Se consideră ecuaţia f(x)=0, f:R →R continua şi presupunem că s-a găsit un interval[a,b] R, pentru care: ( ) ( ) 0 f a f b , adică, există cel puţin o soluţie în acest interval. 

    Ipotezele pentru funcţia f(x) sunt următoarele:   f este continuă pe intervalul [a,b];   f este derivabilă de 2 ori pe intervalul [a,b] şi derivata a doua păstrează

    semn constant pe [a,b];

      derivata I nu se anulează pe intervalul specificat. 

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    12/14

     #05 Rezolvarea numerică a ecuaţiilor algebrice 

    74

    Metoda secantei este asemănătoare cu metoda lui Newton, cu deosebirea că primaderivată a funcţiei este aproximată cu diferenţe finite. Vom vedea în continuare acestlucru.

    Să studiem şi în acest caz cele 3 aspecte importante: a)  condiţii iniţiale: este nevoie să se aleagă o soluţie iniţială a ecuaţiei. Ca şi la

    metoda lui Newton, o bună metodă ar fi alegerea lui x0  astfel încât:

    0''( ) ( ) 0 f x f x , pentru x0[a,b]. Pentru uşurinţă se alege unul din capeteleintervalului, care respectă această relaţie;

    b)  Relaţia de iteraţie: la fiecare pas soluţia se aproximează cu

    1 00

    ( )( )

    ( ) ( )i

    i i n

    i

     f x x x x x

     f x f x  

      (5.5)

    c)  Condiţii de oprire a procesului: în ipoteza unei toleranţe de calcul tol  seconsideră că 1n x  este o soluţie a ecuaţiei dacă 1n n x x tol   . De asemenea, se

    impune un număr maxim de iteraţii, iar funcţia ar trebui să spună dacăcondiţia de mai sus este îndeplinită după depăşirea numărului de iteraţii.

    Din compararea relaţiilor de iterare al celor două metode se obţine: 

    00

    ( ) ( )( )

    '( ) ( ) ( )i i

    i i i

    i i

     f x f x x x x x

     f x f x f x

      (5.6)

    de unde rezultă că aproximarea cu diferenţe finite a derivatei este:

    0

    0

    ( ) ( )'( )

    ( )

    ii

    i

     f x f x f x

     x x

      (5.7)

    Deci, se poate spune că metoda secantei are marele avantaj că nu trebuie ştiută dela început care este derivata I a funcţiei, aceasta fiind exprimată prin relaţia de mai sus. 

    Se va scrie algoritmul de rezolvare în MatLab folosind algoritmul descris la

    metoda lui Newton.

    6. Rezolvarea ecuaţiilor polinomiale 

    Dacă în particular funcţia f(x) este un polinom de gradul n, de forma: 1

    1 1 0( ) ...n n

    n n f x a x a x a x a   (5.8)

    atunci rezolvarea ecuaţiei f(x)=0 este mult mai simplă, pentru că MatLab arepredefinită o funcţie în acest scop: roots.

    Funcţia roots, poate fi apelată cu sintaxa: 

    r = roots( c )

    unde c reprezintă un vector care conţine coeficienţii polinomului în ordinedescrescătoare a puterilor variabilei, adică: 

    c=[an an-1 ... a1 a0]

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    13/14

     METODE MUMERICE – LUCRĂRI DE LABORATOR  #05

    75 

    Exemplu 5.4. Să se determine rădăcinile ecuaţiei polinomiale: 8 5 4 23 10 3 0 x x x x .

    Vectorul coeficienţilor este: c=[1 0 0 1 3 0-10 0 -3].

    » c=[ 1 0 0 1 3 0 - 10 0 - 3]c =

    1 0 0 1 3 0 - 10 0 - 3» r =r oot s( c)r =

    0. 9409 + 1. 3396i0. 9409 - 1. 3396i

    - 0. 8786 + 1. 1968i- 0. 8786 - 1. 1968i- 1. 42261. 2915

    0. 0033 + 0. 5257i0. 0033 - 0. 5257i

    Mai mult, MatLab mai are predefinită o funcţie, poly, prin intermediul căreia se potdetermina coeficienţii unei ecuaţii polinomiale, dacă se cunosc rădăcinile acesteia. 

    Sintaxa de apelare:

    c = poly ( r )

    Roots şi poly sunt funcţii inverse. 

    Se verifică exemplul de mai sus:

    » c=pol y( r )c =

    Col umns 1 t hrough 71. 0000 - 0. 0000 0. 0000 1. 0000 3. 0000 - 0. 0000 - 10. 0000

    Col umns 8 t hrough 9- 0. 0000 -3. 0000

    7. Aplicaţii de laborator 

    Aplicaţia 5.1. Să se rezolve ecuaţia cos(x)-x=0, folosind metodele descrise.

    Indicaţii: Se scrie un fişier funcţie, care conţine definiţia funcţiei: 

    f unct i on y = apl i c5_1( x)y = cos( x) - x 

    Se reprezintă grafic funcţia folosind funcţia fplot, astfel:

    f pl ot ( ‘ apl i c5_1’ , [ - 2, 2] )gri d

    Rezultă graficul din figura 5.6.

  • 8/17/2019 Lucrarea 05 - Rezolvarea Numerica a Ecuatiilor Algebrice

    14/14

     #05 Rezolvarea numerică a ecuaţiilor algebrice 

    76

    -2 -1.5 -1 -0. 5 0 0. 5 1 1. 5 2

    -2.5

    -2

    -1.5

    -1

    -0.5

    0

    0.5

    1

    1.5

    2

     Fig. 5. 6 Reprezentarea grafică a funcţiei din aplicaţia 5.1.

    Se observă că ecuaţia admite o soluţie pe intervalul [0,5;1]. Deci, se apelează funcţia mbisectastfel:

    [ sol ut i e, val , er oar e] =mbi sect( ' apl i c5_1' , 0. 5, 1, 0. 0001)

    Care generează următorul rezultat: 

    sol ut i e =0. 7391

    val =- 3. 3625e- 005

    eroare =3. 0518e- 005

    Folosirea funcţiei mNewton, implică scrierea a încă două fişiere  function  cu definiţiileprimelor derivate, astfel:

    f unct i on y = apl i c5_1_1( x)y = - si n( x) - 1

    f unct i on y = apl i c5_1_2( x)y = - cos( x)

    Se alege ca soluţie iniţială capătul din dreapta al intervalului, adică x0=1 şi se apeleazăfuncţia mNewton astfel: 

    [ sol ut i e, val , er oar e, nr _i t ] =mnewt on( ' apl i c5_1' , ' apl i c5_1_1' , 1, 100, 0. 0001)

    car e generează următorul rezultat: sol ut i e =

    0. 7391val =- 2. 8472e- 010

    eroare =2. 7758e- 005

    Nr _i t =3