/*RM 4/1 gr. studentas DARIUS RAMANAUSKAS*/ /*Si programa skirta diodo VACH koeficientu nustatymui*/ /*Diodo VACH yra aprasoma formule, kurioje yra trys nezinomi koeficientai,*/ /*kuriuos reikia optimizuoti konkreciam diodui. Keliuose VACH taskuose*/ /*ismatuojame diodo itampas ir sroves.Optimizavimas vykdomas pagal*/ /*kvadratine paklaida. Optimizavimo programa apskaiciuoja*/ /*optimalius koeficientus ir juos istacius i VACH formule*/ /* gauname optimalia diodo charakteristika ir galime geriau*/ /* parinkti reikiama dioda.Programa dar gali buti tobulinama.Bet realiai*/ /*reikejo parinkti tik kelis diodus, tai programos patobulinimui*/ /*neliko laiko.Mano e-mail: dickas@yahoo.com*/ # include "fi.h" # include # include // # include # include # define tasku_sk 4 int number_of_variables =tasku_sk; double fi (const double *x, int n) { int i; double y[tasku_sk], value[tasku_sk],Ic[tasku_sk],Vbe[tasku_sk]; double norma; Vbe[0]=0.62,Vbe[1]=0.7,Vbe[2]=0.8,Vbe[3]=0.91; Ic[0]=0.0005,Ic[1]=0.008,Ic[2]=0.05,Ic[3]=0.2; for(i=0;i 0 - calculates all constaints ng < 0 - calculates only constraint with number (-ng) */ double x1 = x [0]; double x2 = x [1]; double x3 = x1 * x1; double x4 = x2 * x2; if (ng > 0) { g [0] = 25. - x3 - x4; g [1] = 10. * x1 - x3 + 10. * x2 - x4 - 34.; g [2] = x1; g [3] = x2; } else { ng = -ng; switch (ng) { case 1: g [0] = 25. - x3 - x4; break; case 2: g [1] = 10. * x1 - x3 + 10. * x2 - x4 - 34.; break; case 3: g [2] = x1; break; case 4: g [3] = x2; break; } } }