About implementation of lsqnonlin
Afficher commentaires plus anciens
Hi
I have time-course data variable 'prodconcnumbers', size 18000X22 meaning 18000 data points for each of the 22 molecules in my model.
I have 30 parameters to be fit.
I invoke fitting using lsqnonlin as follows:
karbitraryvalues (My initial value parameters)=row vector of some 30 starting values.
lb and ub were again assigned bounds.
lsqnonlinoptions=optimset('Algorithm','Levenberg-Marquardt');
[kestimates,errorperspecies]= lsqnonlin(@lsqnonlin_fun, karbitraryvalues,lb,ub,lsqnonlinoptions);
So, first I built my objfunction as follows:
for eachspecies from 1 to 22
errorpermolecule(eachspecies)=prodconcnumbers(:,eachspecies)-estimatedconcnumbers(:,eachspecies);
end
So, in conclusion, my obj.function I want to minimize errorperspecies is of length 22 where as I have 30 parameters to b estimated using this lsqnonlin.
I am getting the following error:
??? Error using ==> lsqncommon at 102
Levenberg-Marquardt and Gauss-Newton algorithms do not handle bound constraints and trust-region-reflective algorithm requires at least as
many equations as variables; aborting.
What mistake am I doing? Appreciate your time and help.
2 commentaires
Matt J
le 11 Mai 2014
lsqcurvefit might be simpler here than lsqnonlin. Your data comparison is simple subtraction.
Matt J
le 12 Mai 2020
Abdelwahab Afifi's comment moved here:
How you define your objective function interms of the variables' vector of length 30 ?
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Support Vector Machine 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!