![](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 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
Star Strider
2019 年 12 月 18 日
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)
採用された回答
Matt J
2019 年 12 月 18 日
編集済み: Matt J
2019 年 12 月 19 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!