Lucrarea 8 METODE DE OPTIMIZARE. SCOPUL LUCRĂRII Prezetarea uor algort de optzare, pleetarea acestora îtr-u lbaj de vel îalt î partcular, C ş folosrea lor î rezolvarea uor problee de electrocă.. PREZENTAREA TEORETICĂ Metodele de optzare se clasfcă, î raport cu problea care se pue petru fucţa ţtă sau scop, astfel:. Metode ce deteră expresa aaltcă a fucţe, care aproează cel a be o fucţe tabelată dată pr pucte;. Metode ce deteră dferţ paraetr a fucţe scop ţtă, petru a obţe u extre al fucţe... METODA CELOR MAI MICI PĂTRATE Presupue că ave o fucţe deftă prtr-u tabel de valor. Se a spue că fucţa este dată plct, dec u se cuoaşte fora î od drect. Dacă tabelul este obţut î ura uor ăsurător fzce, atuc eleetele lu pot avea eror. Eleetele care dferă ult de celelalte pot f elate. Problea care se pue este să deteră fucţa aaltcă care aproează cel a be datele d tabel sau curba care trece pr puctele tabelulu... COEFICIENTUL DE CORELAŢIE Iterpretarea erorlor de aproaţe se poate face cu ajutorul coefcetulu de corelaţe. Deş se calculează u al eror pătratce ed, estă ş o terpretare grafcă, d puct de vedere geoetrc. Î fal teresează cât de buă este potrvrea ue fucţ alese de o peste porţuea d grafcul ue fucţ aaltc ecuoscute, petru care cuoaşte doar o evoluţe locală, dată de setul de perech x, j de la trare.
Lucrarea 8 3... CORELAŢIA EŞANTIOANELOR eveetelor eşatoate Dacă ave o sere de ăsurător ale varablelor X ş Y, sub fora x s, cu =,,, atuc petru estarea corelaţe dtre X ş Y se poate face pe baza coefcetulu de corelaţe produs-oet, cuoscut sub uele de coefcet Pearso. Acesta a este deut ş coefcetul de corelaţe al eşatoaelor. Acesta este portat a ales dacă atât X cât ş Y sut dstrbute oral. Atuc coefcetul de corelaţe Pearso este cel a bu estat al corelaţe ître X ş Y. Acest coefcet se scre astfel: ude _ x ş r x = = x - x - - s x s 8. _ sut valorle ed ale eşatoaelor x ş, ar s x ş s sut devaţle stadard ale eşatoaelor x ş. Suarea se face după =,. Desfăcâd suele relaţa ateroară se poate rescre: r x = x - = = - = = = x - = = 8. Reat că valoarea absolută a coefcetulu de corelaţe trebue să fe a că sau egală cu. Cu toate că forula ateroară sugerează u algort îtr-u sgur pas petru calculul corelaţe eşatoaelor, este recuoscută stabltatea uercă a uu aseeea algort.... INTERPRETAREA GEOMETRICĂ A CORELAŢIEI Coefcetul de corelaţe poate f prvt ş drept cosusul ughulu ître do vector de eşatoae, geeraţ de două valor aleatoare. Ateţe: această etodă fucţoează doar cu date cetrate, adcă acele date care au fost deplasate cu eda eşatoaelor, astfel îcât au o ede artetcă average egală cu 0. Estă stuaţ î practcă î care se preferă u coefcet de corelaţe ecetrat, dar care este copatbl cu coefcetul Pearso. Ca exeplu, să presupue 5 ţăr petru care produsul aţoal brut este, respectv:,, 3, 5 ş 8 loae dolar. Presupue că gradul de sărăce al aceloraş ţăr, păstrate î aceeaş orde este de%, %, 3%, 5%, ş 8%. Atuc, să
4 Îdruar de laborator petru Metode Nuerce cosderă pe x ş ca fd do vector ordoaţ, cu 5 eleete, coţâd datele exprate ateror: x =,, 3, 5, 8 ş = 0., 0., 0.3, 0.5, 0.8 Urâd procedura de deterare a ughulu dtre do vector pe baza produsulu scalar, coefcetul de corelaţe ecetrat va f: 8.3 Datele ateroare au fost alese astfel îcât să este o corelaţe foarte buă ître ele: = 0.0 + 0.0 x Coefcetul de corelaţe Pearso va trebu să fe exact. Cetrâd datele dec deplasâdu-l pe x cu valoarea Ex =3.8 ş pe cu valoarea E =0.38 obţe: x = -.8, -.8, -0.8,., 4. ş = -0.08, -0.08, -0.008, 0.0, 0.04, de ude: aşa cu e aştepta. 8.4..3. INTERPRETAREA MĂRIMII CORELAŢIEI Ma ulţ autor oferă odaltăţ de terpretare a coefcetulu de corelaţe. De exeplu Cohe 988 a sugerat urătoarele terpretăr ale corelaţe, cu referre la studle pshologce Tabel 8.: Tabel 8. Corelaţa Valor egatve Valor poztve Mc slabă 0.9 to 0.0 0.0 to 0.9 Medu orală 0.49 to 0.30 0.30 to 0.49 Mare putercă.00 to 0.50 0.50 to.00 După cu îsuş Cohe a observat, toate crterle de acest fel sut îtr-o oarecare ăsură arbtrare ş u ar trebu luate î ses strct. Aceasta deoarece terpretarea uu coefcet de corelaţe depde de cotext ş de scopurle avute î vedere. O corelaţe de
Lucrarea 8 5 0.9 poate f foarte scăzută dacă ceva verfcă legle fzc folosd struete de îaltă caltate, dar poate f foarte rdcată î cotextul ştţelor socale ude apar flueţe datorate uor factor coplcaţ. Petru probleele de regrese la care e refer î laborator, terpretarea se poate face cofor tabelulu dcat de Cohe, petru că u estă factor eseţal care flueţează datele preluate, alţ decât erorle obşute de ăsurare ş terpretare, petru care se respectă regulle specfce de elare a experetelor eroate, de rotujre a valorlor cofor cu erorle de calcul acceptate sau de reprezetare oralzată petru valorle foarte c sau foarte ar. 3. METODE DE REGRESIE 3... REGRESIA LINIARĂ Se cosderă fucţa tabelată: Tabelul 8. x x x x 3 x 4.. x 3 4.. ude repreztă uărul de ăsurător sau de valor ale fucţe. Se cere să se detere fucţa lară de fora geerală = ax + b 8. care să aproeze cel a be fucţa tabelată astfel ca eroarea să fe ă. x - = = = a = - 8. è ç = = - x = = = = b = - 8.3 è ç = = 3... Algort 8.. Regresa lară vod Reg_L îtreg, // uărul expereţelor real x[ ], // vectorul abscselor fucţe real [ ], // vectorul ordoatelor fucţe real *pa, // adresa coefcetulu lu x poter real *pb // adresa tereulu lber poter
6 Îdruar de laborator petru Metode Nuerce // declararea ş defrea varablelor locale real sx ; // varabla petru sua abscselor real s ; // varabla petru sua ordoatelor real sxx ; // varabla petru suele de fora x real sx, // varabla petru suele de fora x îtreg ; // cotor petru cclurle for. // corpul de strucţu al fucţe s x = 0 ; s = 0 ; s x = 0 ; s xx = 0; // ţalzare cu 0 petru = s x = s x + x[] ; s = s + [] ; s x = s x + x[]*[] ; s xx = s xx + x[]*x[] ; *pa = s x -s x s ; *pb = sxx s-sx sx ; sxx-sx sx sxx-sx sx A arcat faptul că fucţa u îtoarce c o valoare pr cuvâtul-chee vod, la fel ca î C. Desuea vectorlor folosţ de etodă se stableşte fucţe de uărul al puctelor experetale cosderate. 3 Deurle ultelor două arguete ale fucţe respectă o coveţe de otaţe ş aue otaţa ugară î care se utlzează ş aute dc lterale despre tpul varable. Aceste dc lterale preced uele varable. Aceste două arguete fd de tp referţă dec poter deurle varablelor îcep cu ltera că p, ca sugeste petru poter. 3... REGRESIA POLINOMIALĂ Dacă regresa lară u este satsfăcătoare se caută o fucţe polo de u aut grad, 3, 4. Fe fucţa dată î tabelul 8.. Cosderă că reprezetarea grafcă a aceste fucţ se aseaăă foarte ult cu curba uu polo de gradul de fora: - = a x + a - x +... + ax + a0 8.4 Coefceţ poloulu se deteră cu ajutorul ssteulu:
Lucrarea 8 7 ì a a a k 0 + ak a è ç + = è ç + + = è ç ++ = è ç L = = a a a k+ 3 0 ak + ç + è= è ç + = è ç + + = è ç + + = è ç L L a = x = -------------------------------------------- í ç + è è ç + è ç + + è ç + + è ç p a p+ a p+ a p+k 0 L ak L p+ a = p = = = = = a + a + a +k ç 0 + ak a è = è ç + = è ç + + = è ç + + = è ç L L = î = 8.5 Ssteul obţut este u sste lar î ecuoscutele a 0, a, a.,..., a ş se rezolvă cu ua dtre etodele cuoscute î Lucrarea 3 - Metode petru rezolvarea ssteelor lare de ecuaţ. 3... Algortul 8..Regresa poloală îtreg Reg_Pol îtreg, // uărul de pucte cuoscute ale fucţe real X[ ], // vectorul abscselor fucţe real Y[ ], // vectorul ordoatelor fucţe îtreg, // gradul poloulu de regrese real *coef // adresa de îceput a vectorulu //coefceţlor poloulu de regrese. // declararea ş defrea varablelor locale îtreg, j, k ; // cotoare real A[N][N] ; // atrce utlzată petru //rezolvarea ssteulu 8.5. real B[N] ; //vectorul terelor lber ssteul 8.5 // corpul de strucţu al fucţe petru = + petru j= + A[][j] = 0 ; petru k= A[][j] = A[][j] + pow x[k], +j- ; A[j][] = A[][j] ; B[] = 0 ; petru k= B[] = B[] + [k] * pow x[k], - ; // rezolvă ssteul 7.5 dacă Gauss+,A,B,coef!=0 returează True ; altfel returează False ;
8 Îdruar de laborator petru Metode Nuerce A arcat faptul că fucţa u îtoarce c o valoare pr cuvâtul-chee vod, la fel ca î C; Desuea N a vectorlor folosţ de etodă se stableşte fucţe de uărul al puctelor cosderate, avâd î vedere că dexul al vectorlor î C este 0; 3 Fucţa Gauss la care se face referre este cea d Lucrarea 3 - Metode petru rezolvarea ssteelor lare de ecuaţ. 3..3. REGRESIA HIPERBOLICĂ Fe fucţa uercă dată î tabelul 8.. Se pue problea deterăr fucţe hperbolce: = 8.6 ax+b care aproează cel a be fucţa uercă. Valorle lu a ş b sut: a = = ç è x = x = - - = = x x 8.7 - = = = = b = 8.8 - ç = = è Îlocu valorle lu a ş b î fucţa hperbolcă 8.6 ş se obţe fucţa care aproează cel a be fucţa uercă d tabelul 8.. Petru a larza rezolvarea ssteulu s-a lucrat cu versele valorlor lu, adcă /, otv petru care suele s ş sx coţ valorle versate petru. 3..3.. Algort 8.3. Regresa hperbolcă vod Reg_Hp îtreg, real x[ ], real [ ], real *pa real *pb // uărul expereţelor // vectorul abscselor fucţe uerce // vectorul ordoatelor fucţe uerce // adresa coefcetulu lu a al fucţe //hperbolce // adresa coefcetulu lu b al fucţe //hperbolce
Lucrarea 8 9 // declararea ş defrea varablelor locale real s x ; // varabla ce coţe suele abscselor real s ; // varabla ce coţe sua verselor // ordoatelor. real s xx ; // varabla ce coţe pătratul abscselor real s x ; // varabla ce coţe sua raportulu // dtre abscse ş ordoate.. îtreg ; // cotor // corpul de strucţu al fucţe s x = 0 ; s = 0 ; s x = 0 ; s xx = 0 ; petru = // urează u corp de strucţu, dec se // foloseşte acolada deschsă. s x = s x + x[] ; s = s + ; [ ] x[ ] s x = s x + ; [ ] s xx = s xx + x[]*x[] ; *pa = s x - s x s ;*pb = sxx s-sxsx ; sxx -ss x x sxx-sx sx A arcat faptul că fucţa u îtoarce c o valoare pr cuvâtul-chee vod, la fel ca î C; Desuea vectorlor folosţ de etodă se stableşte fucţe de uărul al puctelor cosderate, avâd î vedere că dexul al vectorlor î C este 0; 3 Deurle ultelor două arguete ale fucţe respectă o coveţe de otaţe ş aue otaţa ugară î care se utlzează ş aute dc lterale despre tpul varable. Aceste dc lterale preced uele varable. Aceste două arguete fd de tp referţă dec poter deurle varablelor îcep cu ltera că p, ca sugeste petru poter. 3..4. REGRESIA EXPONENŢIALĂ Dacă se costată că fucţa uercă d tabelul 8., reprezetată grafc, se aseaăă foarte ult cu o expoeţală, atuc se cosderă fucţa expoeţală, de fora geerală: x =a b 8.9 î care a ş b sut costate poztve.
30 Îdruar de laborator petru Metode Nuerce Petru u calcul cood al costatelor a ş b se logartează fucţa 8.9: l = l a + xl b 8.0 ş se deteră costatele astfel îcât eroarea pătratcă de asablu să fe ă. ì é ü ù ê l - l ú ë = = = û a = exp 8. í ý é ù ê -ç ú î êë = è = úû þ ì ü é ù ê l - l ú ë û = = = b = expí ý 8. é ù ê -ç ú î êë = è = úû þ 3..4.. Algort 8.4. Regresa expoeţală vod Reg_Exp îtreg, // uărul abscselor fucţe real x[ ], // vectorul abscselor fucţe uerce real [ ], // vectorul ordoatelor fucţe uerce real *pa, // adresa coefcetulu lu a al fucţe // expoeţale. real *pb // adresa coefcetulu lu b al fucţe // expoeţale. // declararea ş defrea varablelor locale real s x ; // sua abscselor real s xx ; // sua pătratelor abscselor real s ; // sua logartlor d ordoate real s x ; // sua abscselor îulţte cu logartul // ordoatelor. îtreg ; // cotor petru bucla for. // corpul de strucţu al fucţe s x = 0 ; s = 0 ; s x = 0 ; s xx = 0 ; // ţalzare petru = s x = s x + x[] ; s xx = s xx + x[]*x[] ; s = s +log [] ; s x = s x + x[] * log [] ; s sxx-sx sx sx-sx s *pa = exp ç ; sxx-sx s *pb = exp è ç ; x è sxx-sx sx
Lucrarea 8 3 A arcat faptul că fucţa u îtoarce c o valoare pr cuvâtulchee vod, la fel ca î C; Desuea vectorlor folosţ de etodă se stableşte fucţe de uărul al puctelor experetale cosderate, avâd î vedere că dexul al vectorlor î C este 0; 3 Deurle ultelor două arguete ale fucţe respectă o coveţe de otaţe ş aue otaţa ugară î care se utlzează ş aute dc lterale despre tpul varable. Aceste dc lterale preced uele varable. Aceste două arguete fd de tp referţă dec poter deurle varablelor îcep cu ltera că p, ca sugeste petru poter. 3..5. REGRESIA GEOMETRICĂ Dacă fucţa uercă d tabelul 8. se aseaăă cu o fucţe de tp geoetrc, vo căuta să deteră fucţa de fora: b = ax 8.3 care să aproeze cel a be fucţa uercă. Adcă aceeaş codţe de eroare pătratcă, de asablu, ă. Ş î această stuaţe se recurge la o logartare a relaţe, petru a aduce rezolvarea î doeul lar. Ave: l = la + b*lx 8.3 Se obţ urătoarele valor petru a ş b: ç è a = exp b= = x x è ç l l l l l è ç - = è ç = = ç - è è ç l l = = ç - è è ç è ç l l l l = = = ç - è è ç l l = = 8.4 8.5 Cu aceste valor fucţa = ax b aproează cel a be fucţa tabelată 8. care se aseaăă cel a be cu o fucţe de tp geoetrc.
3 Îdruar de laborator petru Metode Nuerce 3..5.. Algortul 8.5. Regresa geoetrcă vod Reg_Geo îtreg, // uărul de abscse real x[ ], // vectorul abscselor fucţe uerce real [ ], // vectorul ordoatelor fucţe uerce real *pa, // adresa coefcetulu lu a al fucţe //geoetrce real *pb // adresa coefcetulu lu b al fucţe //geoetrce // declararea ş defrea varablelor locale real s x ; // sua logartlor abscselor real s ; // sua logartlor ordoatelor real s x ; // sua produsulu tre logart //abscselor ş logartlor ordoatelor real s xx ; // sua pătratelor logartlor abscselor îtreg ; // cotor // corpul de strucţu al fucţe s x = 0 ; s = 0 ; s xx = 0 ; s x = 0 ; // ţalzare petru = s x = s x + logx[] ; s xx = s xx + logx[]*logx[] ; s = s + log [] ; s x = s x + logx[]* log[] ; s sxx-sx sx sx-sx s *pa = exp ç ; sxx-sx s *pb = ; è x sxx-sx sx A arcat faptul că fucţa u îtoarce c o valoare pr cuvâtul-chee vod, la fel ca î C; Desuea vectorlor folosţ de etodă se stableşte fucţe de uărul al puctelor experetale cosderate, avâd î vedere că dexul al vectorlor î C este 0; 3 Deurle ultelor două arguete ale fucţe respectă o coveţe de otaţe ş aue otaţa ugară î care se utlzează ş aute dc lterale despre tpul varable. Aceste dc lterale preced uele varable. Aceste două arguete fd de tp referţă dec poter deurle varablelor îcep cu ltera că p, ca sugeste petru poter.
Lucrarea 8 33 3..6. REGRESIA TRIGONOMETRICĂ Se cosderă fucţa uercă dată î tabelul 8. ş fucţa trgooetrcă de fora: = a + b cos w x 8.6 care aproează cel a be fucţa uercă. Valorle lu a ş b sut: ç x è = è ç - = è ç = è ç cos w cosw cosw = a = 8.7 ç x - è è ç cos w cosw b = = = ç x - è è ç è ç cosw cosw = = = ç x - è è ç cos w cosw = = p w = p = f ude f - frecveţa, w - pulsaţa, ar T - peroada. T w se stableşte fucţe de perodctatea fucţe uerce date. 3..6.. Algortul 8.6. Regresa trgooetrcă 8.8 vod Reg_Tr îtreg, // uărul abscselor fucţe uerce real x[ ], // vectorul abscselor fucţe uerce real [ ], // vectorul ordoatelor fucţe uerce real *pa, // adresa coefcetulu lu a d expresa //fucţe trgooetrce real *pb // adresa coefcetulu lu b d expresa //fucţe trgooetrce // declararea ş defrea varablelor locale real w; // pulsaţa =*PI*T real s ; // sua ordoatelor fucţe uerce real s cos x : ; // sua pătratelor cosusurlor d abscse real s cos x ; // sua cosusurlor d abscse real s cosx ; // sua produsulu ordoatelor cu cosusul // abscselor corespuzătoare. îtreg ; // varabla de cotrol a cclulu for ş //dex de vector. // corpul de strucţu al fucţe // ţalzarea suelor s = 0 ; s cos x = 0 ; s cos x = 0 ; s cos x = 0 ; petru =
34 Îdruar de laborator petru Metode Nuerce s = s + [] ; s cos x = s cos x + cos w x * cos w x ; s cos x = s cos x + cos w x ; s cos x = s cos x + * cos w x ; *pa = s s cos x -s cos x s cos x s cos x -scos x s ; *pb = ; s cos x -scos x scos x scos x -scos x scos x A arcat faptul că fucţa u îtoarce c o valoare pr cuvâtul-chee vod, la fel ca î C; Desuea vectorlor folosţ de etodă se stableşte fucţe de uărul al puctelor experetale cosderate, avâd î vedere că dexul al vectorlor î C este 0; 3 Deurle ultelor două arguete ale fucţe respectă o coveţe de otaţe ş aue otaţa ugară î care se utlzează ş aute dc lterale despre tpul varable. Aceste dc lterale preced uele varable. Aceste două arguete fd de tp referţă dec poter deurle varablelor îcep cu ltera că p, ca sugeste petru poter. 3..7. REGRESIA MULTIPLĂ Această regrese se referă la fucţle de a ulte varable. Cosderâd o fucţe uercă de varable = f x, x,..., x ş u tp de fucţe aaltcă de varable care se aseaăă cu cea uercă, se pue problea deterăr fucţe aaltce astfel ca ea să aproeze cel a be fucţa uercă. Vo cosdera fucţa uercă dată î fgura 8.. z z z 3 z 4 z z 4 z 4 z 34 z 44 z 4 4 z 3 z 3 z 33 z 43 z 3 3 z z z 3 z 4 z z z z 3 z 4 z O x x x 3 x 4 x Fg. 8. - Reprezetarea fucţe ultple. x
Lucrarea 8 35 Cosderă că puctele z, z,..., z se află aproatv pe u pla: z = Ax + B + C 8.9 Se pue problea deterăr acestu pla, adcă a valorlor costatelor A, B, C astfel ca plaul să aproeze cel a be o fucţa uercă de două varable dată. Valorle lu A, B, C sut soluţle ssteulu: ì íç è ç îè = j= C+ ç è C+ ç è j ç C+ è x ç A+ è A+ = = = = j= x j j= j= ç A+ è j B= x = j= j j = j= = j= B= x z z j j = j= j z j 8.0 Utlzâd ua dtre etodele uerce de rezolvare a ssteelor lare d captolul 3 se deteră A, B, C, dec plaul căutat. 3..7.. Algortul 8.7. Regresa ultplă îtreg Reg_Mul îtreg, // uărul de arguete pe Ox îtreg, // uărul de arguete pe O real x[ ], // vectorul arguetelor pe axa Ox a fucţe // uerce. real [ ], // vectorul arguetelor pe axa O a fucţe // uerce. real z[ ], // vectorul valorlor fucţe uerce real *coef // adresa de îceput a vectorulu //coefceţlor plaulu. // declararea ş defrea varablelor locale îtreg, j ; // dc real A[4][N] ; // atrcea ssteulu 8.0; real B[4] ; // vectorul terelor lber a ssteulu //8.0 // corpul de strucţu al fucţe A[][] = * ; A[][] = 0 ; petru = A[][] = A[][] + *x[] ; A[][] = A[][] ; A[][3] = 0 ; petru = A[][3] = A[][3] + *[] ; A[3][] = A[][3] ; A[][3]=0 ; B[] = 0 ; B[] = 0 ; B[3 ] = 0 ; petru = petru j= A[][3] = A[][3] + x[]*[j] ; B[] = B[] + z[][j] ;
36 Îdruar de laborator petru Metode Nuerce B[] = B[] + x[]*z[][j] ; B[3] = B[3] + [j]*z[][j] ; A[3][]=A[][3]; A[][]=0 ; petru = A[][] = A[][] + *x[]*x[] ; A[3][3] = 0 ; // rezolvă ssteul 8.0 petru = A[3][3] = A[3][3] + *[]*[] ; dacă Gauss 3, A, B, coef!= 0 returează True ; altfel returează False ; Fucţa Gauss la care se face referre este cea d Lucrarea 3 - Metode petru rezolvarea ssteelor lare de ecuaţ. Desule atrcelor ş vectorlor folosţ de etodă se stableşte fucţe de uerele ş, ale puctelor experetale cosderate pe fecare axă de coordoate. 3.. OPTIMIZAREA NELINIARĂ FĂRĂ RESTRICŢII 3... METODE ALEATOARE DE CĂUTARE Procesul este teratv ş petru fecare etapă se geerează o succesue de uere aleatoare avâd o destate de probabltate uforă î doeul de varaţe ads, cu care se odfcă copoetele vectorulu. Metoda druulu aleator, ua dtre etodele des utlzate, costă î odfcarea vectorulu de pozţe petru oul puct astfel: X = k X + + k a. r 8. ude r este vectorul utate care are drecţa aleatoare, X k este vectorul de pozţe al puctulu ateror ş α u scalar. Se calculează valoarea fucţe î oul puct ş se copară cu valoarea fucţe î vechul puct. Dacă, după u aut uăr de teraţ valoarea lu F u se cşorează, se reduce scalarul α pâă ce valoarea lu deve a că decât o eroare de calcul dată, er > 0. 3... Algortul 8.8. Metoda druulu aleatoru real M_Aleator Adr_fucte, real x0[ ], real eps // Adresa ue fucţ reale de două // varable realepoter la o fucţe // vectorul de start // eroarea de calcul
Lucrarea 8 37 // declararea ş defrea varablelor locale real gaa0 ; // scalar îtreg cotor ; // dce real ; // ul dtre valorle fucţlor real val_curetă ; // valoarea ă curetă a fucţe real xcuret[ ] ; // valoarea ateroară ş curetă a // abscse puctulu. îtreg ater ; // uărul a de teraţ // corpul de strucţu al fucţe radoze ; // acro ce pregăteşte folosrea fucţe // rado pr ţalzarea //geeratorulu de uere aleatoare. gaa0 = ; cât tp gaa0 >eps // cât tp cotor = 0 ; = *Adr_fucte x0[0], x0[] ; execută x_curet[0]=x0[0] + gaa0*pow-, rado0 od ; x_curet[]=x0[] + gaa0*pow-, rado0 od ; val_curetă = *Adr_fucte x_curet[0], x_curet[] ; creetează cotor ; cât tp cotor <= ater SI val_curetă >= ; dacă val_cureta< // dacă = val_curetă ; x0[0] = x_curet[0] ; x0[] = x_curet[] ; dacă cotor > ater gaa0 = gaa0-0.00 ; // cât tp returează ; Notaţle Adr_fucte ş *Adr_fucte sut sbolce. Ele repreztă, respectv, adresa ue fucţ dec u poter la o fucţe ş apelul ue fucţ, drect, pr poterul al aceasta. Petru lăurr cosultaţ Aexa B - Noţu de C ecesare desfăşurăr lucrărlor de laborator. 3... METODA CĂUTĂRII UNIDIMENSIONALE Această etodă deteră ul ue fucţ F X pr odfcarea copoetelor vectorulu X pe râd, îcepâd cu pra copoetă. Se odfcă pra copoetă atâta tp cât se obţe o valoare a că a fucţe î puctul curet decât î cel precedet. Câd această codţe u a este îdepltă se trece la
38 Îdruar de laborator petru Metode Nuerce urătoarea copoetă a vectorulu X ş se procedează la fel pâă se balează toate copoetele vectorulu cosderâd, î acest caz, că s-a realzat u cclu. Se poate îcepe u ou cclu luâd ca puct ţal ul obţut. La fecare teraţe se deteră u ou puct fucţe de precedetul astfel: X k+ = X k + pas Ek 8. ude E k repreztă vectorul E k =0,0,,,,0, cfra fd pe locul k, k=0,,,, ar pas repreztă pasul cu care se odfcă copoetele. După u cclu îcheat se trece la u ou cclu cu vectorul ţal cel petru care s-a obţut ul î cclul îcheat precedet, luâd u ou pas a c, obţut d pasul precedet îulţt cu o raţe subutară. Se cotuă teraţa pâă câd pas < ε sau uărul de teraţ depăşesc u uăr a dat. ε repreztă eroarea de calcul a puctulu de. 3... Algortul 8.9. Metoda căutăr udesoale real M_Udesoal Adr_fucte, // Adresa ue fucţ reale de două //varable reale poter la o fucţe real x0[ ], // vectorul de start real eps // eroarea de calcul // declararea ş defrea varablelor locale real pas ; // pasul de odfcare al coordoatelor îtreg ; // cotor real _curet,_prec; // ul curet respectv prec. treg rp ; // uărul de paş real stâga = - ; real dreapta = ; real drecţe ;// drecţa de deplasare: stâga sau dreapta. // corpul de strucţu al fucţe pas = ; _curet = *Adr_fuctex0[0], x0[] ; execută petru = 0.. // petru rp = 0 ; drecţe = dreapta ; execută _prec = _curet ; creetează rp ; x0[]=x0[]+drecte*pas; _curet = *Adr_fucte x0[0], x0[] ; dacă rp= ŞI _curet > _prec x0[] = x0[]-*pas ; _curet = *Adr_fuctex0[0], x0[] ;
Lucrarea 8 39 creetează rp ; drecţe = stâga ; cât tp _curet <= _prec ; x0[] = x0[] - drecţe*pas ; _curet = *Adr_fucte x0[0], x0[] ; // petru pas = pas - 0.000 ; cât tp pas >= eps ; returează _curet ; Notaţle Adrf ş *Adrf sut sbolce. Ele repreztă, respectv, adresa ue fucţ dec u poter la o fucţe ş apelul drect al ue fucţ, pr teredul poterulu la aceasta. Petru lăurr cosultaţ Aexa B - Noţu de C ecesare desfăşurăr lucrărlor de laborator. 4. DESFĂŞURAREA LUCRĂRII 4.. ÎNTREBĂRI. Care este dfereţa dtre etodele de optzare ş cele de terpolare?. O problea de optzare se va soluţoa îtotdeaua cu succes depl petru orce valor ale ue fucţ? 3. Prezetaţ pe scurt prcpul de lucru al ue etode de regrese. 4. Ce poate flueţa precza de calcul a orcăre etode de optzare? 5. Cu se defeşte eroarea pătratcă ede? Este aceasta o fucţe de ua sau de a ulte varable? 6. Nuţ câteva utlzăr practce ale operaţe de regrese. 4.. PROBLEME LABORATOR. Să se pleeteze etodele....7 ş.... î lbajul ANSI C.. Se dau datele experetale d tabelul 8.: Tabelul 8.. X 3 4 5 6 7 8 9 Y.44.78.0736.4883.9859 3.583 4.998 5.597 6.9 Să se detere fucţa care aproează cel a be fucţa tabelată cu etodele.....5.
40 Îdruar de laborator petru Metode Nuerce 3. Se dă fucţa: z = x + -x- 4+ 3. Să se detere ul fucţe cu etodele druulu aleator ş a căutăr udesoale. 4.. TEME DE CASĂ. Presupue că ecuaţa ce leagă curetul de tesuea pe o dodă este: = I 0 e ev/γkt, cu e = q ş kt/q ~ 5V. Se cer valorlei 0 ş γ gaa utlzâdregresa lară asupra tabelulu: v V..8.36.44.5.6 l0 l -9 = l0-8 = l0-7 = l0-6 = l0-5 = l0-4 = -0.73-8.407-6.8-3.855 -.59-9.03 Idcaţe: l/i 0 = /gaa*v/ut => l - li 0 = a*x, cu: a = /gaa*ut, ar x = v. Apo: l = a*x + li 0, ceea ce respectă defţa ue regres lare, de foră = ax+b. D aplcarea regrese lare asupra tabelulu vor rezulta char a ş b. D valoarea lua se deducegaa, ar d valoarea lub rezultăi 0. Valorle de tp ordoată d tabel sut de fapt valor uerce scalar, aue fucţa logart atural aplcată valorlor curetulu d tabelul d problea terpolăr. Această operaţe este ecesară datortă logartăr aplcate relaţe curetulu, î deducerea teoretcă. Se vor putea, astfel, scădea valor de aceeaş atură, î expresa eror pătratce. BIBLIOGRAFIE. I. Rusu, Metode uerce î electrocă. Aplcaţ î lbaj C, Edtura Tehcă, Bucureşt, 997.