Bonjour,
J'ai une courbe de points expérimentaux (x,y) sur lesquels j'aimerais coller un modèle de courbe F dépendant de 4 paramètres: y=F(x,p1,p2,p3,p4). Par exemple F(x,p1,p2,p3,p4)=p1*x^3+p2*sin (x)+p3*x+p4. Je connais les vecteurs de points x et y, je cherche les p.
Je voudrais faire ça avec Matlab. Je sais qu'il y a des fonctions (genre lsqcurvefit) qui permettent de faire ça, mais j'aimerais:
1) pouvoir donner "plus d'importance" à certaines zones, donc par exemple fenêtrer l'erreur entre le modèle et la réalité à chaque itération pour que ce soit surtout l'erreur sur les zones importantes qui compte. Et ça je ne peux pas le faire avec lsqcurvefit
2) implémenter ça moi-même.
J'ai d'abord pensé à la méthode de Newton. Mais je vois 2 problèmes:
1) la méthode sert à minimiser une fonction. Ici je devrais donc tenter de minimiser l'erreur entre mon modèle et la réalité, mais du coup ce n'est plus une fonction, or avec la méthode de Newton il nous faut ensuite calculer analytiquement la dérivée de la fonction....
2) je sais utiliser cette méthode pour des fonctions à une variable (genre uniquement p1) mais pas quand il y en a 4... Genre comment est-ce que j'update les variables à chaque pas d'itération ?
Autre méthode possible: algorithme du gradient. Mais là aussi, comment résoudre cela avec une fonction à 4 variables au lieu d'une ?
En gros je suis un peu perdu :-S
Merci à quiconque pouvant m'aider un peu ou simplement me donner une piste.
-----