Solving misfit using both L1 and L2 norm
4 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I have observed data and a vector "Pmodel ", which I am calculating following one equation. Now I need to have L1 norm and L2-norm solution of the difference between the observed and calculated parameter. Below, I followed the logic. Am I correct in this sense, kindly suggest.
----------------------------------------------
for i=1:length(s)
for j=1:length(h)
P_Model=C-(2.*v.*m_h(j))-(m_s(i).*log(v)); %Model
P_Obs=data(:,1);
Error(i,j)=sqrt(sum( sum( ((P_Model-P_Obs)).^2 ) )) %misfit calculation with L2 norm
Error(i,j)=sum(abs(P_Model-P_Obs)) %misfit calculation with L1 norm
end
end
------------------------------------------------------------------------------------------------------------------
Answer will be highly appreciated. Kindly suggest alternative if this is not correct apporach.
Thanking you in anticipation.
6 件のコメント
Torsten
2022 年 6 月 21 日
Instead of searching for optimal s and h in a loop, use lsqcurvefit to fit your parameters (and minimize the error).
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Surrogate Optimization についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
