How to obtain complex solutions?

4 views (last 30 days)
Viraj Nistane
Viraj Nistane on 5 Jun 2014
Answered: Star Strider on 5 Jun 2014
I have some recorded data. I have plotted a curve of this data and I want to fit this data in the curve of the equation: T(p) = f^2 cos2(p) + f.h sin(2p) + h^2 sin2(p) + g^2 cos2(p) + g.k sin(2p) + k^2 sin2(p)
Here, the data is between T and p.
f, g, h and k are constants to be evaluated. The values of these constants are complex numbers. But I am getting only real values. Could somebody please help?
  1 Comment
Roger Wohlwend
Roger Wohlwend on 5 Jun 2014
Well, what can we do to help? Perhaps the solution is real and your expectation is wrong. Are you sure the constants shoud be complex?

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 5 Jun 2014
To the best of my knowledge, the solvers will only estimate real values. If you want to fit complex values, you have to be slightly deceptive.
In this situation, your complex parameters each become two parameters, a real an imaginary part. The fitting function ( nlinfit, lsqcurvefit ) sees, for instance f(1), f(2), while you would refer to them in your function as f = complex(f(1) f(2)), a single parameter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!