Sunteți pe pagina 1din 92

Universitatea Dunrea de Jos

METODE NUMERICE
Gabriel FRUMUANU

Galai - 2008

Departamentul pentru nvmnt la Distan i cu Frecven Redus Facultatea de Mecanica Specializarea Inginerie economica si industriala Anul de studii / Forma de nvmnt II/IFR

REFERENI TIINIFICI:

Prof. dr. ing. Nicolae OANCEA, Prof. dr. ing. Ctlina MAIER, Universitatea Dunrea de Jos din Galai.

PREFA
Apariia i perfecionarea continu a calculatoarelor electronice a adus n prim-plan un domeniu al matematicii care exista de mult vreme i care, iniial, era prezentat ca o anex a matematicii clasice: metodele numerice. n prezent acestea s-au constituit ntr-un domeniu de sine stttor, la grania cu programarea calculatoarelor i cu ingineria. n condiiile n care viteza de lucru a calculatoarelor a atins limite de neimaginat, chiar n urm cu un deceniu, calculul numeric ofer soluii pentru orice problem matematic a crei rezolvare e necesar n tehnic; mai mult, soluiile aproximative obinute cu ajutorul metodelor numerice tind s se transforme, pe zi ce trece, n soluii a cror precizie o depete cu mult pe ce a sistemelor tehnice. Aceast carte se adreseaz studenilor de la specializarea Inginerie i management, forma de studiu cu frecven redus i a fost, prin urmare, conceput modular, ntr-un numr de capitole egal cu numrul de cursuri din program; fiecare capitol include noiuni teoretice, de regul i cte un algoritm, exemple de aplicare i chestiuni de verificare propuse. Autorul

CUPRINS

CUPRINS
Prefa ......................................................................................................... Cuprins ........................................................................................................ CAPITOLUL 1 - Reprezentarea algoritmilor n pseudo-cod . 3 5 7

CAPITOLUL 2 - Rezolvarea ecuaiilor algebrice prin metoda general 17 CAPITOLUL 3 - Rezolvarea ecuaiilor algebrice prin metoda biseciei 23 CAPITOLUL 4 - Rezolvarea ecuaiilor algebrice prin metoda Newton Raphson .. CAPITOLUL 5 - Rezolvarea ecuaiilor algebrice prin metoda punctului fix CAPITOLUL 6 - Rezolvarea sistemelor de ecuaii liniare prin metoda Gauss .. CAPITOLUL 7 - Rezolvarea sistemelor de ecuaii liniare prin metoda Jacobi .. CAPITOLUL 8 - Rezolvarea sistemelor de ecuaii liniare prin metoda Gauss - Seidel . CAPITOLUL 9 - Polinomul de interpolare a lui Lagrange CAPITOLUL 10 - Polinomul de interpolare a lui Newton . CAPITOLUL 11 - Aproximarea cu abatere medie ptratic minim . CAPITOLUL 12 - Derivarea cu ajutorul polinomului de interpolare Lagrange . CAPITOLUL 13 - Metode numerice pentru calculul integralei definite CAPITOLUL 14 - Exemple de aplicare a metodelor numerice n ingineria tehnologic .. Bibliografie ................................................................................................. 27 33 37 43 49 53 59 67 71 75 81 90

CAPITOLUL 1 Reprezentarea algoritmilor n pseudo-cod

Capitolul 1

REPREZENTAREA ALGORITMILOR N PSEUDO-COD.

1. Caracterizarea lucrrii
Rezolvarea problemelor tiinifice i tehnice cu ajutorul calculatorului presupune, mai nti, gsirea unui algoritm specific i, apoi, implementarea acestuia pe un sistem de calcul. n afara algoritmului de rezolvare propriu-zis, un rol important n gsirea eficient a soluiei l joac alegerea corect a structurilor de date utilizate. n esen, programul de calcul se bazeaz pe algoritm (descrierea operaiilor ce vor fi efectuate pentru gsirea soluiei) i pe structura de date (modul n care se reprezint datele de intrare, variabilele intermediare i datele de ieire). Pentru descrierea structurilor de date i a algoritmilor se poate utiliza un limbaj de programare (BASIC, PASCAL, FORTRAN, C++ etc.) sau un pseudo-limbaj cu o sintax mai permisiv (mai puin rigid). Pentru a evidenia invariana algoritmilor la limbajul utilizat, de regul se recurge la a doua soluie. Scopul acestei lucrri este de a familiariza utilizatorii cu gndirea algoritmic structurat (prin utilizarea pseudo-codului), de a evidenia metodele de implementare a pseudo-codului n diferitele limbaje de programare i, nu n ultimul rnd, de a evidenia importana tipurilor abstracte de date, cu caracter matematic (vectori, matrice, numere complexe, etc.).
7

METODE NUMERICE

2. Algoritmi de calcul. Stabilitatea i condiionarea algoritmilor.


Rezolvarea unei probleme practice, pornind de la un anumit set de date iniiale, presupune utilizarea unui algoritm de calcul, pentru obinerea datelor de ieire cutate, potrivit schemei

Date de intrare

Algoritm de calcul

Date de ieire

Algoritmul de calcul reprezint un sistem de reguli care transform datele de intrare n date de ieire, cu ajutorul unor operaii succesive, unic determinate. Un algoritm de calcul trebuie s ndeplineasc urmtoarele cerine: Generalitate; se nelege prin aceasta c nu este suficient ca un algoritm s permit rezolvarea doar a unei probleme oarecare, ci trebuie s permit rezolvarea tuturor problemelor din categoria respectiv. Finitudine; numrul de transformri intermediare (iteraii) aplicate datelor de intrare pentru a obine datele de ieire trebuie s fie finit. Unicitate; transformrile intermediare trebuie s fie unic determinate (s conduc de fiecare dat la obinerea acelorai rezultate). Un algoritm de calcul este stabil dac aplicat unei probleme cu date iniiale uor perturbate conduce la o soluie apropiat, ntr-un anume sens, de soluia problemei cu datele iniiale. O alt noiune, nrudit cu cea de stabilitate a unui algoritm, este cea de condiionare a acestuia; un algoritm este bine condiionat dac mici erori relative n datele iniiale se transmit n mici erori relative ale datelor de ieire. Condiionarea unui algoritm se poate ilustra simplu, spre exemplificare, pentru calculul unei funcii z = f(x, y) ntr-un punct (x, y). Aplicnd formula lui Taylor se poate scrie

f = f (x + x , y + y ) f (x , y ) = f x x + f y y + ...

(1)

n cazul n care x , y sunt suficient de mici, termenii de rang mai mare sau egal cu doi din (1.19) se pot neglija; rezult
f df = f x x + f y y f x x + f y y .

(2)

f reprezint, n aceast situaie, eroarea absolut care afecteaz rezultatele ca efect al erorilor x i y aprute n datele iniiale; mai semnificativ este, ns, eroarea relativ a rezultatelor, care, pentru f 0 este
8

CAPITOLUL 1 Reprezentarea algoritmilor n pseudo-cod

f f

fx f

x +

fy f

y ,

(3)

relaie care, pentru x, y 0, se poate rescrie ca


f f x fx f Kx x x + y fy f Ky y y . (4)

Coeficienii Kx i Ky de mai sus sunt denumii indici de condiionare a problemei; se poate observa c algoritmul poate s nu fie bine condiionat, n cazul n care aceti indici au valori mari, chiar atunci cnd x i y au valori relativ mici.

3. Descrierea pseudo-limbajului
Pseudo-codul este o metod simpl i eficient pentru reprezentarea unui algoritm i a structurilor de date asociate. Un algoritm redactat n pseudocod este, de fapt, un text alctuit din linii (rnduri), fiecare dintre acestea coninnd, de regul, o declaraie (al crui scop principal const n descrierea datelor) sau o instruciune (care descrie o operaie care urmeaz a fi efectuat). Fiecare linie dintr-un text n pseudo-cod este alctuit din cuvinte i simboluri (caractere speciale nealfanumerice). Anumite cuvinte, cu o semnificaie bine determinat, independent de aplicaie, se numesc cuvinte cheie i, pentru a fi distinse fa de celelalte cuvinte (specifice aplicaiei), sunt, de obicei, subliniate (ngroate). Orice linie poate conine precizri suplimentare, numite comentarii, care ajut la o mai bun nelegere a algoritmului redactat n pseudo-cod, fr a face parte din descrierea propriu-zis a acestuia sau din structura de date. Comentariile sunt amplasate la sfritul liniilor la care se refer i ncep cu caracterul ;. 3.1. Structuri de date Declaraiile se refer la datele cu care se opereaz i pot fi de tip simplu (fundamental) sau structurate (agregate). Se consider urmtoarele tipuri de date fundamentale:
logic ntreg real caracter

- date cu dou valori (0 = fals, 1 = adevrat); - date care pot lua doar valori ntregi; - date ale cror valori aproximeaz numere reale; - liter, cifr sau semn special (aritmetic sau de punctuaie).
9

METODE NUMERICE

Exemple de declaraii ale unor variabile de tip fundamental:


logic l1, l2, l3 ntreg i, j, s real a, m, x, j caracter c

Dup cum se poate constata, o declaraie conine cuvntul-cheie care specific tipul, urmat de lista numelor variabilelor de tipul respectiv, separate ntre ele prin virgule. Numele variabilelor pot s fie alctuite din litere i cifre, primul caracter fiind, obligatoriu, o liter i au semnificaie limitat doar la aplicaia respectiv. Se recomand ca, n limita posibilitilor, numele variabilelor s fie alese ct mai sugestiv iar, pentru eliminarea ambiguitilor, fiecare mrime cu care se opereaz ntr-o problem s aib propria declaraie, eventual nsoit de un comentariu lmuritor:
real m real v

; masa corpului ; viteza de achiere

Pentru rezolvarea unor probleme mai complexe, tipurile fundamentale de date nu sunt suficiente, recurgndu-se la tipuri de date structurate, apelate prin cuvintele-cheie:
tablou - structur de date care conine un numr cunoscut de elemente de acelai tip; nregistrare - structur de date ce poate conine elemente de tipuri diferite.

Exemple de declaraii pentru tablouri:


tablou real V(3) ; V este un vector cu trei elemente reale tablou ntreg A(5, 5); A este o matrice 5 x 5 cu elemente ntregi

Cu toate c tabloul are o singur denumire pentru ntreaga structur de date, elementele acestuia se identific prin index (numr de ordine), ca de exemplu V(2); A(1, 2); A(5, 4) etc. 3.2. Structuri de control Instruciunile unui algoritm redactat n pseudo-cod descriu operaiile pe care trebuie s le efectueze sistemul de calcul cu datele anterior descrise prin declaraii. Instruciunile sunt de dou tipuri: simple i structurate; cele simple sunt, la rndul lor, de trei feluri: de atribuire;
10

CAPITOLUL 1 Reprezentarea algoritmilor n pseudo-cod

de intrare; de ieire.
Instruciunea de atribuire are sintaxa: variabil = expresie

n care variabil este numele unei variabile a crei valoare urmeaz s fie modificat n urma instruciunii iar expresie este o construcie sintactic alctuit din constante, variabile, operatori i paranteze, dup regulile din algebr. Efectul execuiei instruciunii de atribuire const n evaluarea expresiei i modificarea, n concordan, a variabilei al crui nume se afl n stnga semnului egal. Se consider c operanzii care intervin n expresii au valori corespunztoare unuia dintre tipurile fundamentale. Dac operanzii sunt de tip logic, atunci se admit operatori logici precum sau, i, nu, ca n exemplele:
l1 = nu(l2) l3 = l1 sau l2 l4 = l1 i l3

Dac operanzii sunt numerici (real sau ntreg), se admit operatori aritmetici: +, -, *, / sau de relaie ( =, , <, >, , ), ca n exemplele:

ax +b 2x b l1 = (x b )si(x > a ) y=

n primul caz rezultatul este de tip numeric iar, n al doilea, de tip logic.
Instruciunile de intrare ieire au sintaxa: citete variabil (list variabile) scrie variabil (list variabile)

Prima instruciune are ca efect transferul pe canalul de intrare a unei valori (de exemplu introducerea de la tastatur), care modific valoarea variabilei specificate, iar a doua are ca urmare transferul valorii variabilei pe canalul de ieire (de exemplu, afiarea pe ecran sau tiprirea la imprimant). De exemplu, pseudo-codul:
real x, y, s, p citete x, y s=x+y p=x*y scrie s, p stop
11

METODE NUMERICE

reprezint algoritmul unui program care calculeaz suma i produsul a dou numere reale, ale cror valori se citesc de la tastatur. Programele se ncheie printr-o alt instruciune simpl, cu sintaxa
stop

care are ca efect terminarea execuiei programului respectiv. Pentru realizarea unor operaii mai complicate se utilizeaz, n afara instruciunilor simple, instruciunile structurate, care sunt: secvena; decizia (cu sau fr alternativ); ciclul (cu test iniial, cu test final sau cu contor); rutina (procedur sau funcie).
Secvena sau blocul de instruciuni reprezint un ir de instruciuni simple sau structurate (redactate cte una pe linie, n linii succesive), care se execut una dup alta, n ordinea n care au fost scrise; programul de mai sus este un exemplu de secven. Decizia este o instruciune care permite controlul execuiei i are una dintre urmtoarele variante sintactice: decizia simpl: dac condiie atunci secven decizia cu alternativ: dac condiie atunci secvena 1 altfel secvena 2

n care condiie este o expresie de tip logic, iar secvena este o secven de una sau mai multe instruciuni. Pentru a uura nelegerea acestei instruciuni, se constat c secvenele sunt redactate indentat decalate fa de cuvntul-cheie dac. n urma execuiei acestei instruciuni, se evalueaz expresia logic condiie; dac valoarea rezultat este adevrat, atunci se execut secvena (respectiv secvena 1), altfel se continu cu instruciunea urmtoare (respectiv se execut secvena 2). Exemple de instruciuni de decizie:
; calculul funciei modul, y = x dac x 0 atunci y=x
12

CAPITOLUL 1 Reprezentarea algoritmilor n pseudo-cod

altfel y = -x

0, x < 1 ; calculul funciei y = 2x, 1 x 1 2 x , x > 1 dac x<-1 atunci y=0 altfel dac (x -1) i (x 1) atunci y = 2x altfel y = x2
Ciclul reprezint o instruciune care permite repetarea unei secvene; se pot utiliza trei tipuri de cicluri: cu test iniial, cu test final i cu contor. Ciclul cu test iniial are sintaxa: ct timp condiie repet secven Efectul este evaluarea expresiei logice condiie; dac rezultatul este afirmativ (adevrat), atunci se execut secvena i ciclul se reia pn cnd condiia devine fals, dup care se sare peste secven i se continu cu urmtoarea instruciune. Se constat c exist riscul repetrii la infinit a ciclului dac valoarea logic a condiiei rmne mereu adevrat; este deci responsabilitatea programatorului s asigure caracterul finit al ciclului. n exemplul urmtor:

k=1 s=0 ct timp ak > 0 repet s = s + ak k=k+1 scrie s

poate fi utilizat pentru a aduna elementele unui tablou (de tip ir) pn la ntlnirea primului element negativ.
Ciclul cu test final are sintaxa: repet secvena pn cnd condiie secvena fiind executat repetat pn cnd condiia devine adevrat.
13

METODE NUMERICE

Deosebirea fa de ciclul cu test iniial const n aceea c, n acest caz, corpul ciclului este executat cel puin o dat. n exemplul urmtor, se calculeaz cu o eroare maxim impus, suma seriei cu termenul general (-1)k/k!.
t=1 k=0 s=0 repet t = -t / k s=s+t k=k+1 pn cnd t < eps
Ciclul cu contor permite repetarea unei secvene de un numr determinat de ori. Sintaxa ciclului cu contor este: pentru contor = val_ini, val_fin, pas repet secven n care contor este numele unei variabile de tip ntreg, val_ini, val_fin i pas sunt constante sau expresii de tip ntreg. Secvena de instruciuni din corpul ciclului este repetat pentru valori succesive ale contorului, pornind de la valoarea iniial val_ini, incrementat cu pasul pas, pn cnd acesta depete valoarea final val_fin. Dac n instruciune lipsete valoarea pas, se presupune c aceasta are valoarea implicit 1. n exemplul urmtor:

s=0 pentru k = 1, n s = s + ak scrie s

se calculeaz suma primelor n elemente ale unui tablou. Se ntlnesc, frecvent, situaii n care o anumit secven de instruciuni trebuie executat de mai multe ori, n momente diferite ale execuiei unui program. Pentru a se evita rescrierea de mai multe ori a acestei secvene se recurge la conceptul de rutin. Rutina reprezint o secven de declaraii i instruciuni creia i se atribuie un nume. Dac ntr-un program se face apel la o rutin, controlul execuiei se transfer rutinei, iar dup ncheierea acesteia se revine n programul apelant. n consecin, o rutin presupune, pe de o parte, definiia acesteia (prin specificarea declaraiilor i instruciunilor care o alctuiesc) iar, pe de alt parte, apelarea ei. Utilizarea rutinelor este justificat chiar i n cazul n care ele sunt apelate o singur dat ntr-un program, deoarece ele permit structurarea
14

CAPITOLUL 1 Reprezentarea algoritmilor n pseudo-cod

modular a unui algoritm. Pentru a realiza acest deziderat, o rutin trebuie s aib o anumit consisten, s ndeplineasc o funcie bine definit, care s permit reutilizarea ei i n cadrul altor programe. Dup modul de apelare, rutinele se mpart n dou categorii: proceduri i funcii. Procedura este definit printr-o construcie sintactic de forma:
procedur nume(list de parametri formali) secven retur n care nume este numele procedurii, alctuit din caractere alfanumerice, iar lista parametrilor formali conine nume de parametri, separate prin virgule. O parte din parametrii formali sunt parametri de intrare (ale cror valori provin din programul apelant i se transfer procedurii) iar alii sunt parametri de ieire (ale cror valori se determin n procedur i se transfer, apoi, programului apelant). Apelarea unei proceduri astfel definite se face prin invocarea numelui ei, urmat de lista parametrilor actuali: nume(list de parametri actuali) Parametrii actuali trebuie s concorde, ca numr, tip i ordine, cu cei formali (dar nu neaprat i ca nume). n exemplul urmtor, citete a, b sumprod(a, b, s, p) scrie s, p sumprod(s, p, s1, p1) scrie s1, p1 se face apel la procedura definit n continuare: procedur sumprod(x, y, sum, prod) real x, y, sum, prod sum = x + y prod = x * y retur care are pe x i y ca parametri formali de intrare i sum, prod parametri formali de ieire. n urma primului apel al acestei proceduri (cu parametri actuali de intrare a i b) se calculeaz i afieaz s = a + b, p = a * b iar n urma celui de-al doilea apel se calculeaz i se afieaz s1 = s + p + a * b, i p1 = (a + b) * a * b. n cazul unei proceduri, numrul parametrilor de intrare sau de ieire este arbitrar (poate fi, inclusiv, nul). Funcia este o variant de rutin la care toi parametrii formali sunt parametri de intrare, dar rutina ntoarce o valoare. Definiia funciei se realizeaz prin construcia sintactic
15

METODE NUMERICE

funcia nume(list de parametri formali) secven ntoarce valoare

Funcia poate fi apelat ca operand ntr-o expresie, n particular n atribuirea


valoare = nume(list de parametri actuali) Funcia se aseamn cu o procedur cu un singur parametru de ieire, dar, fa de aceasta, are o flexibilitate suplimentar n apelare. Exemplul urmtor real a, b citete a, b x = min(a, b) / max(a, b) scrie a, b recurge la utilizarea a dou funcii, min i max, definite prin funcia max(x, y) ; valoarea maxim real x, y, m dac x > y atunci m=x altfel m=y ntoarce m
funcia min(x, y) ; valoarea minim real x, y, m dac x > y atunci m=y altfel m=x ntoarce m Funciile elementare (modul, radical, putere, exponenial, logaritm, sinus, cosinus etc.) se consider predefinite n pseudo-cod, deoarece majoritatea limbajelor de programare de nivel nalt le au implementate.

4. Chestiuni de verificare
4.1. S se scrie o procedur care s calculeze produsul scalar a doi vectori. 4.2. S se scrie o procedur de nmulire a matricelor dreptunghiulare. 4.3. S se scrie algoritmul unui program care s calculeze

sin x , x < 5 y = 5x 3, 5 x 3 ln x , x > 3


16

CAPITOLUL 2 Rezolvarea ecuaiilor algebrice prin metoda general

Capitolul 2

REZOLVAREA ECUAIILOR ALGEBRICE PRIN METODA GENERAL.

1. Principiul metodei
Fie funcia f : D R R i ecuaia f(x) = 0. Dac f este un polinom sau poate fi adus la form polinomial, n urma unor transformri, ecuaia se numete algebric; n caz contrar este vorba de o ecuaie transcendent. Algebra clasic ofer formule i algoritmi care permit rezolvarea exact doar pentru o mic parte din ecuaiile care intervin n soluionarea diverselor probleme practice din domeniul ingineriei; chiar i atunci cnd astfel de posibiliti exist (dar aplicarea lor este complicat), ca i n toate celelalte cazuri, rezolvarea numeric a ecuaiilor este calea de urmat. Rezolvarea oricrei ecuaii, pe cale numeric, presupune parcurgerea a dou etape: Separarea rdcinilor ecuaiei, care presupune determinarea unui interval de existen pentru fiecare dintre rdcinile reale ale ecuaiei. Calculul aproximativ pentru fiecare rdcin real a ecuaiei i evaluarea erorii.

n ceea ce privete separarea rdcinilor, aceasta se poate realiza, spre exemplu prin metoda clasic a irului lui Rolle; alte posibiliti sunt analiza datelor problemei practice ce conduce la ecuaia respectiv, sau aproximarea
17

METODE NUMERICE

funciei f printr-un polinom de interpolare, rdcinile polinomului de interpolare servind ca valori aproximative iniiale ale rdcinilor ecuaiei. Cu toate c metoda general de rezolvare numeric a unei ecuaii poate fi apreciat ca fiind mai rudimentar dect metodele clasice, aplicabilitatea metodei este extrem de larg, ea ilustrnd foarte bine mecanismul general al algoritmilor de cutare a soluiei unei ecuaii.

Fig. 1 - Metod general de rezolvare numeric a ecuaiilor Fie f : [a , b] R , despre care se cunoate c () (a , b ) , unic, astfel nct f() = 0; considerndu-se, potrivit primului criteriu enunat mai sus, o valoare maxim admisibil a erorii er1 (renotat, pentru simplitate, cu er), se va considera soluie a ecuaiei orice numr xk pentru care f (x k ) er . Metoda presupune, mai nti, generarea unui ir de (n+1) puncte echidistante ntre a i b, potrivit relaiei
x k = a + (k 1) ba , k = 1,2...(n 1) , n (1)

dup care se testeaz condiia f (x k ) er ; n cazul n care rspunsul este afirmativ, punctul n cauz este inclus n mulimea soluiilor. Dup cum se poate observa i din figura 1, n general exist mai multe puncte din irul (1) care pot fi considerate soluii (n cazul din figur - xk-2 , xk-1, xk ...). Numrul acestor puncte este egal cu numrul termenilor din ir cuprini n intervalul [, ], unde i sunt soluiile din intervalul [a, b] ale ecuaiei f (x ) = er , < . Pentru a alege din mulimea soluiilor aproximative pe cea mai apropiat de soluia exact, , se poate recurge la dou strategii:
18

CAPITOLUL 2 Rezolvarea ecuaiilor algebrice prin metoda general

1) se calculeaz eroarea k = f(xk), pentru fiecare soluie potenial, xk i se alege ca soluie final cea pentru care eroarea este minim, n valoare absolut; 2) se reduce valoarea erorii maxime admisibile, er, reducndu-se astfel numrul de soluii aproximative gsite; n cazul unui program de calcul construit pe baza acestei metode, prin rularea repetat a acestuia, pentru valori din ce n ce mai mici ale parametrului er, se poate ajunge, la un moment dat, la situaia n care mulimea soluiilor poteniale conine un singur element, care poate fi declarat soluie a ecuaiei.

2. Algoritmul metodei
program Metoda_general real a,b ; domeniul de definiie al funciei f real er ; eroarea maxim admisibil a soluiei real eps ; eroarea curent ntreg n ; numrul de iteraii de efectuat ntreg k ; contorul iteraiilor citete a, b, n, er pentru k = 1, n-1 repet x = a + k * (b - a) / n dac f (x ) < er atunci

eps = f (x ) scrie x scrie eps

; soluia aproximativ a ecuaiei ; eroarea ntre f(x) i 0

stop

3. Exemplu de aplicare
Fie ecuaia x = cos(x); dac se consider funcia f : R R , f(x) = x - cos(x), se poate observa c f este continu i derivabil c f(0) = -1, n timp ce f = . 2 2 Conform teoremei lui Rolle, rezult c pe intervalul 0, funcia f 2 se anuleaz cel puin o dat; punctul (a , b ) pentru care f() = 0 reprezint soluia exact a ecuaiei considerate. Dac se utilizeaz un program de calcul bazat pe aceast metod pentru rezolvarea ecuaiei, cu diverse valori ale parametrului n (din relaia (1)) i pentru diverse valori ale erorii maxime admisibile, er, se obin rezultatele din tabelul 1.
19

METODE NUMERICE

Dup cum s-a menionat deja, sunt situaii n care se obine o mulime de soluii poteniale, dintre care trebuie selectat cea mai bun; dac se utilizeaz a doua strategie de selecie, pentru n = 100, n cazul n care er = 0.1 se gsesc 7 soluii poteniale, dac er = 0.05 - 3 soluii, n timp ce pentru er = 0.01 - o singur soluie. Evident, valoarea pentru er trebuie aleas judicios, n corelaie i cu numrul de puncte, n; o reducere peste o anumit limit a erorii maxime admisibile conduce la a nu gsi nici o soluie. Dac se recurge la prima strategie de selecie a celei mai bune soluii, programul trebuie s furnizeze i valorile funciei f n fiecare din punctele corespunztoare soluiilor poteniale (coloana a patra din tabelul 1); pe aceast baz se poate determina, cu uurin, soluia aproximativ a ecuaiei.
Tab. 1

er

xk
0.691 0.707 0.722 0.738 0.754 0.770 0.785 0.722 0.738 0.754 0.738 0.737 0.738 0.740 0.741 0.738 0.740 0.73906

f(xk)
-0.079 -0.054 -0.028 -0.001 0.025 0.052 0.078 -0.028 -0.001 0.025 -0.001 -0.004 -0.001 0.001 0.004 -0.001 0.001 -0.000043

0.1 100

0.05 0.02 0.005 1000 0.002 10000 0.0001

Trebuie observat c metoda poate rezolva, la nivelul actual al calculatoarelor, o varietate larg de ecuaii, rapid i cu o precizie mai mult dect satisfctoare.
20

CAPITOLUL 2 Rezolvarea ecuaiilor algebrice prin metoda general

4. Chestiuni de verificare
S se rezolve prin metoda general urmtoarele ecuaii de forma f(x) = 0, cu precizia specificat, tiind c admit cte o soluie pe intervalele indicate: 4.1. f(x) = x2 5x + 4, er = 10-3, (0,3) .

4.2. f(x) = x3 - 8x2 + 19x -12, er = 10-5, ( 1,2 ) . 4.3. f(x) = sin x ln x , er = 10-6, (0, ) .

21

CAPITOLUL 3 Rezolvarea ecuaiilor algebrice prin metoda biseciei

Capitolul 3

REZOLVAREA ECUAIILOR ALGEBRICE PRIN METODA BISECIEI.

1. Principiul metodei
Aceast metod poate fi considerat o variant mai evoluat a metodei generale, att deoarece viteza cu care se determin soluia aproximativ este mai mare, ct i pentru c permite cunoaterea, de la bun nceput a numrului de iteraii care trebuie parcurse pentru rezolvarea ecuaiei, cu o precizie impus. Condiia ca prin aceast metod s se poat rezolva o ecuaie de forma f(x) = 0 este ca f s existe un interval compact [a, b] astfel nct

f : [a , b] R , f C 0 ([a , b]), f (a ) f (b ) < 0 .

(1)

Condiia (1) asigur faptul c, pe intervalul [a, b], f are un numr impar de rdcini (cel puin una). Aplicarea metodei mai presupune i impunerea iniial a unei erori maxime admisibile, , pentru soluia aproximativ. Metoda const, n principiu, ntr-o serie de njumtiri succesive ale intervalului [a, b] i derivatelor acestuia, prin care se genereaz un ir de intervale [a1 , b1], [a2 , b2] . . . [an, bn] . . ., lungimea fiecruia fiind egal cu jumtatea intervalului precedent (a se vedea i figura 1). Mijloacele acestor intervale - c1 , c2 . . . cn . . . se constituie, astfel, ntr-un ir de aproximri succesive ale soluiei exacte, , care se va demonstra c este convergent ctre .
23

METODE NUMERICE

Fig.1 - Metoda njumtirii intervalului Algoritmul de aplicare a metodei este prezentat n cele ce urmeaz, n ipoteza n care f(a) > 0 i f(b) < 0 (cealalt variant de aplicare a metodei i anume cnd f(a) < 0 i f(b) > 0 derulndu-se analog). Se calculeaz c 0 =
a+b , dup care se evalueaz funcia f n punctul c0; 2 n cazul n care f(c0) = 0, nseamn c, absolut ntmpltor, s-a gsit soluia exact a ecuaiei, = c0 .

Dac f(c0) > 0, se renoteaz c0 cu a1 i b cu b1 (cazul din fig.2.3) iar, n caz contrar, a devine a1 i c0 - b1 . Se calculeaz c1 =

rezult = c1 .

a 1 + b1 , dup care se determin f(c1); dac f(c1) = 0 2

Se njumtete intervalul [a1 , b1], rezultnd [a2, b2], fie renotndu-se c1 cu a2 i b1 cu b2 (cazul figurat), fie c1 cu b2 i a1 cu a2 , n aa fel nct s avem f(a2) f(b2) < 0. Se determin c2 , apoi a3 i b3 , c3 , a4 i b4 . . . i aa mai departe, pn cnd, la un moment dat cn se constituie ntr-o aproximaie suficient de bun a soluiei exacte i se adopt = cn . Lungimea lk a intervalului oarecare din ir, [ak ,bk], rezultat din intervalul [a, b] dup k njumtiri succesive este
24

CAPITOLUL 3 Rezolvarea ecuaiilor algebrice prin metoda biseciei

lk =

ba 2k

(2)

Prin procedeul enunat mai sus, se genereaz n paralel dou iruri (a n )n 0 i (b n )n 0 - primul dintre ele monoton cresctor iar cellalt, monoton descresctor, ambele avnd ca limit soluia exact a ecuaiei:
n

lim a n = lim b n = .
n

(3)

Aceast afirmaie poate fi susinut dac se observ c eroarea n fcut prin aproximarea lui cu cn este mrginit superior de un ir cu limita 0:

n = c n l n 0 , atunci cnd n .

(4)

Mai mult, dac se impune, apriori, o limit maxim a erorii admisibile, er, din impunerea condiiei c n er se poate determina numrul minim de iteraii (njumtiri) care trebuie efectuate pentru a gsi soluia aproximativ a ecuaiei, Nmin:

N min

ba ln er b a log 2 +1= + 1, er ln 2

(5)

unde cu paranteze drepte s-a notat funcia parte ntreag.

2. Algoritmul metodei
program Metoda_biseciei real a,b ; domeniul de definiie al funciei f real er ; eroarea maxim admisibil ntreg n ; numrul de iteraii de efectuat ntreg k ; contorul iteraiilor citete a, b, er n = [ln((b - a) / er) / ln(2)] + 1 ; calculul numrului de iteraii k=0 ; iniializarea contorului repet k=k+1 c = (a + b) / 2 dac f(a) * f(c) > 0 atunci a=c altfel b=c
25

METODE NUMERICE

pn cnd k > n x=c scrie x ; soluia aproximativ a ecuaiei stop

3. Exemplu de aplicare
Fie ecuaia x = cos(x); dac se consider funcia f : R R , f(x) = x - cos(x), se poate observa c f este continu i derivabil c f(0) = -1, n timp ce f = . 2 2 Considernd aceast ecuaie i pornind, de asemenea, de la intervalul delimitat de a = 0 i b = , s-a utilizat un program de calcul bazat pe algoritmul 2 metodei da fa. Rezultatele sunt urmtoarele: - pentru er = 10-3 trebuie efectuate Nmin = 11 iteraii, soluia aproximativ fiind x = 0.7386; - pentru er = 10-6 trebuie efectuate Nmin = 21 iteraii, soluia aproximativ fiind x = 0.7390859; - pentru er = 10-9 trebuie efectuate Nmin = 31 iteraii, soluia aproximativ fiind x = 0.7390851328. Dup cum se poate observa, soluia ecuaiei este gsit mult mai repede fa de cazul metodei generale, numrul de iteraii necesare fiind relativ mic, chiar n cazul unor erori maxime admisibile extrem de reduse.

4. Chestiuni de verificare
S se rezolve prin metoda biseciei ecuaiile de mai jos, de forma f(x) = 0, cu precizia specificat, tiind c admit cte o soluie pe intervalele indicate. S se compare numrul de iteraii necesare cu cel de la rezolvarea acelorai ecuaii prin metoda general. 4.1. f(x) = x2 5x + 4, er = 10-3, (0,3) .

4.2. f(x) = x3 - 8x2 + 19x -12, er = 10-5, ( 1,2 ) . 4.3. f(x) = sin x ln x , er = 10-6, (0, ) .

26

CAPITOLUL 4 Rezolvarea ecuaiilor algebrice prin metoda Newton - Raphson

Capitolul 4

REZOLVAREA ECUAIILOR ALGEBRICE PRIN METODA NEWTON - RAPHSON.

1. Principiul metodei
Funcionarea acestei metode se bazeaz, ca principiu, pe generarea unui ir de aproximaii succesive ale soluiei exacte, , pentru o ecuaie de forma f(x) = 0. irul de aproximaii succesive, (x n )nN , se construiete pornind de la o valoare de start, x0 , convenabil aleas, utiliznd o formul de tip recurent

x n +1 = x n

f (x n ) , n 0, hn

(1)

unde hn = h(xn) este o funcie nenul (eventual o constant) aleas, de asemenea, convenabil. Potrivit modului de definire a funciei hn , exist mai multe metode, aa-numite clasice: metoda Newton - Raphson (metoda tangentelor variabile), metoda tangentelor fixe, metoda secantelor variabile (regula Falsi) i metoda secantelor fixe. n cazul metodei Newton - Raphson, funcia hn din relaia (1) se alege de forma hn = f (xn) (derivata funciei f). Rezult o formul de recuren de tipul x n +1 = x n f (x n ) , n 0. f (x n )
27

(2)

METODE NUMERICE

Formula (2) mai poart i numele de formula iterativ a lui Newton. Pentru rezolvarea numeric a unei ecuaii de forma f(x) = 0 prin acest procedeu, funcia f trebuie s ndeplineasc urmtoarele condiii: f : [a , b] R , f C 2 ([a , b]) (adic f derivabil de dou ori pe [a, b], cu derivatele continui), iar f i f pstreaz semnul constant pe tot intervalul; n plus, mai trebuie ca f s aib o singur rdcin n intervalul considerat. Punctul de start, x0 , trebuie ales astfel nct f (x 0 ) f (x 0 ) > 0 . Metoda are o interpretare geometric sugestiv (figura 1).

A0

A1 A2

Fig.1 - Metoda Newton-Raphson - interpretare geometric Potrivit formulelor din Geometria analitic, ecuaia tangentei dus la curba y = f(x) ntr-un punct oarecare, de abscis xk , este

y f (x k ) = f (x k )(x x k ) .

(3)

Dac se noteaz cu xk+1 abscisa punctului n care aceast tangent intersecteaz axa Ox (obinut pentru y = 0 n ecuaia (3)) i se exprim xk+1 , se obine formula lui Newton de mai sus. n aceste condiii, se poate observa c fiecare valoare, xk+1, din irul aproximaiilor succesive ale soluiei ecuaiei rezult ca abscisa punctului de intersecie, cu axa Ox, a tangentei la graficul funciei duse n punctul precedent, Ak , de abscis xk . Metoda se mai numete i metoda tangentelor variabile, deoarece panta fiecrei tangente, pe baza creia se genereaz punctele din ir, are, n general, panta diferit de a celorlalte tangente (precedente sau urmtoare). Funcia , definit ca
28

CAPITOLUL 4 Rezolvarea ecuaiilor algebrice prin metoda Newton - Raphson

(x ) = x

f (x ) f (x )

(4)

poart numele de funcie de iterare a metodei Newton - Raphson. Se poate verifica imediat c ( ) = , ( ) = 0 , ( ) 0 . (5)

Cu aceast notaie, irul aproximaiilor succesive ale soluiei ecuaiei date se poate genera dup formula xk+1 = (xk), k = 0, 1, 2, . . . (6)

Pentru estimarea modului n care se propag eroarea n cazul metodei de fa, precum i pentru determinarea ordinului de convergen, se consider dezvoltarea n serie Taylor, ntr-o vecintate a punctului ,

(x ) () + (x )2 (x ) = ( ) +
1! 2!

( ) + . . .

(7)

Dac n aceast dezvoltare se nlocuiete x cu xn, se rein doar termenii de rang 0, 1 i 2 i se au n vedere relaiile (5), rezult (x n ) +

(x n

)2 ( ) . 2

(8)

innd cont i de (6), se poate scrie egalitatea


x n +1 ( ) (x n ) 2 , 2

(9)

ceea ce este echivalent cu


n +1 ( ) 2 n . 2

(10)

Din relaia (10) rezult, pe de o parte c metoda Newton - Raphson este caracterizat de o convergen ptratic, fiind una dintre metodele cele mai rapide de rezolvare a unei ecuaii de forma f(x) = 0; pe de alt parte, ns, metoda reclam evaluarea funciei f i a derivatei sale la fiecare iteraie, ceea ce
29

METODE NUMERICE

poate fi, uneori, dificil (sau chiar imposibil, pentru funcii care nu sunt cunoscute analitic, ci doar tabelar).

2. Algoritmul metodei
program Metoda Newton_Raphson real x0 ; punctul de pornire a cutrii iteraiilor real er ; eroarea maxim admisibil real xvechi, xnou ; valoarea precedent / curent a soluiei ntreg n ; numrul de iteraii efectuate ntreg k ; contorul iteraiilor funcia f(x) ; funcia care definete ecuaia real x f = ; expresia funciei f ntoarce f funcia df(x) ; derivata funciei f real x df = ; expresia funciei df ntoarce df citete x0, er k=0 ; iniializarea contorului xnou = x0 ; iniializarea irului aproximaiilor succesive repet xvechi = xnou k=k+1 xnou = xvechi - f(xvechi) / df(xvechi) pn cnd xnou xvechi < er ; soluia aproximativ a ecuaiei scrie xnou scrie k ; numrul de iteraii parcurse stop

3. Exemplu de aplicare
Pentru a da posibilitatea unei comparaii reale ntre diferitele metode numerice de rezolvare a ecuaiilor, se consider aceeai ecuaie ca la lucrrile 2 i 3: f(x) = x - cos(x) = 0. Evident, f(x) = 1 + sin(x). Dac se alege ca punct de start x 0 = b = 2 i se utilizeaz un program de calcul scris pe baza metodei de fa, rezult urmtoarele:
30

CAPITOLUL 4 Rezolvarea ecuaiilor algebrice prin metoda Newton - Raphson

pentru er2 = 10-3 sunt necesari n = 3 iteraii i soluia aproximativ este x = 0.7391; pentru er2 = 10-6 sunt necesari n = 4 iteraii i soluia aproximativ este x = 0.7390851; pentru er2 = 10-9 sunt necesari n = 5 iteraii i soluia aproximativ este x = 0.7390851332. Rezultatele confirm c metoda Newton - Raphson are o convergen mult mai bun dect a celorlalte prezentate pn acum.

4. Chestiuni de verificare
S se rezolve prin metoda Newton - Raphson ecuaiile de mai jos, de forma f(x) = 0, cu precizia specificat, tiind c admit cte o soluie pe intervalele indicate. S se compare numrul de iteraii necesare cu cel de la rezolvarea acelorai ecuaii prin metoda general i metoda biseciei. 4.1. f(x) = x2 5x + 4, er = 10-3, (0,3) .

4.2. f(x) = x3 - 8x2 + 19x -12, er = 10-5, ( 1,2 ) . 4.3. f(x) = sin x ln x , er = 10-6, (0, ) .

31

CAPITOLUL 5 Rezolvarea ecuaiilor algebrice prin metoda punctului fix

Capitolul 5

REZOLVAREA ECUAIILOR ALGEBRICE PRIN METODA PUNCTULUI FIX.

1. Principiul metodei
Se spune c o funcie g D : R are un punct fix D , dac g() = (fig.1). Altfel spus, o funcie are unul sau mai multe puncte fixe dac graficul su intersecteaz odat - sau de mai multe ori - prima bisectoare.

Fig.1 - Interpretarea geometric a punctelor fixe ale unei funcii


33

METODE NUMERICE

Fie o ecuaie de forma f(x) = 0, unde f [a , b] : R i s presupunem c ecuaia considerat are o unic soluie real [a , b] . Ecuaia de mai sus poate fi scris, adunnd x n ambii membri, n forma echivalent g(x) = x (unde s-a notat f(x) + x = g(x)); dup cum se va arta ntr-un caz concret, aceast transformare a ecuaiei iniiale se poate realiza, n general, n mai multe moduri. Este uor de observat c rdcina ecuaiei iniiale satisface egalitatea g() = , deci este un punct fix pentru funcia g. Cu ajutorul funciei g astfel obinute se poate genera, pornind de la un numr arbitrar, x0, un ir de numere reale, utilizndu-se formula de recuren

x n +1 = g(x n ), n 1 .

(1)

Dac funcia g este derivabil pe intervalul [a, b], iar derivata acesteia ndeplinete condiia g (x ) < 1, ()x [a , b], (2) atunci se poate demonstra c irul xn constituie un ir de aproximaii succesive ale rdcinii exacte a ecuaiei, convergent ctre aceasta. ntr-adevr, se observ c funcia g ndeplinete condiiile de aplicare a teoremei lui Lagrange pe orice interval de forma [xn, ]; de aici rezult c () n (x n , ) astfel nct

g(x n ) g( ) = g ( n )(x n ) .
devine

(3)

Dac se ine cont de relaia (1) i de faptul c g() = , egalitatea (3) x n +1 = g ( n )(x n ) . Utiliznd n continuare i relaia (2) rezult c x n +1 x n , ceea ce este echivalent cu (5) (6) (4)

n +1 n .

Dac se dau valori de la 0 la n n relaia (6) i se nmulesc cele (n + 1) relaii astfel obinute, rezult c n +1 n 0 ; cum < 1, lim n = 0 i
deci lim n = 0 . Acesta este acelai lucru cu a afirma c lim x n = .
n n

Tot din relaia (6) rezult i c metoda punctului fix are convergen liniar.

34

CAPITOLUL 5 Rezolvarea ecuaiilor algebrice prin metoda punctului fix

2. Algoritmul metodei
program Metoda punctului fix real x0 ; punctul de pornire a cutrii iteraiilor real er ; eroarea maxim admisibil real xvechi, xnou ; valoarea precedent / curent a soluiei ntreg n ; numrul de iteraii efectuate ntreg k ; contorul iteraiilor funcia g(x) ; funcia de punct fix real x g = ; expresia funciei g ntoarce g citete x0, er k=0 ; iniializarea contorului xnou = x0 ; iniializarea irului aproximaiilor succesive repet xvechi = xnou k=k+1 xnou = g(xvechi) pn cnd xnou xvechi < er ; soluia aproximativ a ecuaiei scrie xnou scrie k ; numrul de iteraii parcurse stop

3. Exemplu de aplicare
Pentru a da posibilitatea unei comparaii reale ntre diferitele metode numerice de rezolvare a ecuaiilor, se consider aceeai ecuaie ca la lucrrile 2, 3 i 4: f(x) = x - cos(x) = 0. Ecuaia dat se poate scrie sub forma x = cos(x), deci se va adopta funcia g de forma g(x) = cos(x). Cum g(x) = -sin(x) se poate observa c g (x ) ( 1,0 ), ()x 0, , de unde rezult c pentru aceast situaie metoda 2 punctului fix este convergent oscilant. Dac se adopt drept criteriu de stopare a cutrii soluiei Criteriul 2 (relaia (2.6)) i se utilizeaz un program de calcul bazat pe metoda punctului fix (a se vedea 2.6.5), rezult urmtoarele:
pentru er = 10-3 i x0 = 0 x1 = 1.0000, x2 = 0.5403, x3 = 0.8575, x4 = 0.6543, x5 = 0.7935, x6 = 0.7014 . . . x18 = 0.7388;
35

METODE NUMERICE

pentru er = 10-3 i x0 =

x1 = 0.0008, x2 = 0.9999, x3 = 0.5403, 2 x4 =0.8575, x5 = 0.6543, x6 = 0.7935, x7 = 0.7014 . . . x19 = 0.7388;

pentru er = 10-6 i x0 = 0 x35 = 0.7390855;

pentru er = 10-9 i x0 = 0 x53 = 0.7390851335.

Se poate observa cum oscileaz valorile irului aproximaiilor succesive, de o parte i de alta a soluiei exacte; de asemenea, se poate remarca i convergena mai lent a metodei, fa de metoda Newton Raphson.

4. Chestiuni de verificare
A. Fie ecuaia f(x) = x2 - 2x - 3 = 0, avnd rdcinile 1 = -1 i 2 = 3. S se studieze posibilitatea rezolvrii acestei ecuaii, prin metoda punctului fix, n urmtoarele trei cazuri:

4.1. 4.2. 4.3.

g(x ) = 2 x + 3 , x0 = 4; 3 , x0 = 0; g (x ) = x2 xn2 3 , x0 = 4. g (x ) = 2

B. S se rezolve prin metoda Newton - Raphson ecuaiile de mai jos, de forma f(x) = 0, cu precizia specificat, tiind c admit cte o soluie pe intervalele indicate. S se compare numrul de iteraii necesare cu cel de la rezolvarea acelorai ecuaii prin metoda general i metoda biseciei.

4.4. f(x) = x2 5x + 4, er = 10-3, (0,3) . 4.5. f(x) = x3 - 8x2 + 19x -12, er = 10-5, ( 1,2 ) . 4.6. f(x) = sin x ln x , er = 10-6, (0, ) .

36

CAPITOLUL 6 Rezolvarea sistemelor de ecuaii liniare prin metoda Gauss

Capitolul 6

REZOLVAREA SISTEMELOR DE ECUAII LINIARE PRIN METODA GAUSS.

1. Principiul metodei
n primul rnd, trebuie fcut precizarea c metodele numerice pentru rezolvarea sistemelor de ecuaii, care urmeaz a fi prezentate n continuare, sunt destinate abordrii sistemelor de n ecuaii cu n necunoscute, cu coeficieni reali, despre care se cunoate, apriori, faptul c sunt compatibile. Un sistem de forma

a 11 x 1 + a 12 x 2 + . . . + a 1n x n = b1 a x + a x + . . . + a x = b 21 1 22 2 2n n 2 , ............................................................. a n1 x 1 + a n 2 x 2 + . . . + a nn x n = b n

(1)

n care a ij , b i R pentru i = 1, 2, . . . n, j = 1, 2, . . . n, poart numele de sistem de ecuaii liniare. Detaliind, n continuare, trebuie artat c metodele numerice utilizate pentru rezolvarea sistemelor de ecuaii liniare se mpart n dou categorii: metode directe, care determin soluia exact a sistemului i metode iterative, care - pornind de la o soluie iniial arbitrar - determin un ir de aproximaii succesive ale vectorului - soluie a sistemului.
37

METODE NUMERICE

Cea mai veche, cea mai bine cunoscut i, totodat, cea mai utilizat metod de rezolvare numeric a sistemelor de ecuaii algebrice liniare este metoda Gauss, care face parte din categoria metodelor directe; principiul metodei este prezentat n continuare. Pornindu-se de la un sistem de forma (1), se construiete o matrice de forma a 11 a 12 ... a 1n b1 a 21 a 22 ... a 2 n b 2 A= , (2) ... ... ... ... ... a a n 2 ... a nn b n n1

rezultat prin alipirea la matricea coeficienilor sistemului, A, a vectorului coloan a termenului liber, B. n continuare, algoritmul metodei urmrete transformarea matricei A ntr-o matrice ale crei elemente situate sub diagonala a11 - a22 - . . . -ann s fie nule; trebuie parcuri urmtorii pai:
a i1 , dup care din a 11 fiecare linie i se scade linia nti nmulit cu li1, i = 2, 3, . . . n; n cazul n care a11 = 0, se schimb prima linie cu o alta, care s aib primul element nenul, dup care se procedeaz la cele de mai sus. Rezult, astfel, dup renotare, o matrice de forma

se calculeaz o serie de multiplicatori de forma l i1 =

A (1)

a 11 (1) 0 = ... 0

a 12 (1) a 22 (1) ... a n 2 (1)

... a 1n (1) ... a 2 n (1) ... ... ... a nn (1)

b1 (1) (1) b2 ; ... b n (1) a i 2 (1)


(1)

(3)

a 22 care din fiecare linie i se scade linia nti nmulit cu li2, i = 3, 4, . . . n; n cazul n care a22(1) = 0, se schimb a doua linie cu o alta, care s aib al doilea element nenul, dup care se procedeaz la cele de mai sus. Rezult, astfel, dup o nou renotare, o alt matrice de forma a 11 ( 2) 0 = ... 0 a 12 ( 2) a 22 ( 2) ... 0
38

se calculeaz o nou serie de multiplicatori, de forma l i 2 =

, dup

A ( 2)

... a 1n ( 2) ... a 2 n ( 2) ... ... ... a nn ( 2)

b1 ( 2 ) ( 2) b2 ; ... b n ( 2)

(4)

CAPITOLUL 6 Rezolvarea sistemelor de ecuaii liniare prin metoda Gauss

se continu aplicarea procedurii pn cnd, dup n-1 pai, se obine matricea a 11 ( n 1) 0 = ... 0 a 12 ( n 1) a 22 ( n 1) ... 0 ... a 1n ( n 1) ... a 2 n ( n 1) ... ... ... a nn ( n 1) b1 ( n 1) b 2 ( n 1) , ... b n ( n 1)

A ( n 1)

(5)

n care toate elementele de sub diagonala a11(n-1), a22(n-1), . . . ann(n-1) sunt nule. Dac se renun, n notaiile din aceast ultim matrice, la exponenii care indic numrul pasului i se reface, pe baza ei, sistemul de ecuaii, rezult: a 11 x 1 + a 12 x 2 + ........... + a 1n 1 x n 1 + a 1n x n = b1 a 22 x 2 + ......... + a 2 n 1 x n 1 + a 2 n x n = b 2 ............................................................................ a n 1n 1 x n 1 + a n 1n x n = b n 1 a nn x n = b n

(6)

din ultima ecuaie a sistemului (6) se determina xn, dup care, nlocuind n penultima ecuaie pe xn, se determin xn-1 i aa mai departe, pn cnd, n final, se nlocuiesc n prima ecuaie valorile, deja aflate, pentru x2, x3, . . . xn i se calculeaz x1. Conform [11], numrul N de operaii aritmetice simple necesar a fi efectuate pentru rezolvarea, prin metoda Gauss, a unui sistem de ecuaii liniare de rang n este 4n 3 n N= (7) 3 Metoda Gauss, fiind o metod direct, conduce la gsirea soluiei exacte a sistemului, n msura n care acesta este compatibil.

2. Algoritmul metodei
program Metoda Gauss real l real s ntreg n ntreg i, j, k ; valoarea curent a multiplicatorului de linie ; sum auxiliar ; dimensiunea sistemului ; contori
39

METODE NUMERICE

tablou real A(n,n) ; matricea sistemului tablou real B(n) ; vectorul-coloan a termenului liber tablou real X(n) ; vectorul-soluie curent ; introducere date de intrare citete n pentru i = 1, n repet citete b(i) pentru j = 1, n repet citete a(i,j) ; eliminare pentru k = 1, n-1 repet pentru i = k+1, n repet l = a(i,k) / a(k,k) pentru j = k+1, n repet a(i,j) = a(i,j) - la(k,j) b(i) = b(i) - lb(k) ; retro-substituie x(n) = b(n) / a(n,n) scrie x(n) pentru i = n-1, 1, -1 repet s = b(i) pentru j = n, i+1, -1 repet s = s - a(i,j)x(j) x(i) = s / a(i,i) scrie x(i) stop

3. Exemplu de aplicare
2 x 1 + x 2 + x 3 = 11 S se rezolve sistemul 4 x 1 + 3x 2 + 10 x 3 = 28 . 2 x + 4 x + 17 x = 31 2 3 1 2 1 3 11 Se construiete matricea extins a sistemului, A = 4 3 10 28 . 2 4 17 31 a a 4 2 Se calculeaz multiplicatorii l 21 = 21 = = 2 , l 31 = 31 = = 1 i se a 11 2 a 11 2 efectueaz operaiile L2 - l21 L1 i L3 - l31 L1 (unde Li nseamn linia i).
40

CAPITOLUL 6 Rezolvarea sistemelor de ecuaii liniare prin metoda Gauss

Rezult A
a 32 (1)

(1)

2 1 3 11 = 0 1 4 6 ; se calculeaz, apoi, multiplicatorul 0 3 14 20

a 22 (1) 2 1 3 11 ( 2) A = 0 1 4 6 . Sistemul iniial poate fi rescris, acum, sub forma 0 0 2 2 2 x 1 + x 2 + 3x 3 = 11 x 2 + 4x 3 = 6 . Urmeaz imediat, din ultima ecuaie, x3 = 1, apoi, din a 2x 3 = 2 doua, x2 = 2 i, n fine, din prima ecuaie, x1 = 3.

l 32 =

3 = 3 i se efectueaz L3 - l32 L2, dup care se obine 1

4. Chestiuni de verificare
S se rezolve, prin metoda Gauss, sistemele de ecuaii: 7 x 3y + 2z = 5; x + 4 y + 2z = 3; 2 x + y 6z = 8. 5x1 x 2 + x 3 2 x 4 = 3; x 7 x + 3x + x = 2; 1 2 3 4 x1 + 2 x 2 6 x 3 + 2 x 4 = 1; x1 + x 2 + x 3 4 x 4 = 1.

4.1.

4.2.

41

CAPITOLUL 7 Rezolvarea sistemelor de ecuaii liniare prin metoda Jacobi

Capitolul 7

REZOLVAREA SISTEMELOR DE ECUAII LINIARE PRIN METODA JACOBI.

1. Principiul metodei
Metoda lui Jacobi este o metod iterativ, utilizabil pentru rezolvarea numeric a sistemelor de ecuaii algebrice liniare. Fie sistemul

a 11 x 1 + a 12 x 2 + . . . + a 1n x n = b1 a x + a x + . . . + a x = b 21 1 22 2 2n n 2 , ............................................................. a n1 x 1 + a n 2 x 2 + . . . + a nn x n = b n

(1)

n care a ij , b i R pentru i = 1, 2, . . . n, j = 1, 2, . . . n. Algoritmul metodei Jacobi ncepe prin a pune n eviden, n partea stng a semnului egal, n ecuaia numrul k a variabilei xk, k = 1, 2, . . . n. Evident, pentru a putea rescrie astfel sistemul, trebuie ca toi coeficienii de forma akk s fie nenuli; n cazul n care aceast condiie nu este satisfcut, se schimb ecuaiile ntre ele, n aa fel nct pe diagonala principal a matricei sistemului s nu existe nici un element nul i se renumeroteaz necunoscutele n concordan cu schimbrile efectuate. Rezult astfel:
43

METODE NUMERICE

1 (b1 a 12 x 2 a 13 x 3 ... a 1n x n ); x1 = a 11 x = 1 (b a x a x ... a x ); 2 21 1 23 3 2n n 2 a 22 ................................................................................. 1 (b n a n1 x 1 a n 2 x 2 ... a nn 1 x n 1 ). x n = a nn

(2)

Pentru uurina scrierii, se trece la transcrierea sistemului sub forma unei ecuaii matriceale x = A x + u, (3) n care s-au fcut notaiile

x1 x x = 2 , M x n

b1 a 11 b2 u =a 22 M bn a nn

0 a 21 A = a 22 M a n1 a nn

a 12 a 11 0
M a n2 a nn

a 1n a 11 a 2n L a 22 M M
L L

. 0

(4)

Principiul metodei lui Jacobi se bazeaz pe relaia (3), unde n membrul stng se scrie vectorul soluiilor la pasul k + 1, iar n membrul drept acelai vector, la pasul k. Rezult, astfel

x ( k +1) = A x ( k ) + u .

(5)

Evident, demararea calculelor impune adoptarea unui vector iniial, x0, care poate fi ales arbitrar. Egalitatea (5) mai poate fi scris i sub forma
n 1 (k ) = b i a ij x j , i = 1, 2, . . . n. a ii j=1 j i

xi

( k +1)

(6)

Cu ajutorul relaiei (5) se poate genera un ir de aproximaii succesive ale vectorului-soluie a sistemului, care - n anumite condiii - converge ctre soluia exact. n aceast situaie, se pot formula condiiile de convergen ale metodei lui Jacobi; dac
44

CAPITOLUL 7 Rezolvarea sistemelor de ecuaii liniare prin metoda Jacobi

1) lim A k = 0 ;
k

2) toate valorile proprii ale matricei A sunt, n modul, mai mici dect unitatea, atunci irul de aproximaii succesive ale vectorului-soluie, generat cu relaia (5), converge ctre soluia exact. Condiia 2) de mai sus este echivalent, [13], cu relaia

a ij a ii

< 1, i = 1, 2, . . . n,

(7)

j=1 j i

form sub care este mai uor de verificat, din punct de vedere practic. Dac un sistem de ecuaii liniare satisface condiia 2) de convergen, sistemul se numete diagonal; sistemele diagonale se bucur, deci, de proprietatea c sunt rezolvabile prin metoda iterativ Jacobi. n ceea ce privete criteriul de oprire a cutrii soluiei, dac x(k) i x(k+1) sunt dou aproximaii succesive ale vectorului soluie, generate potrivit relaiei (5), x 1 ( k +1) x 1( k ) (k ) ( k +1) x x x ( k ) = 2 , respectiv x ( k +1) = 2 , M M x ( k +1) x (k ) n n atunci vectorul x(k+1) poate fi declarat soluie a sistemului dac

err = max x i (k +1) x i ( k ) < er ,


1i n

(8)

unde er reprezint eroarea maxim admisibil, stabilit la nceputul rezolvrii sistemului.

2. Algoritmul metodei
program Metoda Jacobi real er real err real s ntreg n ntreg i, j, k tablou real A(n,n) tablou real B(n) ; eroarea maxim admisibil ; eroarea la pasul curent ; suma parial ; dimensiunea sistemului ; contori ; matricea sistemului ; vectorul-coloan a termenului liber
45

METODE NUMERICE

tablou real X(n) tablou real Xn(n)

; vectorul-soluie la iteraia anterioar ; vectorul-soluie curent

; introducere date de intrare i iniializare a vectorului-soluie citete n, er pentru i = 1, n repet citete b(i) pentru j = 1, n repet citete a(i,j) x(i) = 0 ; iteraii repet err = 0 pentru i = 1, n repet s = b(i) pentru j = 1, n repet s = s - a(i, j)x(j) s = s + a(i,i)x(i) xn(i) = s / a(i,i) s = xn(i) x(i) dac err < s atunci err = s scrie err pentru i = 1, n repet x(i) = xn(i) scrie x(i) k=k+1 pn cnd err < er stop

3. Exemplu de aplicare
S se rezolve, prin metoda iterativ a lui Jacobi, sistemul 7 x 1 x 2 + 2 x 3 = 11; 3 x 1 + 5 x 2 x 3 = 4; x + 3 x 6 x = 11. 2 3 1 Vom ncepe prin a constata c matricea sistemului ndeplinete condiia (7): a 12 + a 13 1 + 2 3 = = < 1; - pentru prima linie, a 11 7 7
46

CAPITOLUL 7 Rezolvarea sistemelor de ecuaii liniare prin metoda Jacobi

- pentru a doua linie, - pentru a treia linie,

a 21 + a 23 a 22 a 31 + a 32 a 33

= =

3 +1 4 = < 1; 5 5 1+ 3 4 = <1 6 6

i, prin urmare, sistemul poate fi rezolvat prin metoda lui Jacobi. Pe baza relaiei (6), se pot scrie formulele de recuren necesare pentru generarea irului de vectori-aproximaii succesive ale soluiei: ( k +1) 1 = 11 + x 2 ( k ) 2 x 3( k ) ; x1 7 1 ( k +1) = 4 + 3 x1( k ) + x 3(k ) ; x2 5 1 x (k +1) = 11 x (k ) 3 x (k ) . 1 2 3 6

( ( (

) )

Utilizndu-se, n continuare, un program de calcul bazat pe algoritmul metodei Jacobi, adoptndu-se eroarea maxim admisibil er = 0.001 i valoarea 0 iniial x (0 ) = 0 , la rezolvarea sistemului de mai sus se obin, succesiv, 0 valorile din tabelul 1.
Tab.1

Nr. iteraiei 1 2 3 4 5 6 7 8 9 10 11 12 13

x1 1.571 1.162 1.160 0.976 1.008 0.983 1.003 0.997 1.002 0.999 1.0004 0.9997 1.0001

x2 0.800 2.109 1.996 2.112 1.991 2.016 1.990 2.003 1.997 2.001 1.9993 2.0004 1.9998
47

x3 1.833 2.495 3.082 3.025 3.052 2.997 3.005 2.995 3.001 2.999 3.0005 2.9998 3.0001

err 1.833 1.309 0.586 0.184 0.122 0.055 0.026 0.013 0.006 0.004 0.0018 0.0011 0.0006

METODE NUMERICE

innd cont c soluiile exacte ale sistemului sunt x1 = 1, x2 = 2 i x3 = 3, se poate observa, din tabel, modul cum aproximaiile succesive converg ctre valorile corecte.

4. Chestiuni de verificare
S se rezolve, prin metoda Jacobi, sistemele de ecuaii de mai jos, dup ce se va fi verificat, n prealabil, ndeplinirea criteriului de convergen; s se compare rezultatele cu cele obinute, la rezolvarea acelorai sisteme, la lucrarea 6. 7 x 3y + 2z = 5; x + 4 y + 2z = 3; 2 x + y 6z = 8. 5x1 x 2 + x 3 2 x 4 = 3; x 7 x + 3x + x = 2; 1 2 3 4 x1 + 2 x 2 6 x 3 + 2 x 4 = 1; x1 + x 2 + x 3 4 x 4 = 1.

4.1.

4.2.

48

CAPITOLUL 8 Rezolvarea sistemelor de ecuaii liniare prin metoda Gauss - Seidel

Capitolul 8

REZOLVAREA SISTEMELOR DE ECUAII LINIARE PRIN METODA GAUSS - SEIDEL.

1. Principiul metodei
Metoda Gauss-Seidel este, ca i metoda Jacobi, tot o metod iterativ de rezolvare a sistemelor de ecuaii liniare; mai mult, se poate afirma c metoda Gauss-Seidel este, n fapt, o variant mbuntit a metodei Jacobi. Spre deosebire de aceasta, care nu folosete n iteraia curent vectorul (k) x , pn cnd toate componentele sale vor fi fost determinate, metoda GaussSeidel folosete aceste componente, pe msur ce ele sunt calculate. Astfel, la pasul (k+1) se folosesc n calculul necunoscutei xi(k+1) valorile necunoscutelor x1(k+1), x2(k+1), . . . xi-1(k+1), deja determinate n iteraia curent.; formula
( k +1)

xi

n 1 (k ) = b i a ij x j , i = 1, 2, . . . n. a ii j=1 j i

(1)

devine, n acest caz

xi

( k +1)

1 = a ii

i 1 n b i a ij x j (k +1) a ij x j (k ) , i = 1, 2, . . . n. j=1 j=i +1

(2)

49

METODE NUMERICE

Condiia de convergen

a ij

j=1 a ii j i

< 1, i = 1, 2, . . . n,

(3)

i criteriul de oprire a cutrii soluiei

err = max x i (k +1) x i ( k ) < er ,


1i n

(4)

sunt aceleai ca i pentru metoda lui Jacobi dar, la acelai nivel de precizie, metoda de fa este sensibil mai rapid.

2. Algoritmul metodei
program Metoda Gauss-Seidel real er real err real s ntreg n ntreg i, j, k tablou real A(n,n) tablou real B(n) tablou real X(n) ; eroarea maxim admisibil ; eroarea la pasul curent ; suma parial ; dimensiunea sistemului ; contori ; matricea sistemului ; vectorul-coloan a termenului liber ; vectorul-soluie

; introducere date de intrare i iniializare a vectorului-soluie citete n, er pentru i = 1, n repet citete b(i) pentru j = 1, n repet citete a(i,j) x(i) = 0 ; iteraii repet err = 0 pentru i = 1, n repet s = b(i) pentru j = 1, n repet s = s - a(i, j)x(j)
50

CAPITOLUL 8 Rezolvarea sistemelor de ecuaii liniare prin metoda Gauss - Seidel

s = (s + a(i,i)x(i)) / a(i,i) dac err < s x(i) atunci err = s x(i) x(i) = s scrie x(i) scrie err k = k+1 pn cnd err < er stop

3. Exemplu de aplicare
S se rezolve, prin metoda iterativ Gauss - Seidel, sistemul 7 x 1 x 2 + 2 x 3 = 11; 3 x 1 + 5 x 2 x 3 = 4; x + 3 x 6 x = 11. 2 3 1 S-a considerat acelai sistem ca n cazul metodei lui Jacobi, pentru a putea evidenia mai bine ceea ce metoda Gauss-Seidel are specific. Astfel, relaiile utilizate, de aceast dat, pentru generarea irului de vectori aproximaii succesive ale soluiei, devin 1 ( k +1) = 11 + x 2 ( k ) 2 x 3 ( k ) ; x1 7 1 ( k +1) = 4 + 3 x 1( k +1) + x 3 (k ) ; x2 5 1 x (k +1) = 11 x (k +1) 3 x (k +1) . 1 2 3 6

( (

) )

Utiliznd un program de calcul, bazat pe algoritmul metodei GaussSeidel, cu aceleai date iniiale ca n exemplul prezentat la lucrarea 7, se obin rezultatele din tabelul 1.
Tab. 1

Nr. iteraiei 1 2 3 4 5

x1 1.571 0.973 1.001 0.9999 1.0000

x2 1.743 1.977 1.997 1.9997 1.9999


51

x3 2.967 2.984 2.999 2.9999 2.9999

err 2.967 0.599 0.028 0.0022 0.0002

METODE NUMERICE

Evident, irul de aproximaii succesive converge mult mai rapid ctre soluia exact - pentru aceeai eroare maxim admisibil ca n cazul metodei lui Jacobi, sunt necesare doar 5 iteraii, n loc de 13, pentru gsirea soluiei aproximative a sistemului.

4. Chestiuni de verificare
S se rezolve, prin metoda Gauss - Seidel, sistemele de ecuaii de mai jos; s se compare rezultatele cu cele obinute, la rezolvarea acelorai sisteme, la lucrrile 6 i 7. 7 x 3y + 2z = 5; x + 4 y + 2z = 3; 2 x + y 6z = 8.
5x1 x 2 + x 3 2 x 4 = 3; x 7 x + 3x + x = 2; 1 2 3 4 x1 + 2 x 2 6 x 3 + 2 x 4 = 1; x1 + x 2 + x 3 4 x 4 = 1.

4.1.

4.2.

52

CAPITOLUL 9 Polinomul de interpolare al lui Lagrange

Capitolul 9

POLINOMUL DE INTERPOLARE AL LUI LAGRANGE.

1. Noiuni teoretice
Fie funcia f : [a , b] R , dat sub forma xk f(xk)

x0 f(x0)

x1 f(x1)

............... ...............

xn f(xn)

unde a = x 0 < x 1 < x 2 < K < x m = b este o diviziune, nu neaprat echidistant a intervalului [a, b]. Se aleg ca noduri de interpolare punctele diviziunii de mai sus i se impune coincidena funciei f cu un polinom de aproximare algebric de gradul n n nodurile de interpolare, adic

f (x k ) = Pn (x k ), k = 0,1,2, K n . de forma

(1)

Metoda lui Lagrange propune determinarea polinomului de interpolare L n (x ) = y 0 0 (x ) + y1 1 (x ) + K + y n n (x ) , (2)

unde s-au fcut notaiile yk = f(xk), k = 0, 1, 2, . . . n iar 0(x), 1(x), . . . n(x) sunt polinoame de gradul n care urmeaz a fi determinate din impunerea setului de condiii (1). Rezult, astfel, sistemul
53

METODE NUMERICE

y 0 0 (x 0 ) + y1 1 (x 0 ) + K + y n n (x 0 ) = y 0 ; y ( x ) + y (x ) + K + y (x ) = y ; 0 0 1 1 1 1 n n 1 1 M y 0 0 (x n ) + y1 1 (x n ) + K + y n n (x n ) = y n . O soluie a sistemului este, n mod evident, cea pentru care


0 (x 0 ) = 1; 1 (x 0 ) = 0; K k (x 0 ) = 0; K n (x 0 ) = 0; (x ) = 0; (x ) = 1; K (x ) = 0; K (x ) = 0; 1 1 k 1 n 1 0 1 M 0 (x k ) = 0; 1 (x k ) = 0; K k (x k ) = 1; K n (x k ) = 0; M 0 (x n ) = 0; 1 (x n ) = 0; K k (x n ) = 0; K n (x n ) = 1.

(3)

(4)

Rezult c polinomul k, spre exemplu, se anuleaz n n puncte i ia valoarea 1 ntr-un singur punct - xk. De aici, se poate adopta o form simpl pentru k i anume

k (x ) = a k (x x 0 )(x x1 )K(x x k 1 )(x x k +1 )K(x x n ) .

(5)

Constanta ak se determin impunnd condiia ca n punctul xk polinomul k s ia valoarea 1; se obine ak = 1 , (x k x 0 )(x k x 1 )K (x k x k 1 )(x k x k +1 )K (x k x n ) (6)

de unde, rezult

k (x ) =

(x x 0 )(x x 1 )K (x x k 1 )(x x k +1 )K (x x n ) . (x k x 0 )(x k x 1 )K (x k x k 1 )(x k x k +1 )K (x k x n )

(7)

n fine, se obine forma polinomului de interpolare Lagrange de gradul n:


L n (x ) =

k =0

y k (x

(x x 0 )(x x 1 )K (x x k 1 )(x x k +1 )K (x x n ) k x 0 )(x k x 1 )K (x k x k 1 )(x k x k +1 )K (x k x n )


a k (x ) =
ik

(8)

Dac se face notaia

(x x i ) , k = 0, 1, 2, . . . n, (x k x i ) i =0
n

(9)

54

CAPITOLUL 9 Polinomul de interpolare al lui Lagrange

expresia polinomului Lagrange se poate scrie mai simplu sub forma


L n (x ) =

k =0

y k a k (x ) .

(10)

Polinomul de interpolare Lagrange coincide cu funcia f n nodurile de interpolare, dar ntre nodurile de interpolare poate s se abat destul de mult de la valorile acesteia. Pentru a putea evalua ordinul de mrime al acestor abateri, se consider funcia abatere

n (x ) = f (x ) L n (x ) ;

(11)

pentru a determina forma analitic a acestei funcii, se consider, mai nti, o funcie auxiliar h, de forma

h (x ) = f (x ) L n (x ) K (x x 0 )(x x 1 )K (x x n ) ,

(12)

n care K este o constant care urmeaz a fi determinat. Se observ c h(xk) = 0 pentru k = 0, 1, 2, . . . n, deci funcia h are (n+1) zerouri, oricare ar fi valoarea lui K; aceast valoare se poate determina impunnd ca funcia h s se anuleze i ntr-un punct (x 0, x n ), x k ;se obine, de aici K= f ( ) L n ( ) . ( x 0 )( x 1 )K ( x n ) (13)

Dac se ine cont i de rdcina , se observ c funcia h are (n+2) zerouri pe intervalul [x0, xn] i, n plus, satisface condiiile teoremei lui Rolle pe fiecare dintre cele (n+1) subintervale care se formeaz folosind nodurile interne x1, x2, . . . xn-1, . Rezult c prima derivat a funciei h, h, are cel puin (n+1) zerouri pe [x0, xn]; raionnd asemntor, se observ c a doua derivat, h, are cel puin n zerouri pe [x0, xn] .a.m.d. pn la derivata de ordin n, care trebuie s aib cel puin un punct (x 0 , x n ) n care s se anuleze, ceea ce conduce la relaia
f (n +1) ( ) . K= (n + 1)!

(14)

Egalnd cele dou valori obinute pentru K, conform relaiilor (13) i (14), rezult f (n +1) ( ) n ( ) = f ( ) L n ( ) = ( x 0 )( x 1 )L ( x n ). (15) (n + 1)!
Deoarece valoarea lui este oarecare n intervalul [x0, xn], x k , (dar pentru = xk, evident, n() = 0) pentru funcia eroare rezult expresia:
55

METODE NUMERICE

f (n +1) ( ) n (x ) = (x x 0 )(x x 1 )K (x x n ) , (n + 1)!

(16)

unde este un punct oarecare din intervalul (x0, xn). Dac funcia f are derivata de ordinul (n+1) mrginit, adic dac exist M > 0 astfel nct pentru orice x (x 0 , x n ) s fie satisfcut relaia interpolare al lui Lagrange este, la rndul su mrginit:
n (x ) M x x 0 x x1 K x x n . (n + 1)! (17)

f (n +1) (x ) M , atunci, conform (16), eroarea de aproximare prin polinomul de

2. Algoritmul metodei
program Polinomul Lagrange ntreg n ntreg j, k tablou real x(n), y(n) real x0 real y0 real p ; gradul polinomului ; contori ; nodurile de interpolare ;abscisa punctului de interpolare ; valoarea interpolat a funciei ; variabil auxiliar

; introducerea datelor de intrare citete n citete x0 pentru k = 0, n repet citete x(k) citete y(k) ; construcia polinomului Lagrange y0 = 0 pentru k = 0, n repet pentru j = 0, n repet dac j k atunci x 0 x ( j) p = p x(k ) x( j) y0 = y0 + y(k)p scrie y0 stop
56

CAPITOLUL 9 Polinomul de interpolare al lui Lagrange

3. Exemplu de aplicare
Fie urmtoarea funcie, dat tabelar:
xk f(xk)

-2 0.25

0 1

2 4

4 16

6 64

8 256

10 1024

12 4096

S se calculeze, prin interpolare cu un polinom Lagrange, valoarea funciei f n punctul x = 5. Trebuie observat, mai nti, c punctele din tabel au fost extrase din mulimea de valori ale funciei f(x) = 2x; astfel, atunci cnd se va calcula valoarea aproximat prin interpolare, se va putea aprecia i calitatea aproximrii, valoarea exact fiind cunoscut (25 = 32). Dac se utilizeaz pentru interpolare doar cele dou puncte din mijlocul tabelei de valori (x0 = 4 i x1 = 6), polinomul de interpolare este de gradul nti (interpolare liniar): x4 x6 + 64 = 24 x 80 ; L1 (x ) = 16 64 46 rezult, de aici, L1(5) = 40. Eroarea relativ de aproximare este, n acest 40 32 caz 1 (5) = 100 = 25% - evident, o valoare inacceptabil de mare. 32 Dac se utilizeaz patru noduri de interpolare (x0 = 2, x1 = 4, x2 = 6 i x3 = 8) polinomul Lagrange de gradul trei rezult (x 4)(x 6)(x 8) + 16 (x 2)(x 6)(x 8) + L 3 (x ) = 4 (2 4)(2 6)(2 8) (4 2)(4 6)(4 8) (x 2)(x 4)(x 8) + 256 (x 2)(x 4)(x 6) , + 64 (6 2)(6 4)(6 8) (8 2)(8 4)(8 6) 9 45 2 x + 78 x 80. Se obine, astfel, respectiv L 3 (x ) = x 3 4 2 L3(5) =28.750, cu o eroare relativ de -10.156 % fa de valoarea exact.

n cazul utilizrii a ase noduri de interpolare (de la x0 = 0 la x6 = 10), cu ajutorul unui program de calcul special destinat pentru construcia polinomului de interpolare Lagrange, se obine L5(5) = 33.496 cu 5(5) = 4.675 %. Dac se utilizeaz ca noduri de interpolare a tuturor celor opt puncte din tabel, cu acelai program se obine L7(5) = 31.271, respectiv 7(5) = -2.278 %.
57

METODE NUMERICE

Evident, n exemplul dat nodurile de interpolare au fost alese relativ rare, iar punctul n care s-a aproximat cu polinomul Lagrange valoarea funciei este amplasat ct mai defavorabil posibil (la mijlocul distanei dintre dou noduri succesive); cu toate acestea, se poate remarca, n cazul utilizrii mai multor noduri de interpolare, o precizie relativ buna de aproximare.

4. Chestiuni de verificare
4.1. Fie urmtoarea funcie, dat tabelar:
xk f(xk)

-2 0.25

0 1

2 4

6 64

8 256

10 1024

12 4096

S se calculeze, prin interpolare cu un polinoame Lagrange, de grad 3, 4 i 5, valoarea funciei f n punctele x0 = 1, 2, 3, 4, 5. 4.2. Fie urmtoarea funcie, dat tabelar:
xk f(xk)

-2 0.11

0 1

2 9

4 81

6 729

S se calculeze, prin interpolare cu un polinoame Lagrange, de grad 2, 3, i 4, valoarea funciei f n punctele x0 = -1, 1, 3, 5.

58

CAPITOLUL 10 Polinomul de interpolare al lui Newton

Capitolul 10

POLINOMUL DE INTERPOLARE AL LUI NEWTON.

1. Noiuni teoretice
Fie funcia f tabelata n puncte echidistante i fie h pasul tabelei de valori (xk+1 - xk = h, pentru orice k = 0, 1, 2, . . . n-1). Se numete diferen finit la dreapta (progresive), de ordinul nti, pentru funcia f expresia

f (x ) = f (x + h ) f (x ) . Diferenele finite de ordin superior se definesc n mod recurent: n f (x ) = n 1f (x ) = n 1 (f (x )) k 0 1 2 3 4 xk x0 x1 x2 x3 x4 yk y0 y1 y2 y3 y4 yk y0 y1 y2 y3


59

(1)

(2) 3yk 4yk

2yk 2y0 2y1 2y2

3y0 3y1

4y0

METODE NUMERICE

n aplicaii, calculul diferenelor finite se face mai comod, prin simple operaii de scdere, pornind de la tabela de valori a funciei f dispus vertical; spre exemplu, pentru o tabel n cinci puncte, reprezentarea este cea de mai sus. Diferenele finite, de un anumit ordin, se calculeaz scznd diferenele finite de ordin inferior ntre care se gsesc, situate la stnga. n cazul n care se dorete aproximarea unei funcii prin interpolare, dac nodurile de interpolare sunt echidistante se poate utiliza polinomul de interpolare al lui Newton, construit pe baza diferenelor finite. n cele ce urmeaz se vor utiliza diferenele finite la dreapta (regresive). Se pune deci problema determinrii unui polinom algebric de grad mai mic sau egal cu n, care s satisfac condiiile de interpolare P(xk) = yk, k = 0, 1, 2, . . . n. Se construiete un polinom de forma
N d (x ) = c0 + c1 (x x 0 ) + c 2 (x x 0 )(x x1 ) + K + n + c n (x x 0 )(x x1 )K(x x n 1 ). (3)

Impunnd condiiile de interpolare polinomului de mai sus, rezult sistemul

+ c1 (x n x 0 ) + c 2 (x n x 0 )(x n x 1 ) + c n (x n x 0 )K (x n x n 1 ) = y n . (4) Dac se ine seama c nodurile de interpolare sunt echidistante, cu pasul h, sistemul (4) se poate scrie mai simplu ca

c 0 c 0 c 0 M c 0

+ c 1 (x 1 x 0 ) = y 1 ;

= y0 ;

+ c1 (x 2 x 0 ) + c 2 (x 2 x 0 )(x 2 x 1 ) = y 2 ;

c 0 c 0 c 0 M c 0

= y0 ; + h c1 = y 1 ; + 2 h c1 + 1 2 h 2 c 2 = y 2 ; + n h c1 + n (n 1) h 2 c 2 + K + 1 2 K n h n c n = y n . (5)

Sistemul (5) este un sistem de (n+1) ecuaii cu (n+1) necunoscute c0, c1, c2, . . . cn - compatibil determinat. Pentru rezolvare, se nlocuiete valoarea lui c0 din prima ecuaie n a doua i se afl c1, apoi se nlocuiesc valorile lui c0 i c1 n a treia ecuaie i se determin c2 .a.m.d. Rezult: y 0 2 y 0 n y 0 ; c2 = ;K c n = c0 = y0; c1 = . h 2!h 2 n!h n
60

(6)

CAPITOLUL 10 Polinomul de interpolare al lui Newton

Cu ajutorul acestor valori ale coeficienilor se obine formula explicit a polinomului de interpolare Newton de gradul n, construit cu diferene finite la dreapta: y 0 2 y 0 d (x x 0 ) + 2 (x x 0 ) (x x 1 ) + K + N n (x ) = y 0 + 1!h 2!h (7) n y0 (x x 0 )(x x 1 )K (x x n 1 ). + n!h n

n mod cu totul analog se poate construi si polinomul de interpolare Newton de gradul n, pe baza diferenelor finite la stnga, Ns n y n 2yn (x ) = y n + (x x n ) + (x x n ) (x x n 1 ) + K + 1!h 2!h 2 + n yn n!h n

(8)

(x x n )(x x n 1 )K (x x 1 ).

Polinomul lui Newton construit pe baza diferenelor finite la dreapta se recomand a fi utilizat cnd se dorete estimarea valorilor funciei y = f(x) n puncte mai apropiate de x0 dect de xn (situate n prima jumtate a tabelei de valori), n timp ce varianta construit cu diferene finite la stnga va fi folosit pentru aproximarea valorilor funciei n puncte din vecintatea lui xn (din a doua jumtate a tabelei de valori). Pentru a se pune n eviden eroarea aproximrii prin cele dou polinoame de interpolare Newton, se pot face aproximrile
n +1 n +1 (n +1) ( ) y 0 , respectiv f (n +1) ( ) y n . f

n +1

n +1

(9)

Din cele de mai sus rezult expresiile funciilor eroare pentru cele dou polinoame Newton (cu diferene finite la dreapta, respectiv la stnga):
d n

(x )

(n + 1)!h n +1
n +1 y n
n +1

n +1 y 0

(x x 0 )(x x 1 )K (x x n ) ,

(10)

respectiv

s n

(x )

(n + 1)!h

(x x 0 )(x x 1 )K (x x n ) .
61

(11)

METODE NUMERICE

2. Algoritmul metodei
program Polinomul Newton ntreg np ntreg n ntreg i, k tablou real x(n), y(n) tablou real D(n,n) real x0 real y0 real p real h ; gradul polinomului ; ordinul ultimului nod de interpolare ; contori ; nodurile de interpolare ; tabloul diferenelor finite ;abscisa punctului de interpolare ; valoarea interpolat a funciei ; variabil auxiliar ; pasul reelei de noduri

; introducerea datelor de intrare citete n; citete np; citete x0; pentru k = 0, n repet citete x(k) citete y(k) D(0,k) = y(k) ; calculul diferenelor finite pentru i = 1, n repet pentru k = 0, n-i repet D(i,k) = D(i-1,k+1) - D(i-1,k) ; construcia polinomului Newton h = x(1) - x(0) y0 = D(0,0) pentru i = 1,np repet p=1 pentru k = 0, i-1 repet x 0 x(k ) p = p (k + 1) h y0 = y0 + D(i,0)p scrie y0 stop

62

CAPITOLUL 10 Polinomul de interpolare al lui Newton

3. Exemplu de aplicare
Fie urmtoarea funcie, dat tabelar:
xk f(xk)

-2 0.25

0 1

2 4

4 16

6 64

8 256

10 1024

12 4096

S se calculeze, prin interpolare cu polinoame Newton, bazate pe diferene finite progresive - respectiv regresive - de diferite grade valoarea funciei f n punctele x = 1, 5, 9. Se constat c i de aceast dat punctele din tabel sunt extrase din graficul funciei f(x) = 2x, cu scopul declarat de a putea evalua mrimea erorilor de aproximare; se tie deci, apriori, c f(1) = 21 = 2, f(5) = 25 = 32 iar f(9) = 29 = 512. Se construiete tabelul diferenelor finite, pe baza valorilor funciei:

k 0 1 2 3 4 5 6 7

xk -2 0 2 4 6 8

yk 0.25 1

yk 0.75

2yk 2.25

3yk

4yk

5yk

6yk

7yk

3 4 12 16 48 64 192 256 768 10 1024 3072 12 4096 2304 576 144 36 9

6.75 20.25 27 81 108 324 432 1296 1728 972 243 729 60.75 182.25 546.75

irul de valori din csuele marcate situate n partea superioar a tabelului reprezint diferenele finite la dreapt (progresive) - y0, 2y0 . . . 7y0 - pe baza crora se poate construi cu relaia (4.41) polinomul Newton de grad mai mic sau egal cu 7. Spre exemplu, polinomul de gradul 2 rezult de forma

N d (x ) = 0.25 + 2

0.75 (x + 2) + 2.25 (x + 2) x = 0.28125 x 2 + 0.9375 x + 1 . 2 2 22


63

METODE NUMERICE

irul de valori din csuele marcate situate n partea inferioar a tabelului reprezint diferenele finite la stnga (regresive) - yn, 2yn, . . . 7yn = 7y0 - pe baza crora se poate construi cu relaia (4.42) polinomul Newton de grad mai mic sau egal cu 7. Astfel polinomul de gradul 3 rezult de forma N s (x ) = 4096 + 3 3072 2304 (x 12)(x 10) + (x 12 ) + 2 2 22 1728 (x 12)(x 10)(x 8) = 36 x 3 792 x 2 + 11904 x 14336. + 68

Prin intermediul a dou programe de calcul special concepute, se construiesc polinoamele Newton cu diferene finite progresive, respectiv regresive, cu gradul n modificabil, succesiv, ntre 2 i 7 (maximum posibil) i se calculeaz valorile aproximate ale funciei n punctele cerute. Rezult valorile din tabelele 1, respectiv 2.
Tab. 1

N d (1) n

2 3 4 5 6 7

2.219 1.719 2.271 1.560 2.805 0.403

n (1) [%] 10.95 -14.05 13.55 -22.00 40.25 -79.85

N d (5) n 12.719 27.484 33.021 31.360 32.606 31.271

n (5) [%] -60.25 -14.11 3.19 -2.00 1.89 -2.28


Tab .2

N d (9 ) n 32.219 129.672 312.396 476.849 517.962 509.152

n (9 ) [%] -93.71 -74.67 -38.98 -6.86 1.16 -0.56

n 2 3 4 5 6 7

N s (1) n 15712 -9236 2456 -172.859 -8.407 0.403

N s (5) n 3424 -356 -1.625 24.953 29.937 31.271

N s (9) n 352 460 490.375 501.766 506.749 509.152

Dup cum se poate observa din rezultatele obinute, n anumite cazuri eroarea relativ este suficient de mic pentru a putea considera interpolarea rezonabil de precis; sunt ns i situaii n care erorile sunt inacceptabile.
64

CAPITOLUL 10 Polinomul de interpolare al lui Newton

4. Chestiuni de verificare
4.1. Fie urmtoarea funcie, dat tabelar:
xk f(xk)

-2 0.11

0 1

2 9

4 81

6 729

S se calculeze, prin interpolare cu un polinoame Newton, de grad 2, 3, i 4, valoarea funciei f n punctele x0 = -1, 1, 3, 5. 4.2. Fie urmtoarea funcie, dat tabelar:
xk f(xk)

0 0

2 1.41

4 2

6 2.45

8 2.83

S se calculeze, prin interpolare cu un polinoame Newton, de grad 2, 3, i 4, valoarea funciei f n punctele x0 = 1, 3, 5 i 7.

65

CAPITOLUL 11 Aproximarea cu abatere medie ptratic minim

Capitolul 11

APROXIMAREA CU ABATERE MEDIE PTRATIC MINM.

1. Noiuni teoretice
Dac funcia de aproximat este cunoscut tabelar, xk yk = f(xk)

x0 y0

x1 y1

............... ...............

xm ym

atunci distana dintre aceasta i polinomul de aproximare cu abatere medie ptratic minim Pn se calculeaz ca
m 1 d(Pn , f ) = [Pn (x i ) y i ]2 . m + 1 i =0

(1)

Minimizarea abaterii medii ptratice este echivalent cu determinarea valorii minime a sumei de sub radical; rezult, c se caut minimul funciei S : R n +1 R ,
S(a 0 , a 1 , K a n ) = [Pn (x i ) y i ]2 .
i =0 m

(2)

67

METODE NUMERICE

Determinarea coeficienilor polinomului Pn se face impunnd condiia ca derivatele pariale ale funciei S s se anuleze. Cum
m S = 2 a 0 + a 1 x i + K + a n x i n y i x i k = 0 , k = 0, 1, 2, . . . n, a k i =0

(3)

rezult sistemul de ecuaii

i =0

(a
m

+ a 1 x i + K + a n x i n x i k = y i x i k , k = 0, 1, 2, . . . n.
i =0

(4)

Introducnd notaiile u k = x i k , respectiv v k = y i x i k ,


i =0 i =0 m m

(5)

sistemul (4) poate fi scris matriceal sub forma

u0 u1 u n

u 1 K u n a 0 v1 u 2 K u n +1 a 1 v 2 M = M . M u n +1 K u n + n a n v n

(6)

n cazul particular n care polinomul de aproximarea cu abatere medie ptratic minim este de gradul nti, p1(x) = a0 + a1x, acesta poart numele de dreapt de regresie, coeficienii acesteia calculndu-se cu formulele simple

a0 =

u 2 v 0 u 1 v1 u 0 u 2 u12

, respectiv a 1 =

u 0 v1 u 1 v 0 u 0 u 2 u12

(7)

obinute prin rezolvarea sistemului (6).

2. Algoritmul metodei
program ampm ntreg n ntreg k tablou real x(n), y(n) real u0, u1, u2, u3, u4
68

; numrul punctelor din tabel ; contor ; punctele din tabelul de valori ; sume de puteri ale absciselor

CAPITOLUL 11 Aproximarea cu abatere medie ptratic minim

real v0, v1, v2 real a0, a1, a2

; sume mixte ; coeficienii polinomului de aproximare

; introducerea datelor de intrare citete n citete x0 pentru k = 0, n repet citete x(k) citete y(k) ; calculul sumelor de puteri i determinarea funciei de aproximare u0 = n + 1; u1 = 0; u2 = 0; u3 = 0; u4 = 0; v0 = 0; v1 = 0; v2 = 0 pentru k = 0, n repet u1 = u1 + x(k) u2 = u2 + x(k)2 u3 = u3 + x(k)3 u4 = u4 + x(k)4 v0 = v0 + y(k) v1 = v1 + x(k)y(k) v2 = v2 + x(k)2y(k) a0, a1, a2 = Metoda Gauss(u0, u1, u2, u3, u4, v0, v1, v2) scrie a0, a1, a2 stop

3. Exemplu de aplicare
S se gseasc polinomul de gradul doi P2(x) = a0 + a1x + a2x2 care aproximeaz cu abatere medie ptratic minim funcia dat prin tabelul de mai jos:
xk yk = f(xk)

0 1

1 2

2 4
4

3 8
0

4 16
4

Se calculeaz cu (4.99) sumele u 0 = x i = 5 ; u 1 = x i 1 = 10 ;


i =0 i =0

u 2 = x i 2 = 30 ; u 3 = x i 3 = 100; u 4 = x i 4 = 354 ; v 0 = x i 0 y i = 31 ; v1 = x i y i = 98 ; v 2 = x i 2 y i = 346 .


i =0 i =0 i =0 4 i =0 i =0 i =0 4

69

METODE NUMERICE

5 10 30 a 0 31 Rezult sistemul 10 30 100 a 1 = 98 , care, rezolvat 30 100 354 a 346 2 printr-un program de calcul bazat pe metoda Gauss, conduce la soluiile: a0 = 1.2857; a1 = -0.9714; a2 = 1.1429. S-a obinut, astfel,

P2 (x ) = 1.2857 0.9714 x + 1.1429 x 2 .


Pentru a putea evalua precizia de aproximare, se calculeaz valorile lui P2 n abscisele punctelor din tabel i erorile faa de funcia dat n aceste puncte; rezult: P2(0) = 1.2857; P2(1) = 1.4572; P2(2) = 3.9145; P2(3) = 8.6576; P2(4) = 15.6865; 2(0) = 0.2857; 2(1) = -0.5428; 2(2) = -0.0855; 2(3) = -0.3424; 2(4) = -0.3135.

4. Chestiuni de verificare
S se determine funciile de gradul al doilea care aproximeaz cu abatere medie ptratic minim urmtoarele funcii date tabelar: 4.1.
xk f(xk) xk f(xk)

-2 0.11 0 0

0 1 2 1.41

2 9 4 2

4 81 6 2.45

6 729 8 2.83

4.2.

70

CAPTOLUL 12 Derivarea cu ajutorul polinomului de interpolare Lagrange

Capitolul 12

DERIVAREA CU AJUTORUL POLINOMULUI DE INTERPOLARE LAGRANGE.

1. Noiuni teoretice
n cazul unei funcii dat tabelar prin (n+1) puncte, se poate construi polinomul de interpolare Lagrange i se poate scrie

f (x ) =

k =0

y k a k (x ) +

(x x 0 )K (x x n ) (n +1) [(x )]. f (n + 1)!

(1)

Prin derivare n raport cu x n relaia (1), n condiiile n care x = xj, oricare ar fi j cuprins ntre 0 i n rezult

f f x j = y k a k x j +

( )

k =0

[ ( )] n (x x ) . ( ) (n + 1) ! j k
(n +1) x j
k =0 k j

(2)

Relaia (2) poart numele de formul de aproximare pentru f(xj) n (n+1) puncte, deoarece utilizeaz o combinaie liniar de (n+1) valori ale funciei f. n general, utilizarea unui numr mai mare de puncte n ecuaia (5.11) va genera o precizie mai mare, dar numrul mare al evalurilor funciei i creterea erorilor de rotunjire limiteaz acest lucru.
71

METODE NUMERICE

Se pot deduce, n continuare, cteva formule utile de derivare n trei puncte; dac se calculeaz derivatele termenilor ak se obine
2 x j x0 x2 2 x j x1 x 2 f xj = f (x ) + f (x 0 ) + (x 0 x1 )(x 0 x 2 ) (x1 x 0 )(x1 x 2 ) 1 2 2 x j x 0 x1 1 x j x j x i , + f (x 2 ) + f 6 (x 2 x 0 )(x 2 x1 ) i=0

( )

[ ( )]

(3)

i j

pentru j = 0, 1, 2. n cazul nodurilor egal deprtate, adic x1 = x0 + h i x2 = x0 + 2h, relaia (3) devine, succesiv, pentru j = 0, 1, respectiv, 2: f (x 0 ) =
2 1 1 3 h f (x 0 ) + 2 f (x 0 + h ) f (x 0 + 2 h ) + f ( 0 ) , h 2 2 3

(4)

(5)

2 1 1 1 h f (x1 ) = f (x 0 ) + f (x 0 + 2 h ) f (1 ) , h 2 2 6 2 3 1 1 h f (x 2 ) = f (x 0 ) 2 f (x 0 + h ) + f (x 0 + 2 h ) + f ( 2 ) . h 2 2 3

(6)

(7)

Dac n ultimele dou relaii se fac substituiile x0 + h = x0, respectiv, x0 + 2h = x0, dup care, pentru generalizare, se nlocuiete x0 cu xk (inclusiv n (5), rezult formulele n trei puncte pentru calculul primei derivate a unei funcii, ntr-un punct oarecare xk:
f (x k ) 1 [ 3 f (x k ) + 4 f (x k + h ) f (x k + 2 h )] , 2h

(8)

f (x k ) f (x k )

1 [ f (x k h ) + f (x k + h )], 2h

(9)

1 [f (x k 2 h ) 4 f (x k h ) + 3 f (x k )]. 2h
72

(10)

CAPTOLUL 12 Derivarea cu ajutorul polinomului de interpolare Lagrange

Cu totul asemntor se pot deduce formule pentru calculul primei derivate n mai mult de trei puncte - spre exemplu, mai jos este prezentat una dintre formulele n cinci puncte:
f (x k ) 1 [f (x k 2 h ) 8 f (x k h ) + 8 f (x k + h ) f (x k + 2 h )] . (11) 12 h

2. Algoritmul metodei
Program Derivare Lagrange real real real ntreg ntreg tablou real tablou real x0 h x n i y(n) dy(n) ; nodul iniial ; pasul reelei ; abscisa punctului curent ; dimensiunea tablourilor ; contor ; tabloul valorilor funciei ; tabloul valorilor derivatei

citete h, x0, n pentru i = 0, n repet citete y(i) 3 y (0 ) + 4 y(1) y (2 ) dy(0) = ; formula (8) 2h y(n 2 ) 4 y (n 1) + 3 y(n) dy(n) = ; formula (10) 2h pentru i = 1, n -1 repet y(i + 1) y(i 1) dy(i) = ; formula (9) 2h pentru i = 0, n repet x = x0 + ih scrie x, dy(i)

stop

3. Exemplu de aplicare
Fie urmtorul tabel,
xk f(xk)

0 1

1 2

2 4

3 8

4 16

coninnd cinci puncte din graficul funciei f(x) = 2x. S se calculeze valoarea primei derivate a funciei f n punctul x2 = 2.
73

METODE NUMERICE

Evident, pentru rezolvarea problemei se poate utiliza oricare dintre formulele n trei sau n cinci puncte; pentru a putea analiza oportunitatea utilizrii uneia sau a alteia dintre acestea, n continuare se calculeaz f(2), succesiv, cu formulele (8) . . . (11); se obin, astfel, urmtoarele rezultate: f (2 ) 1 ( 3 4 + 4 8 16) = 2 ; 2 1 f (2 ) ( 2 + 8) = 3 ; 2 1 f (2 ) (1 4 2 + 3 4 ) = 2.5 ; 2 1 f (2 ) (1 8 2 + 8 8 16) = 2.75 . 2

Cum valoarea exact a derivatei pentru x=2 este f (2 ) = 4 ln 2 2.772 , se poate remarca faptul c formulele prezentate dau, n general rezultate satisfctoare, iar n cazul utilizrii a cinci puncte n loc de trei aduce o mbuntire simitoare a preciziei de aproximare.

4. Chestiuni de verificare
4.1. Fie urmtoarea funcie, dat tabelar:
xk f(xk)

-2 0.11

0 1

2 9

4 81

6 729

S se calculeze, cu ajutorul polinomului de interpolare Lagrange, derivatele funciei f n punctele -2, 0, 2, 4, 6. 4.2. Fie urmtoarea funcie, dat tabelar:
xk f(xk)

0 0

2 1.41

4 2

6 2.45

8 2.83

S se calculeze, cu ajutorul polinomului de interpolare Lagrange, derivatele funciei f n punctele 0, 2, 4, 6, 8.

74

CAPITOLUL 13 Metode numerice pentru calculul integralei definite

Capitolul 13

METODE NUMERICE PENTRU CALCULUL INTEGRALEI DEFINITE.

1. Noiuni teoretice
Fie o diviziune a = x0 < x1 < x2 < . . . < xn = b a intervalului [a, b], cu noduri echidistante. Folosind proprietatea de aditivitate a integralei, se poate scrie

I = f (x )dx =
a

n 1 x k +1 f xk k =0

(x )dx .

(1)

Fie aproximarea funciei f pe intervalul [xk, xk+1] printr-un polinom de interpolare Newton de gradul nti

f (x ) y k +

y k (x x k ) , 1!h

(2)

unde h reprezint pasul diviziunii iar yk = f(xk); nlocuind f din (1) cu valoarea aproximativ dat de (2) rezult Ik =
x k +1 xk

f (x )dx

x k +1

xk

y y k + k (x x k )dx . 1!h

(3)

Prin schimbarea de variabil

x xk = t , din (3) se obine h


75

METODE NUMERICE

1 y I k h (y k + t y k )dt =h y k + k . 0 2

(4)

Cum y k = y k +1 y k , rezult c I k

h (y k + y k +1 ) i, n final, 2 (5)

f (x )dx

h n 1 ( y k + y k +1 ) . 2 k =0

n form desfurat, relaia (5) se scrie

a f (x )dx 2 (y 0 + 2 y1 + 2 y 2 + K + 2 y n 1 + y n ) .

(5)

Formula astfel dedus poart numele de formula trapezelor, deoarece, aa dup cum se poate observa din figura 1, se aproximeaz integrala I, reprezentat geometric prin aria suprafeei cuprinse ntre curba y = f(x), axa Ox i ordonatele ridicate n x = a i x = b, prin suma ariilor suprafeelor trapezelor de forma XkXk+1Mk+1Mk, construite cu ajutorul diviziunii considerate. Pentru evaluarea erorii pe care o implic aplicarea formulei trapezelor la calcularea unei integrale, fie F o primitiv a funciei integrant f; conform formulei Leibniz - Newton, pentru intervalul [xk, xk+1] se poate scrie k (f ) =
x k +1 xk

f (x )dx

h [f (x k ) + f (x k +1 )] = F(x k +1 ) F(x k ) h [f (x k ) + f (x k +1 )] 2 2 (6)

Fig.1 - Metoda trapezelor - interpretare geometric Dac se consider dezvoltrile n serie Taylor ale funciilor f i F ntro vecintate a punctului xk i se ine cont de faptul c F = f, rezult:
76

CAPITOLUL 13 Metode numerice pentru calculul integralei definite

h2 h f (x k +1 ) = f (x k ) + f (x k ) + f ( k ) ; 1! 2! h3 h h2 F(x k +1 ) = F(x k ) + f (x k ) + f (x k ) + f ( k ) . 1! 2! 3!

(7) (8)

n relaiile de mai sus k este un punct oarecare al intervalului [xk, xk+1]. Prin nlocuirea relaiilor (7) i (8) n (6) se obine
h3 k (f ) = f ( k ) . (9) 12 nsumnd erorile de aproximare de pe fiecare subinterval (dnd valori ba , se poate calcula lui k de la 0 la n-1 n (9)) i avnd n vedere c h = n eroarea total generat de aplicarea formulei trapezelor:

(b a )3 f ( ) , h 2 n 1 T (f ) = k (f ) = f ( k ) = 12 k = 0 12n 2 k =0
n 1

(10)

unde punctul a fost ales astfel nct f ( ) =

1 n 1 f ( k ) . n k =0 n cazul n care derivata a doua a funciei admite un majorant, adic ()M > 0 astfel nct f (x ) M, ()x (a , b ) , rezult, n final
T (f ) M (b a )3 12n 2

(11)

Analiznd formula (11) se observ c singura cale de reducere a erorii de aproximare este creterea numrului n (utilizarea unui numr ct mai mare de puncte intermediare). Formula trapezelor a fost dedus aproximnd funcia integrant printrun polinom de interpolare Newton de gradul nti, pe fiecare subinterval. Dac gradul polinomului Newton de aproximare se ia doi, procednd analog ca mai sus se obine, n cazul utilizrii unei diviziuni pentru care n este par, formula de cuadratur Cavalieri - Simpson:

f (x )dx

h [y 0 + 4 y1 + 2 y 2 + 4 y 3 + K + 2 y n 2 + 4 y n 1 + y n ]. 3 M (b a )5 180n 4

(12)

Eroarea pe care o implic aplicarea formulei Cavalieri - Simpson este: T (f ) . (13)

77

METODE NUMERICE

Comparnd expresiile erorilor pentru cele dou formule, (11) i (13), se poate vedea c formula Cavalieri - Simpson conduce, pentru acelai numr de noduri, la o precizie mai bun dect formula trapezelor. Prin utilizarea unor polinoame de interpolare de grad superior, se pot pune n eviden i alte formule de cuadratur, cu precizie i mai mare; cu toate acestea, avnd n vedere rezultatele foarte bune care se pot obine prin aplicarea formulelor (5) i (12), considerm suficient cunoaterea acestora.

2. Algoritmii metodelor
Program Metoda trapezelor real a, b real h real I ntreg n ntreg j funcie f(x:real):real f = ................. returneaz f citete a, b, n ba h= n I=0 pentru j = 0, n repet dac j = 0 sau j = n atunci I = I + f(a + jh) altfel I = I + 2f(a + jh) h I = I 2 scrie I stop Program Metoda Cavalieri_Simpson real a, b real h real I ntreg n ntreg j funcie f(x:real):real f = .................
78

; intervalul de integrare ; pasul diviziunii ; valoarea integralei calculate ; numrul de subintervale ; contor ; expresia analitic a funciei integrant

; intervalul de integrare ; pasul diviziunii ; valoarea integralei calculate ; numrul de subintervale ; contor ; expresia analitic a funciei integrant

CAPITOLUL 13 Metode numerice pentru calculul integralei definite

returneaz f citete a, b, n ba h= n I=0 pentru j = 0, n repet dac j = 0 sau j = n atunci I = I + f(a + jh) altfel dac j mod 2 = 1 atunci I = I + 4f(a + jh) altfel I = I + 2f(a + jh) h I = I 3 scrie I

stop

3. Exemplu de aplicare
S se calculeze, cu ajutorul formulelor de cuadratur, integralele 4 10 1 I1 = 2 x dx i I 2 = dx . 0 1 x n primul rnd trebuie observat c ambele integrale se pot calcula analitic, cu ajutorul formulei Leibniz - Newton. Astfel,

2x 15 10 I1 = = = 21.6404256133 , respectiv I 2 = ln x 1 = ln10 = 2.3025850930 . ln 2 0 ln 2


Se calculeaz apoi, cu ajutorul unui program special destinat, valorile aproximative ale integralelor, att cu formula trapezelor ct i cu formula Cavalieri - Simpson, pentru diferite numere de subintervale, n. Rezultatele obinute sunt urmtoarele: Tab. 1 Formula trapezelor n 10 102 103 104 10 102 103 I1 21.77887776 21.64181188 21.64043948 21.64042575 21.64112961 21.64042568 21.6404256133
79

Cavalieri - Simpson

I2 2.36521443 2.30325280 2.30259177 2.30258516 2.31197800 2.30258723 2.3025850930

METODE NUMERICE

Dup cum se poate observa din tabelul 1, rezultatele obinute confirm precizia (mult) mai bun a formulei Cavalieri - Simpson; de asemenea, se poate remarca i calitatea deosebit a rezultatelor - n cazul formulei amintite, pentru n = 103 diviziuni ale intervalului, primele zece zecimale fiind identice cu cele ale valorii exacte.

4. Chestiuni de verificare
S se calculeze, cu ajutorul formulei trapezelor i apoi cu formula Cavalieri Simpson, urmtoarele integrale: 4.1. 4.2. 4.3.
7

x dx dx

0 3 0 (3x
2

5 x

2 x + 5 dx

Comparai rezultatele obinute prin cele dou metode.

80

CAPITOLUL 14 Exemple de aplicare a metodelor numerice

Capitolul 14

EXEMPLE DE APLICARE A METODELOR NUMERICE N INGINERIA TEHNOLOGIC.

1. Profilarea sculei cilindro-frontal pentru prelucrarea filetelor ptrate


n cele ce urmeaz este prezentat un exemplu de aplicare a metodelor numerice de rezolvare a ecuaiilor, n domeniul profilrii sculelor achietoare. Astfel, fie cazul generrii suprafeelor elicoidale (n particular, un filet ptrat) cu ajutorul unei scule cilindro-frontal. Pentru a determina ecuaiile parametrice ale suprafeei filetului, conform notaiilor din figura 1, se pornete de la dreapta (), care printr-o () micare elicoidal de pas p descrie suprafaa filetului:

( )
Fig.1 - Ecuaiile parametrice ale suprafeei filetului
81

X = u; Y = 0; Z = b,

(1)

n care u este un parametru, variind ntre umin = Ri i umax = Re.

METODE NUMERICE

Imprimnd acestei drepte o micare de rotaie, de parametru unghiular , n jurul axei OZ, concomitent cu o translaie n lungul aceleiai axe, coordonatele punctului curent de pe suprafaa astfel generat satisfac ecuaia matriceal X cos sin 0 u 0 Y = sin Z 0 filetului: cos 0 0 0 + 0 . 1 b p (2)

Prin dezvoltarea relaiei (2) rezult ecuaiile parametrice ale suprafeei

( )

X = u cos ; Y = u sin ; Z = b + p .

(3)

Determinarea profilului sculei cilindro-frontal, de ax A , reciproc nfurtoare suprafeei (), se poate face prin impunerea condiiei Nikolaev,

(N

, r, A

)= 0 ,

(4)

n care N reprezint normala la suprafaa (2.36), scris n punctul curent iar r vectorul de poziie al punctului curent. Dac n produsul mixt (4) se nlocuiesc
N = i cos j sin k 0 = p sin i p cos j + u k ,

(5)

u sin u cos p A = i , respectiv r = u cos i + u sin j + (b + p ) k ,

atunci condiia se rezum la p sin 1 u cos p cos 0 u sin u 0 b + p =0 (6)

Dezvoltnd determinantul de mai sus dup a doua linie, condiia Nikolaev rezult, n final, sub forma

p (b + p ) cos + u 2 sin = 0 .

(7)

Ansamblul format de ecuaiile (3) i (7) d profilul cutat al sculei cilindro-frontale.


82

CAPITOLUL 14 Exemple de aplicare a metodelor numerice

Trebuie remarcat faptul c, dnd o valoare oarecare parametrului u, condiia (7) se transform ntr-o ecuaie transcendent de necunoscut . Pentru rezolvarea acestei ecuaii se va utiliza, n cele ce urmeaz, metoda general prezentat n Lucrarea 2. Mai concret, pentru determinarea profilului sculei, se dau parametrului u valori ntr-un numr nu de puncte, pentru fiecare dintre acestea rezolvndu-se numeric ecuaia (7) i determinnd valoarea corespunztoare a lui ; fiecare cuplu de valori (u, ) astfel gsit se nlocuiete n (3), ceea ce conduce la obinerea coordonatele unui punct al profilului sculei. Pentru rezolvarea unei aplicaii concrete, a fost conceput un program de calcul, potrivit algoritmului de mai jos.
program Filet ptrat real p, b, Ri, Re real fi, u real pasfi, pasu real X, Y, Z real er

; parametrii geometrici ai filetului ; parametrii analitici ai suprafeei filetului ; incremeni ; coordonatele punctelor profilului sculei ; eroarea maxim admisibil la rezolvarea ecuaiei (3) ntreg nu, nfi ; numrul punctelor de discretizare pentru parametrii u i fi ntreg i, j ; contori citete p, b, Ri, Re, er, nu, nfi Re Ri pasu = nu 1 1 pasfi = nfi 1 pentru i = 1, nu repet u = Ri + (i-1)pasu j=1 repet fi = (j-1)pasfi j=j+1 pn cnd p (b + p ) cos + u 2 sin < er X = u cos

Y = u sin Z = b +p scrie X, Y, Z stop


83

METODE NUMERICE

Cu ajutorul programului menionat, pentru p = 10 mm, b = 3 mm, Ri = 15 mm, Re = 20 mm, nu = 101 puncte, nfi = 100001 puncte, er = 0.01 s-au obinut rezultatele din tabelul de mai jos. Tab. 1 i 1 2 3 4 5 . . . 99 100 101 u 15.000 15.050 15.100 15.150 15.200 . . . 19.900 19.950 20.000 X 14.936 14.987 15.037 15.088 15.138 . . . 19.864 19.914 19.964 Y -1.380 -1.378 -1.376 -1.375 -1.373 . . . -1.201 -1.200 -1.198 Z 2.079 2.083 2.087 2.091 2.096 . . . 2.396 2.398 2.401

2. Profilarea sculei cremalier pentru generarea canelurilor triunghiulare


n cele ce urmeaz este prezentat o aplicaie pentru metodele numerice de rezolvare a sistemelor de ecuaii, n domeniul profilrii sculelor achietoare i anume profilarea sculei cremalier utilizat pentru generarea canelurilor triunghiulare prin metoda traiectoriilor [15]. Metoda traiectoriilor se bazeaz pe o exprimare discret a spaiului sculei, introducnd noiunea de nor de puncte asociat spaiului. Se accept un mod de reprezentare a spaiului asociat sculei, , n care se presupun cunoscute (determinabile) un numr suficient de mare (dar finit) de puncte, care formeaz ceea ce se va numi nor de puncte. Acestei reprezentri a spaiului i corespunde, n planul , reprezentarea matriceal de forma

1 j = 1 j

2 j K ij K nj , j = 1, 2, . . . m 2 j K ij K nj

(8)

Evident, un caz particular al acestui mod de reprezentare a spaiului l reprezint ceea ce se va numi nor ordonat de puncte, n care distribuia punctelor corespunztoare norului se face n baza unei legiti, punctele formnd o matrice cu distribuii ale punctelor de forma
84

CAPITOLUL 14 Exemple de aplicare a metodelor numerice

ij = { 0 i }, j = 1,2,K m, ij = {0 j }, i = 1,2,K n ,

(9)

n care i reprezint mrimi incrementale, suficient de mici, pentru o acoperire a spaiului n concordan cu precizia dorit a rezolvrii problemelor suprafeelor n nfurare. Aceast modalitate de reprezentare a spaiului faciliteaz operarea cu aceste puncte i simplific algoritmii de calcul. Pentru cazul generrii cu sculacremalier, se poate imagina un algoritm care s permit determinarea profilului primar al acestei scule, pornind de la cunoaterea formei suprafeei de generat i de la o reprezentare a spaiului creia i aparine cremaliera, n forma unui nor ordonat de puncte. Fie figura 2, n care sunt definite urmtoarele sisteme de referin: , care reprezint un sistem mobil, asociat spaiului sculei; XY - sistem mobil solidar cu semi-fabricatul; xy Fig.2 - Generarea cu scula sistem de referin fix. cremalier n sistemul de referin mobil XY, este definit profilul de generat

X = X(u ), Y = Y(u ).

(10)

Un punct oarecare al norului de puncte Mij(ij , ij) asociat spaiului , n micarea relativ fa de sistemul mobil XY

X = 3 () [ + a ],
n care 3 () =

(11)

Rr cos sin iar a = , descrie o traiectorie T, care Rr sin cos dup nlocuiri i calcule n (11), rezult de forma T

[ij R r ] cos + [ij R r ] sin ; [ ij R r ] sin + [ij R r ] cos .


85

(12)

METODE NUMERICE

Condiia ca punctul Mij(ij , ij) al norului de puncte s aparin totodat i unei traiectorii T, (12), care s aib un singur punct de contact (de tangen) cu profilul , conduce la ecuaiile de identificare: X(u ) = ij R r cos + ij R r sin ; Y(u ) = ij R r sin + ij R r cos ; X (u ) = ij sin + ij R r cos ; Y(u ) = cos R sin . ij ij r

[ [

] ]

(13)

Acesta este, de fapt, un sistem de patru ecuaii cu patru necunoscute: u, , ij, ij ; prin rezolvarea unui numr n de astfel de sisteme, vor rezulta coordonatele a n puncte aparinnd profilului cutat al sculei-cremalier. Profilul unui flanc al canelurilor triunghiulare (a se vedea fig.2) poate fi descris ca X(u ) = R r + u cos ; (14) Y(u ) = u sin . Derivnd n raport cu u relaiile (14) i nlocuind n (13), prin renotarea lui ij cu x i a lui ij cu y rezult

[x R r ] cos + [y R r ] sin + R r u cos = 0; [x R ] sin + [y R ] cos u sin = 0; r r x sin + [y R r ] cos cos = 0; x cos [y R r ] sin sin = 0.

(15)

Ecuaiile din sistemul (15) sunt transcendente; sistemul este, n principiu, de forma f1 (x , y, u , ) = 0; f (x , y, u , ) = 0; 2 (16) f 3 (x , y, u , ) = 0; f 4 (x , y, u , ) = 0.
Pentru rezolvarea sistemului se poate utiliza o metod general, bazat pe discretizarea variabilelor x, y, u i , x i = x 0 + i x , y j = y 0 + j y , u k = u 0 + k u , l = 0 + l i declararea ca soluie a cvartetului (xi, yj, uk, l) pentru care
86

(17)

CAPITOLUL 14 Exemple de aplicare a metodelor numerice

f1 f2 f3 f 4

(x i , y j , u k , l ) < er; (x i , y j , u k , l ) < er; (x i , y j , u k , l ) < er; (x i , y j , u k , l ) < er,

(18)

n care er are o valoare convenabil aleas (suficient de mic). Algoritmul programului de calcul care determin profilul sculeicremalier pentru generarea canelurilor triunghiulare este prezentat, n pseudocod, n cele ce urmeaz.

program Caneluri triunghiulare real Rr ; raza de rulare a semifabricatului real eps ; unghiul de nclinare al flancurilor canelurii real umax ; lungimea profilului canelurii real fi, u ; parametrii analitici ai suprafeei generate real dfi, du, dx, dy ; incremeni real x, y ; coordonatele punctului curent din nor real f1, f2, f3, f4 ; valorile numerice absolute ale condiiilor de coinciden real er ; eroarea maxim admisibil la rezolvarea sistemului (16) ntreg nu, nfi, nx,ny ; numrul punctelor de discretizare pentru parametrii u, fi, x i y ntreg i, j, k, l ; contori citete Rr, eps, umax, nu, nfi, nx, ny, dfi, dx, dy, er u max du = nu 1 pentru k = 1, nu repet u = (k -1)du pentru l = 1, nfi repet fi = (l -1)dfi pentru i = 1, nx repet x = (i -1)dx j=1 repet y = y + (j -1)dy calculeaz f1, f2, f3, f4 conform (15) j = j +1 pn cnd (condiia 18) sau (j > ny) scrie x, y stop
87

METODE NUMERICE

3. Aproximri ale profilurilor determinate prin puncte


Sunt numeroase situaiile n care profilurile sculelor achietoare sunt determinate numeric, cu ajutorul teoriei suprafeelor n nfurare, sub forma unei mulimi finite de puncte. Pentru o mai uoar reprezentare grafic a unui astfel de profil, ca i pentru rezolvarea diverselor probleme practice, prezint interes gsirea expresiei analitice a unei funcii care s aproximeze profilul determinat prin puncte. n acest sens, n cele ce urmeaz se va prezenta o aplicaie n tehnic a noiunilor teoretice prezentate n capitolul de fa: aproximarea, prin metoda abaterii medii ptratice minime, a profilului sculei-cremalier utilizat pentru generarea canelurilor dreptunghiulare. Fie schema de generare a unei caneluri exterioare dreptunghiulare cu ajutorul unei scule-cremalier (fig. 3); se consider urmtoarele sisteme de referin: xy - sistem de referin fix; XY - sistem de referin mobil, solidar cu suprafaa generat; - sistem de referin mobil, solidar cu scula-cremalier. Ecuaiile suprafeei generate (n planul z = 0) sunt X = u; Y = b. (19)

Micarea relativ ntre scul i semifabricat este descris prin relaia = 3T () X a , n care 3 T () = (20)

(21) Reunind relaiile (19), (20) i (21) rezult, dup efectuarea calculelor, ecuaiile familiei de suprafee:

Fig.3 - Generarea canelurilor cu scula-cremalier

Rr cos sin , a= . Rr sin cos

= u cos b sin + R r ; = u sin + b cos + R r .

(22)

Pentru determinarea nfurtoarei familiei de suprafee (22), adic a profilului sculei-cremalier, se pot utiliza mai multe metode.
88

CAPITOLUL 14 Exemple de aplicare a metodelor numerice

Conform metodei Gohman, ecuaiile (22) se asociaz cu condiia de nfurare, care n acest caz are forma u = R r cos ; nlocuind (23) n (22) se obine = R r cos 2 b sin + R r ; = R r sin cos + b cos + R r . (24) (23)

Ecuaiile (24), n care singurul parametru este , reprezint profilul sculei-cremalier; domeniul de variaie pentru se determin cu ajutorul relaiei (23), innd cont c u poate lua valori ntre
u min = R i 2 b 2 i u max = R e 2 b 2 , (25)

Ri i Re fiind raza interioar, respectiv exterioar, pentru arborele canelat considerat. Pentru determinarea efectiv a punctelor profilului sculei, se discretizeaz mai nti u ntr-un numr n de puncte de la umin la umax; pentru fiecare valoare a lui u se determin, apoi, valoarea corespunztoare a lui , rezolvnd ecuaia (23), dup care pentru perechea (u, ) gsit se calculeaz punctul de pe profilul sculei, (,), cu (24). n acest stadiu, profilul sculei rezult sub forma unei mulimi de puncte, {(1 , 1 ), ( 2 , 2 ),K( n , n )}. Se poate determina, acum, o funcie polinomial, P, care s aproximeze cu abatere medie ptratic minim profilul sculei. Astfel, dac se urmrete aproximarea printr-un polinom de gradul doi, P2 (x ) = a 2 x 2 + a1 x + a 0 , se calculeaz

u k = i , k = 0, 1 . . . 4, respectiv v j = i i j , j = 0, 1, 2,
k i =1 i =1

(26)

dup care se rezolv - de exemplu prin metoda Gauss - sistemul u0 u1 u 2 u1 u2 u3 u 2 a 0 v0 u 3 a1 = v1 . u 4 a 2 v2 (27)

Algoritmul unui program de calcul care, pornind de la profilul canelurilor de generat, gsete forma polinomului P2, este prezentat n continuare, redactat n pseudo-cod.
89

METODE NUMERICE

program Caneluri dreptunghiulare real Rr real Ri, Re, b real real real real u, umin, umax fi, fimin, fimax dfi, du, dx, dy csi, eta ; raza de rulare a semifabricatului ; parametrii geometrici ai canelurii de generat ; parametrul u i limitele sale de variaie ; parametrul fi i limitele sale de variaie ; incremeni ; coordonatele punctului curent de pe profilul generat ; parametri auxiliari pentru rezolvarea sistemului prin metoda Gauss ; coeficienii polinomului de aproximare ; numrul punctelor de discretizare pentru parametrul u ; rangul matricii sistemului (27) ; contori ; matricea sistemului ; vectorul-coloan a termenului liber ; vectorul-soluie

real m, S real a0, a1, a2 ntreg n ntreg ntreg tablou real tablou real tablou real nn i, j, k A(nn,nn) B(nn) X(nn)

citete Rr, b, Ri, Re, n, nn


u min = Ri 2 b 2

u max = Re 2 b 2 u min fi min = arccos Rr u max fi max = arccos Rr a(1,2) = 0 a(1,3) = 0 a(2,3) = 0 a(3,3) = 0 c(1) = 0 c(2) = 0 c(3) = 0 pentru i = 1, n repet fi max fi min fi = fi min + (i 1) n 1 2 csi = Rr cos (fi) b sin(fi) + Rr eta = Rr sin(fi) cos(fi) + b cos(fi) + Rr fi a(1,2) = a(1,2) + csi a(1,3) = a(1,3) + csi2 a(2,3) = a(2,3) + csi3 a(3,3) = a(3,3) + csi4 c(1) = c(1) + eta c(2) = c(2) + etacsi
90

CAPITOLUL 14 Exemple de aplicare a metodelor numerice

c(3) = c(3) + etacsi2 a(1,1) = n a(2,1) = a(1,2) a(2,2) = a(1,3) a(3,1) = a(1,3) a(3,2) = a(2,3) pentru k = 1, nn-1 repet pentru i = k+1, nn repet m = a(i,k) / a(k,k) pentru j = k+1, nn repet a(i,j) = a(i,j) - ma(k,j) b(i) = b(i) - mb(k) x(nn) = b(nn) / a(nn,nn) pentru i = nn-1, 1, -1 repet s = b(i) pentru j = nn, i+1, -1 repet s = s - a(i,j)x(j) x(i) = s / a(i,i) a0 = x(1) a1 = x(2) a2 = x(3) scrie a0, a1, a2 stop

Cu ajutorul unui program de calcul redactat pe baza algoritmului prezentat, s-a obinut, pentru Ri = 25 mm, Re = 30 mm, Rr = 30 mm, b = 3 mm, n = 1001 puncte, nn = 3,

P2 (x ) = 0.03297 x 2 + 0.19017 x + 2.98031 . Dac pentru determinarea nfurtoarei familiei de suprafee (22) se utilizeaz metoda distanei minime, condiia de nfurare se scrie sub forma + ( R ) = 0 , (28)
u r u

nlocuind n (28) u = cos i u = sin , condiia de nfurare rezult sub forma unei ecuaii transcendente. Rezolvnd numeric, pentru n valori cuprinse ntre umin i umax, ecuaia (28) - prin metoda general - se obin i n acest caz n cupluri (u, ), care nlocuite n (22) conduc la n puncte ale profilului sculei. Evident, n acest caz, cele n puncte ale profilului sculei difer de cele obinute prin metoda Gohman. Pentru a putea compara soluiile problemei considerate, obinute prin cele dou metode, printr-un program asemntor cu cel de mai sus se determin funcia polinomial de gradul al doilea care aproximeaz cu abatere medie ptratic minim profilul dat de punctele rezultate prin metoda distanei minime. Rezult, n acest caz P2 (x ) = 0.03219 x 2 + 0.19655 x + 2.97107 .
91

n care i sunt dai de (22).

METODE NUMERICE

Valorile coeficienilor acestui polinom s-au obinut pentru o eroare maxim admisibil, la rezolvarea ecuaiei (28), er = 0.001. Este evident c formele celor dou polinoame sunt aproape identice, aa dup cum era de ateptat.

4. Determianrea seciunii achiei la prelucrarea arborilor cu profil hexagonal cu ajutorul sculei-cremalier


n continuare se va prezenta o aplicaie a metodelor numerice de integrare n domeniul teoriei generrii suprafeelor n nfurare reciproc: determinarea seciunii achiei la prelucrarea arborilor cu profil hexagonal cu ajutorul sculei-cremalier. n acest scop, n conformitate cu notaiile din figura 4, se consider urmtoarele sisteme de referin: xy - sistem de referin fix; XY - sistem de referin mobil, solidar cu suprafaa generat; - sistem de referin mobil, solidar cu scula-cremalier. Ecuaiile suprafeei generate (n planul z = 0) sunt

X = b; Y = u.

(29)

Micarea relativ ntre scul i semifabricat este descris prin relaia


= 3T () X a ,

(30)
Rr Rr

n care
sin cos Fig.4 - Schema de generare a arborelui hexagonal (31) cu scula-cremalier Reunind relaiile (29), (30) i (31) rezult, dup efectuarea calculelor, ecuaiile familiei de suprafee: 3T () = cos sin

, a=

= b cos u sin + R r ; = b sin + u cos + R r .

(32)

Pentru determinarea nfurtoarei familiei de suprafee (32), adic a profilului sculei-cremalier, se scrie condiia de nfurare conform metodei distanei minime,
92

CAPITOLUL 14 Exemple de aplicare a metodelor numerice

u u , =

(33)

n care i sunt conform (32). Dup derivare i efectuarea calculelor, rezult u = R r sin . (34)

nlocuind condiia de nfurare, sub forma (34), n relaia (32), se obine profilul sculei-cremalier: (35) = b sin + R r sin cos + R r . Dac se noteaz cu parametrul micrii de rulare, micarea sculei fa de semifabricat poate fi descris de ecuaia X = 3 ()[ + a ], (36)
= b cos + R r cos 2 ;

n care matricele 3 i a au semnificaia dat de relaia (31). nlocuind n (36) pe 3, a i pe , conform (35), i dnd parametrului valorile corespunztoare la doi dini consecutivi ai sculei- cremalier, 1 i 2, se obin poziiile relative T1 i T2 ale acesteia fa de piesa prelucrat, potrivit fig. 5. Conform notaiilor alturate, cele dou traiectorii se intersecteaz cu cercul de seciune a Fig.5 - Determinarea seciunii achiei semifabricatului n C1, respectiv C2, iar ntre ele n punctul I. Seciunea achiei este, n aceste condiii, poligonul curbiliniu IC1C2. Dac se determin fiecare din arcele IC1, C1C2 i C2I printr-un numr oarecare de puncte, pe cale numeric, n sistemul de referin X0Y0, atunci aria seciunii achiei se poate calcula, n principiu, cu formula A = A1 - A2 + A3, (37)

n care A1 reprezint aria cuprins ntre arcul IC1, axa X0 i dreptele X0 = XI, respectiv X0 = XC1, A2 - aria cuprins ntre arcul IC2, axa X0 i dreptele X0 = XI,
93

METODE NUMERICE

respectiv X0 = XC2 iar A3 - aria cuprins ntre arcul C1C2, axa X0 i dreptele X0 = XC1, respectiv X0 = XC2. Fiecare dintre cele trei arii de mai sus se poate calcula numeric, prin metoda trapezelor. Algoritmul unui program de calcul pentru determinarea coordonatelor punctelor I, C1 i C2 este prezentat, n pseudo-cod, n cele ce urmeaz.
Program Intersecii real a, b real Rr real fi1, t1, u real fi2, t2, v real real real real real X1, Y1 X2, Y2 csi1, csi2, eta1, eta2 d er ; latura i apotema hexagonului ; raza de rulare ; parametrii ecuaiilor (35), (36) pentru traiectoria T1 ; parametrii ecuaiilor (35), (36) pentru traiectoria T2 ; coordonatele punctelor de pe T1 ; coordonatele punctelor de pe T2 ; variabile intermediare ; distana curent ntre dou puncte ; eroarea maxim admisibil la rezolvarea numeric a ecuaiilor ; coordonatele punctelor de intersecie ; numrul de puncte de discretizare a fiecrei traiectorii ; contori

real XI, YI, XC1, YC1, XC2, YC2 ntreg n ntreg i, j

citete n, a, Rr, er, t1, t2 3 b = a 2 pentru i = 1, n repet a a u = + (i 1) 2 n 1 u fi1 = arcsin Rr calculeaz csi1, eta1 cu relaia (35) calculeaz X1, Y1 cu relaia (36), pentru teta = t1 j=1 repet a a v = + ( j 1) 2 n 1
94

CAPITOLUL 14 Exemple de aplicare a metodelor numerice

v Rr calculeaz csi2, eta2 cu relaia (35) calculeaz X2, Y2 cu relaia (36), pentru teta = t2 fi2 = arcsin

d = (X1 X2) + (Y1 Y 2) j=j+1 pn cnd (d < er) sau (j > n) dac d < er atunci XI = X1 YI = Y1 salt la eticheta 1
2

i=1 repet a a u + (i 1) fi1 = arcsin 2 n 1 Rr calculeaz csi1, eta1 cu relaia (35) calculeaz X1, Y1 cu relaia (36), pentru teta = t1 u= d = X12 + Y12 a 2 i=i+1 pn cnd d < er XC1 = X1 YC1 = Y1 i=1 repet a a u u = + (i 1) fi2 = arcsin 2 n 1 Rr calculeaz csi2, eta2 cu relaia (35) calculeaz X2, Y2 cu relaia (36), pentru teta = t2 d = X2 2 + Y 2 2 a 2 i=i+1 pn cnd d < er XC2 = X2 YC2 = Y2

stop

Conform celor prezentate mai sus i considernd cunoscute coordonatele punctelor de intersecie cunoscute, cu ajutorul unui alt program, bazat pe algoritmul de mai jos, se poate calcula aria seciunii achiei.

95

METODE NUMERICE

Program Seciunea achiei real real real real real real real real real real real real a, b Rr fi, u t1, t2 ; latura i apotema hexagonului ; raza de rulare ; parametrii ecuaiei (35) ; parametrul din ecuaia (36) pentru traiectoria T1, respectiv T2 ; coordonatele punctelor de pe T1 ; coordonatele punctelor de pe T2 ; coordonatele punctelor de pe cerc ; variabile intermediare ; unghiurile la centru pentru C1 i C2 ; unghiul la centru curent ; variabile intermediare ; coordonatele punctelor de intersecie ; ariile pariale din formula (37) ; aria seciunii achiei ; numrul de puncte de discretizare a fiecrui arc de curb ; contori

X1, Y1 X2, Y2 X, Y csi, eta d1, d2 d I1, I2, I3 XI, YI, XC1, YC1, XC2, YC2 real A1, A2, A3 real A ntreg n ntreg i, j, k

citete n, a, Rr, t1, t2, XI, YI, XC1, YC1, XC2, YC2 3 b = a 2 I1 = XI + XC1 + 2b I2 = XI + XC2 + 2b I3 = 0 j = 0 pentru i = 1, n repet a u = (i 1) 2(n 1) u fi = arcsin Rr calculeaz csi, eta cu relaia (35) calculeaz X1, Y1 cu relaia (36), pentru teta = t1 dac (Y1 > YI) i (Y1 < YC1) atunci I1 = I1 + 2 X1 b j=j+1 calculeaz X2, Y2 cu relaia (36), pentru teta = t2 dac (Y2 > YI) i (Y2 < YC2) atunci I2 = I2 + 2 X2 b k=k+1
96

k=0

CAPITOLUL 14 Exemple de aplicare a metodelor numerice

YC1 YC2 d2 = arctg XC1 XC2 pentru i = 1, n repet d2 d1 d = d1+ (i 1) n 1 X = acosd Y = asind dac (i = 1) sau (i = n) atunci I3 = I3 + (x - b) altfel I3 = I3 + 2(x - b) YC1 YI YC2 YI YC2 YC1 A1 = I1 A2 = I2 A3 = I3 2( j 1) 2(k 1) 2(n 1) A = A1 - A2 + A3 scrie A
d1 = arctg

stop
Dac se consider un exemplu numeric concret, pentru a = 20 mm, Rr = 20 mm, n = 1000 puncte, 1 = 0, 2 = 10, cu primul dintre cele dou programe de calcul prezentate rezult coordonatele punctelor de intersecie I(-17.38693; 1.73372), C1(-18.58483; 7.40034) i C2(-17.98355; 8.74291) Pe baza datelor de intrare deja menionate i a acestor coordonate, cu ajutorul celui de-al doilea program se calculeaz aria seciunii achiei; rezult A = 3.15785 mm2.

97

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