How to obtain complex solutions?
4 views (last 30 days)
Show older comments
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
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?
Answers (1)
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.
0 Comments
See Also
Categories
Find more on Least Squares in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!