MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Araz
on 19 Nov 2012

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

*No products are associated with this question.*

Answer by Michael
on 19 Nov 2012

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.

## 1 Comment

## Star Strider (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/54145#comment_112064

The value of

is complex. Do you want to fit thehandreal(h)components separately, or do you want to fitimag(h)?abs(h)I also see only

fiveparameters:[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 toRandwfit? Should they be in your equation also?