$$$$ LEVM NOTICE CHAT 11/09/12 21:17:01 7124 DATE 11/09/12 Operateur LEVM Voir aussi : EXCE MOCA -------------- AJUSTE LREE5 CHI2 = LEVM 'ABSC' LREE1 'ORDO' LREE2 'SIGM' LREE3 'PARA' LREE4 'PROC' PRO1 ; Objet : ------- L'operateur LEVM etablit la meilleure proposition d'un jeu de parametres d'une fonction visant a approcher une suite de points (abscisse, ordonnee) specifiee. Le critere est une moyenne quadratique ponderee des ecarts des ordonnees. L'algorithme reprend la methode dite de Levenberg-Marquardt. L'operateur n'est pas reinitialisee en cas d'interruption par l'utilisateur. Commentaire : _____________ LREE5 : type LISTREEL, liste des parametres proposes CHI2 : type FLOTTANT, valeur finale du critere LREE1 : type LISTREEL, liste des abscisses LREE2 : type LISTREEL, liste des ordonnees LREE3 : type LISTREEL, liste des poids de chacun des points LREE4 : type LISTREEL, liste des parametres d'initialisation (il convient de donner des reels non nuls dans l'ordre de grandeur des valeurs attendues) PRO1 : procedure gibiane de calcul des ordonnees et des derivees partielles en chacun des points de LREE1. Il convient de s'assurer d'une precision coherente pour le calcul des derivees partielles. Exemple de donnees : DEBPROC PRO2 LREEX*LISTREEL LREEA*LISTREEL ; * calcul de la fonction parametree * compute the parameters dependant function * LREEX : liste des abscisses / abscissas * LREEA : liste des parametres / parameters * LREEY : liste des ordonnees / ordinates FINPROC LREEY ; DEBPROC PRO1 LREEX*LISTREEL LREEA*LISTREEL ; * fonction argument * input procedure for LEVM * LREEX : liste des abscisses / abscissas * LREEA : liste des parametres / parameters * LREEY : liste des ordonnees / ordinates * calcul de LREEY LREEY = PRO2 LREEX LREEA ; * derivees partielles / partial derivatives TLRE = TABLE ; REPETER BPAR (DIME LREEA) ; ai = EXTR LREEA &BPAR ; LREEB = COPIE LREEA ; REMP LREEB &BPAR (ai * (1. + 1.e-2)) ; TLRE . &BPAR = PRO2 LREEX LREEB ; FIN BPAR ; * LREDY : derivees partielles / partial derivatives LREDY = PROG ; REPETER BX (DIME LREEX) ; REPETER BPAR (DIME LREEA) ; dyi = ((EXTR TLRE . &BPAR &BX) - (EXTR LREEY &BX) ) / 1.e-2 / (EXTR LREEA &BPAR) ; FIN BPAR ; FIN BX ; FINPROC LREEY LREDY ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales