Biexponential fitting (non-linear regression)on Matlab
Afficher commentaires plus anciens
Hi,
I have a problem whereby I need to fit a biexponential model to some data. I'm quite new to Matlab and the code is currently beyond my skill set.
The equations I need to complete are below, any help would be greatly appreciated. The full reference of the paper is: Maciejewski, H., Bourdin, M., Lacour, J. R., Denis, C., Moyen, B., & Messonnier, L. (2013). Lactate accumulation in response to supramaximal exercise in rowers. Scandinavian journal of medicine & science in sports, 23(5), 585-592.

Regards,
Ashley
1 commentaire
Réponses (1)
Rik
le 22 Mar 2017
So you have a list of (La,t) combinations? With fittype you can tell Matlab what function it should fit to.
La0=La(t==0);
ft = fittype(sprintf('%e+A1*(1-exp(-gamma1*t))+A2*(1-exp(-gamma2*t))',La0),...
'independent','t','dependent', 'La' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Display = 'Off';
opts.Lower = [0 0 0 0];%lower bounds (A1, gamma1, A2, gamma2)
opts.StartPoint = [1 1 1 1];
[fitresult, gof] = fit( t, La, ft, opts );
PS I expect you will need the curve fitting toolbox to use these functions
PPS I expect there is a better way to tell Matlab to treat La0 as a value from the workspace, but this will work. Maybe generating an anonymous function would be more elegant.
1 commentaire
Ashley Richardson
le 22 Mar 2017
Catégories
En savoir plus sur Linear and Nonlinear Regression dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!