Bonjour à tous!
je viens vous demander un peu d'aide sur l'utilisation de la fonction datafit ( Scilab) pour effectuer un ajustement de données
je vous explique:
je dois effectuer un ajustement sur le modèle d'une somme d'exponentielle décroissante:
y=a*exp(-log(2)*t/b)+c*exp(-log(2)*t/d) où a,b,c et d sont les paramètres à déterminer.
Précédemment j'ai utilisé cette fonction pour faire un ajustement de données sur une exponentielle décroissance et tout à marcher (1 paramètre à déterminer).
je vous mets le code que j'utilise sous scilab.
Code :
- function f=FF(t), //fonction du modèle
- f=p(1)*exp(-log(2)*t/p(2))+p(3)*exp(-log(2)*t/p(4)),
- endfunction
- function er=Gr(p,z), //fonction erreur
- t=z(1),
- er=D(:,2)-FF(t),
- endfunction
- [p,err]=datafit(Gr,D1,[0.1;20000;0.1;30000]);
|
(ma matrice D1 représente mes mesures donc en première colonne les ordonnées et en 2e colonnes les temps)
Le problème que j'ai est que lorsque je fais appel à la fonction en mettant des paramètres initiaux et la fonction me ressort les mêmes paramètres sans avoir ajuster quoique ce soit ou bien parfois elle en ajuste 2 sur 4 mais bref ça ne tourne pas rond.
Pourriez vous m'aider pour déterminer ces paramètres et éventuellement me guider vers une autre solution du type lsqrsolve ou autre.
Amicalement vôtre Zigna! ![:hello: :hello:](https://forum-images.hardware.fr/icones/smilies/hello.gif)
Message édité par zigna le 27-06-2011 à 09:41:28
---------------
Crok'n'Sewce