![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/255811/image.png)
Solving a non linear least square of a sum function with two unknowns
1 view (last 30 days)
Show older comments
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 Comments
Star Strider
on 18 Dec 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)
Accepted Answer
Matt J
on 18 Dec 2019
Edited: Matt J
on 19 Dec 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 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!