![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/255811/image.png)
Solving a non linear least square of a sum function with two unknowns
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
i have a Chi-Square merit function with two unknown k1 and k2. Unfortunately, I don't know exactly which syntax to use to minimize this function in order to determine k1 and k2.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/255673/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/255674/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/255675/image.png)
Unfortunately, I am also relatively new with Matlab. I would be very happy about a step by step explanation. I have already found out that lsqnonlin can be used as a solver.
I appreciate your help. Thank you.
2 commentaires
Star Strider
le 18 Déc 2019
Note that lsqnonlin fits a function to data.
Do you have a matching vector for
?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/255811/image.png)
Réponse acceptée
Matt J
le 18 Déc 2019
Modifié(e) : Matt J
le 19 Déc 2019
It would look like this,
kInitial = __________; %initial guess of k
kOptimal = lsqnonlin(@(k) residual(k,am,bm,cm,g,ch,bh,ah) , kInitial); %do the optimization
function r=residual(k,am,bm,cm,g,ch,bh,ah)
k1=k(1); %extract k(i) into separate variables, for convenience
k2=k(2);
numerator=cm+bm*k2+am*k1; %calculate numerator expression for all m
denominator=ch+bh*k2+ah*k1; %calculate demonator expression for all m
r=numerator./denominator - g; %calculate the vector of residuals, for all m
end
3 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!