Using lsqcurvefit with constant parameters
1 回表示 (過去 30 日間)
古いコメントを表示
Hi, I am trying to use lsqcurvefit to fit data to an interference function that I created. The problem is that some of the parameters in the function should remain constant through the fitting process (ie. the wavelength of the laser does not change etc...). I have seen some other stabs at this but none that were thorough and actually worked when I ran them. Here is some of my code so you know what I am talking about:
initials = [Aref,Aprobe,w0,z,lambda,phi,x0,y0];
fitfunc = @(initials,x) InterferePhase1(initials,X2);
fitparams = lsqcurvefit(fitfunc,initials, X2 ,imageArray,[], []);
Ideally, I should be able to run this fit and have my initial values for lambda, x0, and y0 stay the same after lsqcurvefit runs.
Let me know if you need any additional information!
Thanks for all your help!
0 件のコメント
採用された回答
Matt J
2014 年 7 月 24 日
編集済み: Matt J
2014 年 7 月 24 日
initials = [Aref,Aprobe,w0,z,phi];
fitfunc = @(p,pdata) InterferePhase1([p(1:4),lambda,p(5),x0,y0],pdata);
fitparams = lsqcurvefit(fitfunc,initials, X2 ,imageArray);
3 件のコメント
Matt J
2014 年 7 月 24 日
As you can see, though, my proposed fitfunc does pass 8 inputs to InterferePhase1 (that was the whole point). It embeds the 5 unknowns in an 8-vector which includes lambda, x0, and y0.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Systems of Nonlinear Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!