* fichier : ajuste1.dgibi ************************************************************************ ************************************************************************ graph = faux; option echo 0; * fichier : ajuste.;dgibi * exemple d'utilisation de la procedure AJUSTE * on cherche a identifier les parametres a,b,c,d de la fonctions * y = a * (log ( (b*x) + c) ) + (exp (d*x)) * * on part d'un jeu de couple yi = f(xi) * qui sont calcules pour a = 3 b=2 c=1 d=0.1 *les valeurs de xi sont : * 0.2 pas 0.1 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. * debproc FCT xtab*'TABLE' p*LISTREEL ; x = xtab . 1; tbfonc = 'TABLE'; tbfonc.'F' = 'TABLE'; tbfonc.'F' . 1 = log ( (b*x) + progc); tbfonc.'G' = exp (d*x); finproc tbfonc; debproc DERI xtab*'TABLE' p*LISTREEL; x = xtab . 1; tbderi = 'TABLE'; tbderi.'F' = table; tbderi.'G' = table; tbderi.'F' . 1 = 'TABLE'; tbderi.'F' . 2 = 'TABLE'; tbderi.'F' . 3 = 'TABLE'; tbderi . 'F' . 1 . 1 = x / ((b*x)+progc); tbderi . 'G' . 3 = x * (exp (d*x) ); finproc tbderi; finproc y; tab1 = table; xtab=table; xtab . 1=x; tab1.'X'=xtab; tab1.'F'=y; tab1.'K'=3; tab1.'L'=1; tab1.'MXTER'=150; tab1.'PMIN'=pmin; tab1.'PMAX'=pmax; tab1.'PRECISION'=prc; era = abs (( 3. - a ) / 3.); erb = abs (( 2. - b ) / 2.); erc = abs (( 1. - c ) / 1.); erd = abs (( 0.1 - d ) / 0.1); si (erma > 0.03) ; erreur 5; sinon; 'ERREUR' 0 ; finsi; si graph; finsi; fin;
© Cast3M 2003 - Tous droits réservés.
Mentions légales