Bonjour,

Dans le cadre d'une analyse de données expérimentales, je veux fitter une fonction assez simple. Pour l'instant, j'utilise lsqcurvefit et mon code est le suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
function y = modele(coef_initiaux,x)
    y = coef_initiaux(1)+coef_initiaux(2)*cos(x-coef_initiaux(3));
    y = y./y_erreur;
end
[coef,~,residual,~,~,~,J] = lsqcurvefit(@modele,coef_initiaux,x,y./y_erreur, limites_basses, limites_hautes);
coef_erreur = nlparci(coef,residual,'jacobian',J,'alpha',0.01);
Si je regarde la doc de nlparci, je lis :
ci = nlparci(beta,resid,'jacobian',J) is an alternative syntax that also computes 95% confidence intervals. J is the Jacobian computed by nlinfit. If the 'robust' option is used with nlinfit, use the 'covar' input rather than the 'jacobian' input so that the required sigma parameter takes the robust fitting into account.
Bon, je dois avouer que j'ai encore un peu de mal avec les calculs d'erreurs d'un fit. Mais est-ce que j'aurais quelque chose à gagner en utilisant nlinfit et l'option de fit rubuste à la place de lsqcurvefit puis en utilisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
coef_erreur = nlparci(coef,residual,'covar',sigma,'alpha',0.01);
A la place de ma dernière ligne ?

Seconde question, j'ai du mal à saisir les différences entre nlinfit et lsqcurvefit. Quelle sont-elles ?