OVH Cloud OVH Cloud

Estimer les coefficients d'une fonction

1 réponse
Avatar
Rosebud
Salut à tous tout d'abord!
En quelques phrases voici ce que je cherche à faire:
J'ai une fonction f prenant plusieurs variables (une dizaine). Je connais
les valeurs de f(x) pour un certain nombre de ces variables mais pas les
coefficients de la fonction f. Je voudrai donc approximer cette fonction, par
la méthode des moindres carrés ou équivalent. Cependant je ne trouve pas
comment faire, pourriez vous m'aider?
Merci!
Quentin
qmichon@yahoo.fr

1 réponse

Avatar
Yvan
Bonjour Quentin!


J'ai une fonction f prenant plusieurs variables (une dizaine).
Je connais les valeurs de f(x) pour un certain nombre de ces variables


Plutot une variable et plusieurs points, non?


Je voudrai donc approximer cette fonction, par la méthode des moindres carrés


Celà suppose que tu aies déterminé un modèle (polynomial, exponentiel,
logarithmique, etc..). Si ce n'est déjà fait, il faut se fier à l'allure
générale de la courbe ou à la nature du processus qui a généré tes points à
analyser. Dans le doute, prends un modèle polynomial:

f(x) = a1 + a2 * x + a3 * (x puissance 2) + ........ + ap * (x puissance (p-1)).

Le but est maintenant de trouver les valeurs (a1, a2, ....., ap) qui vont
minimiser les écarts entre les points originaux et les points modélisés. Pour
celà, dans une feuille Excel, tu constitue un tableau de n lignes, 3 colonnes, n
étant le nombre de points connus disponibles. Dans chaque ligne, mets en 1ère
colonne la valeur de l'abcisse Xi, en deuxième colonne la valeur de l'ordonnée
Yi. La troisième colonne servira plus tard.

Ailleurs dans la feuille, tu constitues un tableau n lignes, p colonnes (à toi
de déterminer p en faisant des essais, mais p<n)


Dans ce tableau, pour chaque ligne i, mets 1 en première colonne, Xi en seconde
colonne, Xi au carré en troisième colonne, ... , X1 puissance (p-1) en colonne
p.

Tu nommes MATX ce tableau, et MATY l'ensemble des valeurs Yi (n valeurs dans la
seconde colonne du premier tableau).

Sélectionnes maintenant une plage de p lignes, 1 colonne qui contiendra les
valeurs (a1, a2,..., ap)

Tapes ou colles la formule:
=PRODUITMAT(INVERSEMAT(PRODUITMAT(TRANSPOSE(MATX);MATX));PRODUITMAT(TRANSPOSE(MATX);MATY))

et valides par CTRL + MAJ + ENTREE (validation matricielle) Nommes cette plage
MATA.

Il te reste maintenant à sélectionner la plage (n lignes, 1 colonne) à droite
des valeurs Yi et à taper ou coller la formule
=PRODUITMAT(MATX; MATA)

toujours à valider avec CTRL + MAJ + ENTREE.

Cette plage contient les valeurs approchées des Yi

un exemple ici: http://cjoint.com/data/mnlpZ4gSG5.htm (Faire F9 pour changer les
points de données)

Bon courage!

@+

Yvan