Sunteți pe pagina 1din 59
$tefan BUZURNIUC Vasile MORARU $73 \ . A } j METODE NUMERICE Afyfew Chisinau 2001 y — hice TEHNICA_A_MOLDOVE! Facultatea Calculatoare, Informatica $i Microelectronicé Catedra Matematica de Calcul si Programare t Conf. univ. dr. Stefan BUZURNIUC Cont. univ. dr. Vasile MORARU METODE NUMERICE Material didactic \ Lucrarea prezinté principslele metode numerice i algoritmi de rezolvare a ecuatiilor algebrice si transcendente, a sistemelor de ecuafii liniare si neliniare, de aproximare a functiitor, de calcul numeric al integratelor, de integrare numeric& a ecuafiilor difereniale gi de calcul al valorilor gi vectorilor proprii. Majoritatea metodelor prezentate sunt insotite de programe de calculator scrise in limbajul PASCAL. Conjine sapte lucriri de laborator gi se propun spre solujionare exercifii, rezolvate ‘sau insofite de indicagiile corespunzatoare. Lucrarea se adreseaza studentilor de la Facultatea de Calculatoare, Informatica si Microelectronicd eu specializirile 2/53 “Automatica si Informatica”,2103 "Caleulatoare", 2104 "Tehnologii Informarionale "i 2105 “Microelectronica” precum $i celor care doresc s& se inifieze in rezolvarea practic& a problemelor eu ajutorul calculatorubu Responsabil pentru edigie: Recenzent prof. univ. dr, habilitat Anatol Popescu ‘conf, univ. dr. Victor Besliu © UniversitateaTehnica a Moldovei, 2001 PREFATA, Informatica, sau ita calculatoarelor, a cunoscut in cele cinci decenié de la apariia sa 0 dezvoltare foarte rapida, ba chiar explozivi. O foarte vasta literatura de specialitate consemneaza progresele inregistrate de aceast’ disciplina, ce poate fi consideratt dintr-un punct de vedere, acela al tehnologiilor, ca aparjinand de grupul de stiinte ingineresti ale electronicii, iar in raport cu problemele informatici si de utilizare a acesteia, ca facdind parte din grupul de stiinte ale menagementutui. Calculatoarele gi-au gasit aplicarea nu numai in stiinfele ingineresti gi ‘economice, dar si in asa domenii traditional nematematice ca medicina, istoria, psihologia etc. Acest fapt a condus Ja aparitia unei numeroase categorii de specialisti ~ utilizatori ai calculatorului, care au nevoie de literatura privind aplicatiile tehnicii de calcul La rezolvarea unei probleme la calculator rolul principal ii este rezervat omului, Calculatorul doar executi instructiunile utilizatorului, date sub forma unui program. Functivnile utilizatorului gi cele ale calculatorului se pot vedea, daci vom diviza procesul de rezolvare a problemei date in citeva etape. Formularea problemei. in aceasti etap’ se realizeazA formularea fizick (narativa) a problemei care trebuie rezolvati i se determina obiectivul (scopul) sau obiectivele care se urmiresc, Elaborarea modelului matematic, Notiunea "model" este un concept relativ nou, utilizat pe larg in stiinf@, dar metoda modelarii este cunoscut& din vechime. in esenta, modelul este 0 reprezentare izomorfa a realitatii care, oferind 0 yenului sau procesul aflat in studiu, faciliteazi descoperirea unor legiituri si legititi greu sau chiar imposibil de determinat pe alte edi. Se pot deosebi modele fizice, modele matematice, modele grafice etc. Modelul matematic constituie o reprezentare matematick a modelului fizic abordat, considerat din punct de vedere functional. Modelul trebuie si descriefatr-in mod corect obiectul fizic. in cele mai simple eazuri modelul matematic este un sistem de ecuafi linare sau neliniare, ecuayi ordinare sau cu derivate partiale, dar si 0 combi ‘matematic, find o aproximare a procesului fizic, adesea este imperfect. in prima faz a cercetdrii unui proces sau fenomen, rezultatele obtinute ‘nu corespund celor scontate, ceea ce implic’ modificarea modelului. Aici o importanja mare o are experienta si intuifia cercetitorului pentru a aprecia in ‘ce m&sura solutia modelului matematic corespunde rezultatelor observarilor fenomenului studiat. De reguld, modificarea modelului consti in intro- ducerea in model a unor elemente sau parametri care la inceputul studiului 1 fost exclugi din model ca fiind neesentiali. Mai complicat este azul in care modelu! construit trebuie completamente revazut de pe alte pozitii. in ambele situatii, dupa schimbarea modelului, cereetarile se reiau de la inceput: obtinerea unei soluti noi, studiul rezultatelor objinute, modificarea modelului, Altfel spus, aceastt procedurd este un proces ciclic (fig. 1). : ‘Uilizares nei] Fig. 1 ‘Modelul matematic este de cele mai multe ori de natura continua ~ de exemplu, calculul unet integrale definite, Pe de alti parte, calculatoarele ‘operes::numai cu mArimi discrete, céea ce impune discretizarea problemei ~ calculul integralei definite se reduce la calculul unei sume finite de valori, Deci solu discretizate. Construirea modetului numeric, Transformarea modelului matematic fntr-un model numeric se face cu ajutorul metodelor numerice. Metodele numerice permit rezolvarea problemelor matematice cu ajutorul calculatorului, Soluyia modelului numeric trebuie si fie consistent, adica, in ‘cazul in care se trece la limits in problema discretizats, s& se poath obtine solujia problemei continue. In acelasi timp, alegerea’ metodei numerice trebuie ficuta in aga mod, incat solujia modelului numeric s& fie robusta, adicd ea si fie putin sensibila la 0 mic schimbare a parametritor problemei Proiectarea algoritmului. Algoritmul permite trecerea de Ix modelul aumeric la programul de calcul, Prin algoritm se subinjelege o succesiune finité de operatiielementare, unic determinate, cu ajutorul c&rora se poate solutiona problema data, Orice algoritm intocmit corect poseda urmatoarele proprietati: + tnicitatea, care implic& obtinerea unui singur rezultat pentru setul ‘concret de date initiale ale problemei; zneralitatea, adic posibilitatea atl ci sila o clas& de probleme de acest ti + finittudinea. Numérul de operatii efectuate asupra datelor initiale pentru a obfine solutia problemei trebuie si fie finit. De obicei, algoritmul poate fi descris cu ajutorul schemei logice sau al pseudocodului, Acesta din urma este 0 notafie simplificat’ care confine structurile de control din limbajele de programare, dar este mai sirac din punctul de vedere al descrierii datelor, Numrul de instructiuni ale algoritmului constituie complexitatea algoritmului. Din muljimea de algoritmi, destinafi rezolvarii problemei concrete, trebuie exchusi algoritmii nerealizabili (cu complexitate exponential) si algoritmii neeficienti. ‘Analiza numeric& opereazi cu valoti de un diapazon foarte mare, ceca ce implica folosirea datelor de tip real. Aceasta insi aduce In erori de rotunjire, cauzate de reprezentarea aproximativa a datclor initiale si de ccalcule aproximative in calculator. Prin urmare, alegerea ulgoritamului se va efectua in baza uno riterii de convergent de sabiltate 5 de propagare & erorilor. Pe parcursul etapei de construire a modelului numeric 0 importants, deosebita are eficacitatea metodelor numerice alese pentru rezolvarea problemei. De exemplu, daca modelul contine sisteme de ecuati liniare algebrice, rezolvarea acestora poate fi efectuata prin mai multe metode. Una din cele mai simple metode de rezolvare a unui sistem de ecuatii liniare este problemei initiale este aproximata. prin solutia problemei jedrii lui nu numai la problema tnetoda Kramer. Algoritmul metodei consta in calculul unui sir de ‘Tuccrminanti, urmand ca mai apoi sa se calculeze sofutia exacta prin deeriyea unor raporturi ale acestor determinant. Pe de alta parte, calculul aor cterminant de ordinul nse reduce la calculul sume tuturor produselor fosibite a clementelor "atricei fuate cate unul din fiecare linie i Fear panama. Numarul de operat necesar (adunari, inmltiti ete) pentru caleulul coe doterminant este proportional cu (n+ 1)! Atunci cand aver un sistem Je tel ecuatil cu frei necunoscute calculul determinantului ny este o problema complicata, Cu tot alta este situati cand determinant ese ée prpiul ireizect sau, sa zicem, patruzeci. Chiar si pentrs ealculatoarele de performanta efectuares acestor operatii cere sute si mii de ani de leul Petinuu, Pede alta parte, metoda Gauss de rezolvere a unui sistem de ecu sre complexitatea O(7°), iar complexitatea metodelor iterative este Ow). Neest exemplo demonstreaza necisitaten unei analize minutioase © ‘netodelor de caleul care vor ff utilizate in modelul numeric. Program calculator. in aceasti claps. elgoritmul proiectat se programeazk intr-un limbaj de nivel inalt, Compilarea acestui program este tefectuati de insugi calculatorul. “Testarea 1 verificarea programului, Destinatia acestel tape const in tolatuvaes taturor gregelilor, care au aplirut in procesul transformarit tioritmutuifntt-un program pentru calculator. Coretitadinea programul ‘Se verified cu ajutorul unor probleme-teste. “Solufia numericd si Interpretarea recultaelor. Programul testa find aplicat la rezolvarea probleme’ intiale permite obfinerea sofuiet numerice fe eatculator. Rezultatele obfinute in aceasth etaph se vor analiza fn orespundere cv obiectivul urmarit, 1, ELEMENTE DE ANALIZA A ERORILOR 1.1. Surse de erori {In procesul modelarii numerice a inei probleme apar erori, care pot avea o influentA esentialé asupra solujei finale. Astfel, apare necisitatea ccunoasteri acestora sia gradului lor de influent asupra soluiei problemei. fin general, erorile pot fi grupate in modul urmator: erori inerente, erori de metodi, erori de rotunjire 5i de trunchiere. Brori inerente. Aceste erori apar in procesul construirii, modelulut rmatematic al problemei in cauz8, deoarece orice model matematic este doar © aproximare a modelului rea, fzic. Cu cét modelul matematic este mai detaliat, cu atitel va fimai adecvat procesuluiaflat in studiu, Pe dealt parte, erori de acest tip apar gi din cauza datelr initial ale probleme, care flind incorecte sau determinate uo precizi redusi, pot aduce la solu complect ese, indeferent de faptul cit de mult modelul matematic corespunde celui Frori de metod’. Aceste erori apar in urma utilizarii metodelor numerice in rezolvarea ‘modelului matematic. Orice metod’ numericd este ‘caracterizaté prin eroarea sa, care, de regulf, depinde de un parametru (de exemplu, pasul de discretizare), schimbarea edruia poate reduce influenta erorilor de aces tp asuprarezultatuui final. De obicei aceasteroare este de ceva ori mai mish dedt err in dtl in ale. ‘Erorile de rotunjire si de trunchiere apar datorith reprezentiri aproximative a numerelorreale in calcule, Daca in calcule numerice trebuie si folosim numarul, il putem scri¢ 3.14, 3.14159 sau 3,1415926 etc. Nici un ‘numét irafional nu poate fi reprezentat printr-un numa finit de eifte. Chiar gi tnele numere rafionale nu au o reprezentare exactl (de exemplu, numirul 13 poate fi scris ca 0.33333... - 0 succesiune a cifei 3 la partea zecimall) Majoritatea metodelor numetice (de exemplu, calculul unei sume cu un ‘hums infinit de termeni) necesiti un numr infinit de operat artmetice pet a ajnge a soi xa probleme cee i Suntem nevoifi sk ne mérginim ln un numir finit de me cm operafii. Ca rezultat, 1.2, Erori absolute gi erori relative 2 & notim prin” valoarea aproximativa pentru numrul exact x. Dack x" x, atunci aproximarea lui x prin x" este prin adaos, De obicei, in procesul de calcul se inlocuieste valoarea exacta (care, incaz general, nu este ‘cunoscuti) prin valoarea sa aproximativa. [n felul acesta comitem 0 eroare. Expresia . ‘ AG" )=}e-2"| poartd numele de eroure absolut ee Re Eroarea absolut nu caracterizeaza suficient de bine precizia cu care se objin rezultatele, Astfel, de exemplu, daca x = 1 si_x"= 2, atunci eroares absolut A(x")=I indica o precizie slab& a mAsuririi, Dac x =10" +1 iar x" =10", aceeasi eroare absoluth A(x")=I caracterizeazh 0 precizie remarcabild, Aceasta ne conduce la nofiunea de eroare refativd &(x" ) care reprezint& raportul dintre eroarea absolutf si valoarea aproximativs, adic dach x’ #0. | In exemplele de mai sus erorile relative sunt egale cu 0.5 gi respectiv cuJ0"", cea ce confirma buna precizie a misurSri in cazul al doilea. Dac& se cunosc numerele x gi x", atunci calculul erorii absolute gi fe este imediat. Dar de obicei, in majoritatea eazurilor se cunoaste proximarea x". De scees 26 inode act de marge (om fimitd) a erorii absolute girelativ é i pocitiv¢ este 0 margine (sau o limi) a eroril absolute a ‘numérului aproximativ x” dack k-x'|s6 iar numrubpositiv r este 0 limitd a erori relative dacd Notatia x" =x" 6 semnific& tntotdeauna faptul o8 fs ~x"|<6, adic’ 5 ee xi nesx'sx' +e. rice numar aproximativ x" poate fi soris sub forma, HF =0,-10" $e, 10 4c, 10", ---»€,Sunt cifrele zecimale ale num&rului aproximaiv x", Se stie &8 zerourile de a inceputul numarutui servese numai pentru a fixa pozitia imale. Cifrele cuprinse intre prima si ultima cifra diferita de zero sau care indicd ordinele pistrate in calcule se numese cifre semnificative. Exemplu, Numarul aproximativ x" =3-10! +6-10° +0-10"' +5-107 +8-10° =36058 are cinci cifre semnificative, iar numarul ¥" =-(2:10? +8-107 +0-10)=-000280 ‘re tei cifre sempificative (primele trei zerouri sunt nesemnnificative). Dac& ‘mbrimea erorii x" nu depaseste 0.5-10"', se spune c& numérul aproximativ "are 1 cifre zecimale corecte, Dack numéru! aproximativ se scrie fird a indica limita erorii absolute, ‘atunei fn scrierea lui se considera c& toate cifrele sunt corecte. in acest caz zerourile de la sfarsitul numarului nu se elimin’. De exemplu, numerele 0.0345 $i 0.034500 sunt diferite; eroarea Primului numér nu depaseste 0.0001, iar eroarea absoluti al celui de al doilea numér este mai mic& decdt10™. Exemple. 0.010224 + 0.000004 are cinci zecimale corecte si patru cifre semnificative; 0.001234 + 0.000006 are patru zecimale corecte gi doud cifte semnificative (deoarece valoarea maxima a numfrului poate fi 0.001240, iar cea minim& 0.001228 gi deci ultimele dowd zecimale sunt nesigure). Numérul de zecimale corecte ne sugereazi o idee despre mérimea cerorii absolute, in timp ce numdrul de cifre semnificative ne sugereazs o idee ‘sumari despre marimea erorii relative. 13, Propagarea erorilor {In procesul de calcul aproximativ eroarea se propagi de la o operatic la alta, Fie date valorile aproximative x” gi y” ale valorilor exacte x gi y, afectate de erorilee, sie, adic& fie x =x’ te,,y" sy" 4te,, ‘Atunei avem : : : xe, +y' -€, Sxty Sx" +e, +)" +8» x ty", 46, )sxty sx" ty" +, +8,) x+yax' ty £@, +e,) in mod analog ca gi in cazul adun&rii, se va obtine x-yex'-y' te, +6,) Deci Ia adunare sau scidere, marginea erorli absolute » rezultatului este dati de suma marginilor pentru erorile absolute ale termenilor. ‘Se poate demonstra, de asemenea, c& Ia Inmultire qi tmpirfire marginile erorilor relative ale factorilor se dunk. Fie acum date dou numere pozitive x° gi y" sproximativ egale, afectate de erorile absolute A(x") si A(y” } Atunci A(x" = ") AG") + ne Foy Foy si deci, eroarea relativA a diferenfei poate fi destul de mare, dack diferenta | =x" | este foarte micB. Aceasta ne aattc& exactitatenrelativl poate fi foarte slabi atunci clind efectuim diferenta a dou numere aproximativ ale. “8° exemplu. Vom considera numerele aproximativ egale. x = 0.1234 405-104 gi y= 0.1233 405-10", atunci x-y = 0.0001 £0.0001 gi rmt"gi- nea erorii este tot atat de mare ca gi estimares rezultatului. ‘Acest fenomen poarth denumirea de amulare prin scddere sau de neutralizare a termenilor. Cele mai serioase erori care apar in calculele ‘fectuate cu ajutorul calculatorului electronic se datoreazA acestui fenomen. ‘De cate ori este posibil se evith neutralizarea termenilor prin rescrierea. formulelor de calcul seu prin alte schimbiri in algoritm. De exemplv, 0 expresie de forma (a. +7)? =a? poate fi scrisi sub forma (2a +y) iar expresia 2 Be" -y")= sub forma Wa +y ela ‘Vorn mai da un exemplu in care se arat&i cum poate fi evitata anularea prin scidere. Ecuatia de gradul doi x? +100001-x -25245315=0 ‘are una dintre radicini egalé cu 0,0025245. Dac calculim ridacina cu ajutorul formule: 15 (100001 + y(100001)* +4-25245315), efectuind calculele cu opt cife semnificative, se va obtine x, =05 (100001 + 10000150) = 0.0025. Rezultatul obfinut are numai doud cifre corecte, cu toate ci radicalul de ‘gradul doi a fost caiculat cu opt cifre semnificative, Dact vom face calculu! aceleiasi rédacini utilizind formula x, =2-2524315 /(100001 + (100001)? + 4-25245315) 00025245, se va objine rezultatul exact, Precizia colculelor numerice este criteriul cel mai eficient pentru alegerea metodelor de calcul. Analiza eroriidintr-un rezultat numeric este o chestiune esenfialé in orice calout, fie od este executat manual, fie de un calculator. Cu toate performantele calculatoarelor electronice, precizia rezuliatelor este influentati de erorile de rotunjire, metodice sau de trunchiere, Datorité proprietitilor constructive ale caleulatoarelor electronice este necesara limitarea numarului cifrelor semnificative. Un exempta ilustrativ este funizat de numirut rafional 1/10, care se foloseste de multe ori ca dimensiune a pasului de diseretizare in multi algoritmi. fn sistemu! binar (utilizeazA pentru reprezentarea numerelor cifrele 0 si 1) fractia 1/10 are o reprezentare infinité 000011001100... . In caloule trebuie s& ne marginim Ia tun numa finit de cifte semnificative: Deci dac& se aduni de zece ori numarul care reprezinti o aproximatio binard a numdrului 1/10,rezultatul nu va fiegal exact cu unitatea. 1.4, Numere eu virgulit mobili Este bine cunoscut ci pe majoritatea calculstoarelor_modeme urmerele reale se reprezint& cu ajutorul virgulei mobile. Un num&r scris in virgula mobila este co.npus dintr-o fractie, numité mantisd, gi un intreg, rnumit exponent. Deci x=tm-Bt, unde Beste baza sistemului de numeratie (binar, octal sau hexazecimal), m ete mantisa numirutu yi eeste exponents, afecat de sma, Fratinw ax- tisface yom! siare forma unde numerele integid,, d,,.... d, ,numitecifre, verific inegalitati Osd,sP-1, i=12,...,1 51 LsesU. Dack prima cifra din mantisé este diferith de zero, atu reprezentat in virgul8 mobilé se numeste mumdr normalizat. Prin urmare, sistemul de calcul cu numere cu virguld mobild este 0 mukime F(B,t,£,U) caracterizaté de patra parametri: baza i, precizia calculatorului # gi intervalul exponentilor (£,U}. F este o multime finitd care confine 2-(f—1)-B'~'(U ~ L) +1 numere, En nu poate reproduce oricat de detaliat structura continua a numerelor reale. Mai mult, in general nu putem reprezenta in calculator numerele al c&ror vodul depageste cel mai mare element af lui F sau care sunt mai miei in rmiodul decét cel mai mic aum&r din F, Mantisa m poate fi serisa wumbrul m=B" -(d, BM +d, “BY +..4d,), de unde rezultd, c& dacé d, +0, atunei maximul mérimi ip seca ce cotespunde cazulu , =P-1, i=1,2, minimal va fi B"'si se objine pentru d, =1, d, =d, - Fis un num real care nu depfseste limitele multimii F gi x #0; in ccloulator acest nuintir este reprezentat de numiirul cv virguld mobilé notat Mx), chrui mantish in’ se objine din mantis m a fui x rotunjind-o la feifre (de aces sponem ch precizia caleulatorului este). Dact se efectueazi ” rotunjirea corecté atunci jm~m'| <0S-B"'. Eroarea relativi in fl(x) este Vi@)—A1 95. deonreve fe-x'|_ [n-ne] seal iieeeos ar si gsmct. Numérul €,, $05-f'se numeste unitatea (de rotunjire a) magini Efectuand rotunjirea corect8, numairul f, (x)este cel mai apropiat element de x, care apartine lui F. Daca se foloseste rotunjirea prin thiere (se elimina ‘compararea primei cifre neglijate), atunci si fi(x) este cel mai apropiat element din F, inferior lui x. In afard de parametrul s ,, in practic& sunt rispinditi pe larg ined doi parametti: o $id cel mai mic element pozitiv gielementul maxim al lui F. Unitatea de rotunjire a masinii e ,, se mai numeste epsilon al masin este cel mai utiliza parametru ce caracterizeazA sistemul dat de calcul. Acest parametrt ne di masura de discretizare a sistemului F care are loc pentru tot intervalul numerelor nenule in virguld mobili, Deci distanfa dintre numarul sr s{numbrl cel mai epropiat dee sistem dat nu ema mich deckt bu h/t nu e mai mare decat ¢,, -[x| (numai dack numérul x nu este in vecindtatea lui zero). Exemplu. Fie B= 10, = 6 $i L=-100. Atuncie,, =10%,0 Intre zero si o nu existi nici un numér ce apartine sistemului dat, in timp ce {intre © si10-o sunt $9999 de numere eu virgula mobil, ‘Vom mentiona e& parametric , ,B,%,U,L,0 gi pot fi estimati direct pe calculator, utilizind tehnicile de programare ale acestuia, 2, REZOLVAREA NUMERICA A ECUATHLOR ALGEBRICE $I TRANSCENDENTE “Majoritatea proceselor eare se studiazi in tehnicd, stinta si cconomie sunt neliniare. Aceasta deseori implicé rezolvarea urmitoarei probleme: pentru Funetia Si x9 $O) {2,61 ‘continua gi derivabilé sB se determine riddcinile reale si complexe adict valorile x, ,2y.-.%, care satisfac ecuatia f(x)=0. Ecuatiile neliniare de acest tip pot fi de dou’ tipuri: algebrice transcendente. Ecuayiile algebrice sunt acelea in care functia fx) este o functie polinomialé de gradul ». Ecuatille care contin si alte functii se numese ecuafil iranscendente. Pentru ecuatiile algebrice de gradul n > 4 cu toate c& nu dispunem de formule pentru determinarea rédacinilor lor, totugi in baza teoremei lui D'Alembert, putem afirma c& existi m r’dacini (in general, complexe). Pentru o ecuafie transcendent, tnsd, nu mai putem garanta existenia solutiilor. Metodele de rezolvare a ecuatiilor neliniare pot fi grupuri: a) metode directe gi b) metode iterative. ‘Metodele directe permit determinarea solutiei ecuatiei cu ajutorut unei formule. Aga formule avem pentru ecuafiile pitratice, trigonometrice, logaritmice, exponenfiale. {In practic’, insi, adesea intainim ecuatii.care nu pot fi rezolvate In aga mod si pentru rezoivarea lor se aplick meiode iterative. Algoritmul solutiei ecuatiei meliniare lx) = 0 cu ajutorul metodelor iterationale implick parcurgerea a dowd etape importante: a) separarea ‘dacinilor, eare const in determinarea unui aga interval [a,b] in care este stato rédicind realé a ecuatiei; b)calculul aproximativ al fiecSrei rAdacit sievaluarea erorii care s-a comis considerdnd cf separarea deja s-a cfectuat. ivizate in dou’ 2.1 Separarea ridich r Separarea rdacinilor se poate realiza prin diferite metode. Cele mai des utilizate in practic sunt urmBtoarele douk metode de separare: Metoda grafic Adeseori ecustia f(x) = 0 poate fi adusi la forma echivalent® (x) =g(x). Radicinile ultimei ecvaiei sunt abscisele ponciewor de intersectie ale curbelor y=@(x) si) =g(x). De exemplu, scunin 27 cose -15=0 se poate scrie sv forma echivalenth 14 2 ~05 =cosx. Atunci radacinile ei sunt abscisele punctelor de intersectie a curbelor y =2" -0.5 gi y =cosx (vezi fig. 2) . Astfel, ecuafia data are doua ridacini realet, € (x, -™ 2 20.5) _--Metoda sirului lui Rolle. Metodele analitice de separare ‘unei ecuafii neliniare sunt bazate pe urmatoarele dou’ teoremé ‘Teorema Bolzano-Caushy. Daca functia fx) este continua pe [0,6] si primeste la capetele intervalului valori de semn opus, atunci pe intervalul (a,b) exista un asa punct & incat f(E)= ‘Teorema Rolle. Daca functia fx) este continu pe (a), diferentiabils ens si f(a)=f(B), atunci exist’ un aga punct & € (a,b) pentru care ‘Agadar, intre dows ridicini reale consecutive ale derivatei /"(x)_ a functiei y = (x) exist cel mult o ridacind reali a ecuafici /(x)=0. De asemenea intre doud ridacini consecutive ale ecuatiei f(x)=0 exist cel putin o ridacind a ecuatiei f"(x)=0. Fie acx, 0 marginea superioard s erorii absolute, care se admite, Dacd |b ~a}<2e, atunci ¢ aproximeaza ridacina & cu eroarea doritd, deoarece lc ~Bfce. Prezentim in continuare © proceduri de calcul dup& metoda ‘njumtitiritintervaiului (reeeaes 9) { [2,b}-segmentul pe care se afla solutia ecuati’ f(x}-0;Eps-preci zia cu care’ se determina solutla; x- solutia numerica a ecuatici; Fix- valoarea funetiei f(x) in punctul x; k-numarul de divizari a segmentului} ee) Procedure #isect(a,b,Eps:Real;var x,Fx:Real;var k:Integer)s } Var od:Real; Begin 16 If f{a)<0 Then c:=b; di=atb-c; fe=f(X)s ‘If fx=0 Then Exit; If fx>0 Then c:=x Else Until (Abs(e-d)0 rocesul de calcul ii vom opri céind fale, ~x, I-a '' Acest criteriu pentru determinarea calculelor necesiti aprecierea posametrului subunitar a. care in general nu se cunoaste. Procedura care realizeazi metoda aproximafiilor succesive in limbajul ‘Turbo Pascal este urmitoarea: ase. seneeeeey radacinii; x1 - valoarea aproximativa a Fi- mumele functiei din ecuatia x=Fi(x); ratii necesar pentru obtinerea exactitatii date; Procedure Siter(var x1:Real; x0,Eps:réal; Nmax:Integer; ‘integer;var Tf:Booleay Until (Abs(y-»)Nmax); Th=k0 € >, Fig.7 Fig 8 y F()>4S(2) <0 F()>0,/"()>0 % a Fig Se poate demonstra c& pentru ea procesu! iterational convergent este necesar ea din valorile ai b fe alesol i cata de solutie inifialé x, acea pentru care are loc inegalitates, S)-F%x)>0. 20 Descori pentru micgorarea volumului de calcule la aplicarea metodei Newton se utilizeaza o modificare a acestei metode, care se numeste metoda ‘Newton-Kantorovici, functia generici de calcul a chreia este urmAtoares Reducerea volumului de calcule se datoreaza faptulu ola fiecare pas nu este nevoie de calculat valoarea derivate, ea fiind calculata numai punctul x,. De refinut, c& viteza de convergenta a acestei metode esie mai ‘mick decat in cazul algoritmului (2.2). i Interpretarea geometric& a metodei Newton-Kantorovici este dati in fig. 12. Fig. 12 Exemplu. Se considerA ecuatia x? —3-x-e* =! nid&cina acestei ecuatii de pe intervalul (1,1.5] cu preci Rezolvare, Functia generic& de calcul este ox, 280, p01, arate, FED, e012... SH) e -19i f'(e, )=3x,? 43x, pentru f(x, =, me ‘Age cum f(15)-f"(15) =1279> 0, in caitate de aproximare initial se va tun valoarea x,=1.5 : * Recaliatele calculelor sunt prezentate tn tabelul de mai jos. Deoerece I x,|ce, ealevele se oprese, considerind soltin ‘ecumtiei mummfcul 8 = 1.2782, 2 k ch LO) SOD) FEC, ) 0 1.50000 1.37091 7.08467 0.19350 t 1.30652 0.16883 5.36981 0.03144 2 1.27506 0.00415 5.10790 0.00081 3 1.27424 0.000001 SOM 0.00000 {in incheiere urmeaz& procedura pentru calcululradacinii unei ecuabi neliniare cu o singura necunoscutf prin metoda lui Newton: {eoennses sersveesasusssseaenerensnsnonessnonenenssen) {x0 valoarea initiala a radacinii; x1 - valoarea aproximativa a solutiei ecuatiei; F- numele functiei din ecuatia F(x)=0; Fl -n mele derivatei F°(x); K-numarul de iteratii necesar pentru obti- nerea exactitatii date; Nmax - numarul maximal admisibil de pasi; Eps - precizia cu care se determina solutia; ler - codut corecti tudinit: daca ler = 0 atunci solutia a fost gasita cu precizia Eps; daca ler = 1 atunei nu are loc convergenta catre solutie: daca atunci precizia prescrisa nu poate fi atinsa dupa Nmax pasi} pee Procedure Newton(var x1:Real; x0, ps: var K:Integer;var ier:Integer); Label Et; Var d0,d1,yx:Real; in xl=x-f(x)/M1(a); at: 23 Begin Ifd1Nmax Then Begin Ter:=2;Exit End Else KeskH; xxl; d0s=dl5 goto Et Else Begin Terz=; Exit End En End; 2.5. Metoda coardelor si metods secantelor deca metodei coardelor, mai numitd $i metoda pozitiei false, consta in aproximarea functiei /(x) pe intervalul (a,b), in care ecuatia f(x) =Oare 0 rdcin& izolatd printr-o dreapt8. ie f(x) este continua pe [a, 6), derivatele de ordinul unu si doi igi ‘pAstreazA semnol pe acest interval si f(a)- f(3)< 0, de exemplu, (8) <0, Aa) > 0 (fig. 14), Vom uni punctele (a, a)) si (B, {6)) printr-o coarda. ‘Aceastl coardA intersecteaz’ axa Ox in punctul x,. Prin urmare, putem considera acest punct ca o primi aproximare a ridicinii &. Si determinim abscisa x, Fuatia coardei este ecuaia dreptei, care trece prin dou puncte date Ena _f()- fa), b-a f(b)~Ff(a) {Lond tn considerate faptul cl aceasti conrdit intersecteazi axa Ox in punett x, gideci f(x,)=0, obfinem: —* we-— 10). Fy fay O-™ ‘Trecem la determinarea urm&toarei aproximatii. Observam, c& fx, <0 sideoarece flx,) a)<0 concludem, cd solutia ecuatiei se aflé pe:intervalul {a, x, }. Trasind 0 coarda noua, de acum prin punctele (a, a) si (x, Ax,)), ‘obtinem punctul de intersectie x,a coardei cu axa Ox gi a.m.d. Cercetind graficele din figurile 13-16, se poate observa cé din punctele (a, la)) si (6, Ab) pe tot parcursul de calcul al ridaicinii ecuat este acel punct in care semnul functiei coincide cu semnul derivatei ordinul doi. L£0)<0,F'0)<0 SRK0 SS Fig 13 Fig 4 FU) >0,F"0)<0 a frtosercase! Fig. 15 Atunci algoritmul metodei coardelor const& in calculul iterativ du formulele: k=01,.. Fe) ae Zo =x) k=O)1,. Fo) s05° * Prima formula se utilizeaza in cazul, in care f(a)>0,f"(a)>0 sau J(a)<0,f"(a)<0, in timp ce a doua —" cind f(b)>0,F"(b)>0 sav F(b)<0, f'"(b)03i 2, *,_,,attnei poate avea loc 0 neutralizare a termenilor. Metoda coardelor igi gAseste aplicatile intr-un algoritm, numit metoda combinaté a coardelor si sangentelor. Idea acestei metode consti in urmatoarele. Daci functia (x) ia valori de semn la extremititile intervalului (a,5] , iar derivatete ei de ordinul unu si doi nu-si schimbi semnele in acest domeniu, apoi aplicarea concomitenta a metodei Newton gi coardelor genereazA doua giruri, unul dintre care este monoton descrescator, celalalt fiind monoton crescator. Limitele acestor siruri este unul si acelasi numér: rédacina & a ecuafiei f(x)=0. In incheierea acestui paragraf se in limbajul Turbo-Pascal pentru calculul r8d8cinii {envensensensensensensens {x- valoarea aproximativa a radacinti, calculata dupa metoda coardelor; x1 valoarea aproximativa a solutiei ecuatiei, calculata dupa metoda tangentelor; [a,b] intervalul in care se afla o solutie unica a ecuatici; F- numele functiei din ecuatia F(x)=0; Fd -mumele derivatei F°(x); Num - numarul de iteratii necesar pentru obtinerea exactitatii date; Eps - precizia ‘cu care se determina solutia; Nmax - numarul maximal admi (ee neeeanseeeeesenessnsnnnesess: 27 Function Combi(a,b,Eps:real;Nmax:integer):Real; Var FAFX,FB,x,xt:Real;Num:Integer; Begin FAz=f(a); FB:=f(b); Num:=05 x:=2-(b-s)*FA/(FB-FA); (calculul solutiei FX:=f(0); Hf (FA*FX<=0) Then tale) -8)*FX/(FX-FA); {calcul dupa formola eoardetor) {Caleulul dupa formula tangentelor) Num:=Num+ Until (Abs(x-xt)Nmax); End Else Begin xt=b; Repeat x2=5-(b-x)"FX/(FB-FX); {calculul dupa formula coardelor) EX=f)5 xtr=xt-A(Rt)/fd(xt); {calculul dupa formula tangentelor} Num:=Num+1; Until ( Abs(x-xt)Nmax) End; Combiz=(x+xt\/2. End; LUCRAREA DE LABORATOR NR. 1 1, Seopul tuerarii 1) SA se separe toate ridacinile reale ale ecuatiei fx) = 0 unde y = fix) este 0 functte realé de variabilé reall. 28 2) Sa se determine o rédacin& reald a ecuatiei date cu ajutorul metodei ajumatafiriiintervalului cu o eroare mai mic& decat s =10". 3) St se precizeze ridAcina objinutd cu exactitateac =10°, utilizand: ‘* metoda aproximatiilor succesive; ‘* metoda tangentelor (Newton); ‘* metoda secantelor, 4) SB se compare rezultatele lund in consideratie numarul de iterati, cevalutrile pentru functi si derivats, 2. Ecuafile propuse spre rezolvare Loos tx+1=0, 2.x? —30x — at A249 Se 1.Ve 41-112 =0, x7 434x +230, 9, x +Inx-2=0, - 10.2? -29543420, UL 2e-e =0 12. x? -26r +4 13.Ig(l+x)+x-15=0, 14x? +25r -37 =0, 15.(2—x)e" - 16x -12x +9=0, 17.(x +3)? -cos 18. x? +131 ~1=0, 19.2" +3x-05=0, 20. x’ —37x-52=0, 21, x? -26x + 43=0, 22.x7-In(x+1)=0 23.2? +12e +: jinx +1=0, 25.x? -15x~x7 +19=0, 26.cosx +2x —L. 27. x? = 5x -! 28.5 -7x-32=0, 29.x° +2xcosx-28=0, 30.2(x-1)? BLx? +5x? -4Lxsinx -25=0, 32. Ig(2x +3) 42x -1 33.x? -25x +19=0, 34. Jig(x +22) ~x =0, 35.x? ~3re" +34 36.x7 +Ssinx =0; 37, x? -2in(Sx +1)-21=0. 3. REZOLVAREA NUMERICA A SISTEMELOR DE ECUATII LINIARE 3.1. Elemente de analizit matriceali Pentru inceput vom aminti unele notiuni din algebra liniar, Un tablou dreptunghiular de mn numere reale agezate pe m linii sim coloane % Oy 4, fy An Ay Oy Aq a as az, *a, se numeste marrice Matricea se mai poate reprezenta simbolic astfel (a, ),.. Numerele, a,, 4=1,2, m j=l,2,...,m se numesc elementele matricei. O aga matrice are dimensiunea mn. fn cazul in care m =n matricea este pitrats de ordinul m gi se va nota astfel: A=(a, ),. Dac& m+n, atunci matricea se numeste rectaunghiulara (dreptunghiulard). O matrice, pentru care m= 1 se hnumegte matrice-tinie, iar matricea pentru care n=l se numeste matri- ce-coloant. Un sistem ordonat de n numere reale se numeste vector n-dimensional. ‘Vectorul poate fi prezentat printr-o matrice-linie sau matrice-coloant. In cele ce urmeazA printr-un vector vom infelege coloana-vector: a Matricea care se obfine din matricea data A schimband finiile cu le ¢i invers se numeste matrice transpusi: My By Oy oe Oy rf 2a An Bo Aye Aa oe : My 835 yy sO In particular, transpusa unui vector-coloand este vectorul-linie x7 2(x 0%, 5 Dac& o matrice A coincide cu transpusa sa A” , atunci o aga matrice se numeste matrice simetricd. Evident, pentru o matrice simetricA au loc egalititile a, =a, pentru toti i si. Multimea tuturor vectorilor n-dimensionali pentru care sunt definite operatiile inmultirii vectorului cu un numar si adundrii a doi vectori se fnumeste spatiu liniar aritmetic n-dimensional. Suma matricelor A =(a, )_, $i B=(b, Jay» ambele find de aceleagi dimensiuni mn, este matricea C =(Cy Jaq Clementele careia sunt ¢, =a, +b,. Brodusul a douk matrice se defineste numai pentru acele matrce, pentru care numarul de coloane ale primei matrice coincide cu numarul de linii a matricei a dous. Astfel, dack avem matricele A =(a, ),, $iB =(b, Japs atunci prin produsul C=A-B se injelege matriceaC_ =(c, Dp cu elementele cy Saabs FN cm Jab QeosBe In particular, pentru doi vectori x gi y, obtinem n y: XR pk, AY AED te EVs Spatiuartmetic in care este defint un aga produ, numit produs scalar doi vector, se numeste spatiu euclidian R". Mace unitate e mumeye mation pat 0 0 1 7fo bo 000 Pentru orice matrice patrati A de dimensiunca n are loc relajia A-T=/-4. Matricea A se numeste inversabild dack exist o aga matrice, notat& prin A"', inet are loc relatia A" «A =A-A™ =I. Matricea pitratd de forma ae 5 ple er? 0 0 31

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