Non linear curve fitting by changing parameters
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi
Im trying to fitt two non linear curves to each other the red curve to the blue . I have tried the basic fitting method but it doesn't give me a good match.
In the equation h=... of my code by changing some parameters which is 2.41, 0.389, 0.3, 0.406, 0.06, 0.406 i should get the red curve to be fitted on blue curve.
The equation h in my code is :
h=sqrt(1+(2.41./(1-(0.389e-6./lambda).^2))+(0.3./((1-(0.406e-6./lambda).^2)+((1i.*0.06).*(0.406e-6./lambda))))); I have changed much the parameters but the curves doesn't fit.
What can i do to fit this two curves to each other by changing only thus six parameters?
Best Regards
댓글 수: 1
Star Strider
2012년 11월 19일
편집: Star Strider
2012년 11월 19일
The value of h is complex. Do you want to fit the real(h) and imag(h) components separately, or do you want to fit abs(h)?
I also see only five parameters: [2.41; 0.389E-006; 0.3; 0.406E-006; 0.06].
This post ‘fitting of two curves and 6 unknown parameters’ also seems to quote the same equation. How to R and w fit? Should they be in your equation also?
답변 (1개)
Michael
2012년 11월 19일
What is the blue curve? Usually a curve fitter algorithm requires a model (your h function) with specified parameter space (your six numbers), but also data to be fitted. Is the blue curve a set of (h,lambda) points?
In this format I'd suggest trying lsqcurvefit, you can specify your model h(lambda) in the argument, along with a starting point and your data.
참고 항목
카테고리
Help Center 및 File Exchange에서 Interpolation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!